diff options
author | Mark Côté <mcote@alumni.uwaterloo.ca> | 2016-07-13 23:16:01 +0200 |
---|---|---|
committer | Mark Côté <mcote@alumni.uwaterloo.ca> | 2016-07-13 23:16:01 +0200 |
commit | 3c3b40c618586c8cbc9cf62d162b6c08b82bf0c6 (patch) | |
tree | 26871ec618cfb39af2675567920062221c74ce21 | |
parent | 20af085df8330dd40652d25f7542317ca4212ef2 (diff) | |
download | bugzilla-3c3b40c618586c8cbc9cf62d162b6c08b82bf0c6.tar.gz bugzilla-3c3b40c618586c8cbc9cf62d162b6c08b82bf0c6.tar.xz |
Bug 1286650 - Add option to scripts/issue-api-key.pl to specify an API key explicitly. r=dylan
This is useful for testing, so we don't have to store a randomly generated
key for the duration of the test; instead we can hardcode one in the tests.
-rw-r--r-- | Bugzilla/User/APIKey.pm | 6 | ||||
-rwxr-xr-x | scripts/issue-api-key.pl | 11 |
2 files changed, 15 insertions, 2 deletions
diff --git a/Bugzilla/User/APIKey.pm b/Bugzilla/User/APIKey.pm index d89203e68..500f0ad59 100644 --- a/Bugzilla/User/APIKey.pm +++ b/Bugzilla/User/APIKey.pm @@ -88,6 +88,12 @@ sub _check_app_id { return $app_id; } + +sub create_special { + my ($class, @args) = @_; + local VALIDATORS->{api_key} = sub { return $_[1] }; + return $class->create(@args); +} 1; __END__ diff --git a/scripts/issue-api-key.pl b/scripts/issue-api-key.pl index 35abb9200..334cddeaa 100755 --- a/scripts/issue-api-key.pl +++ b/scripts/issue-api-key.pl @@ -22,19 +22,26 @@ use Bugzilla::User::APIKey; Bugzilla->usage_mode(USAGE_MODE_CMDLINE); my $login = shift - or die "syntax: $0 bugzilla-login [description]\n"; + or die "syntax: $0 bugzilla-login [description] [api key]\n"; my $description = shift; +my $given_api_key = shift; +my $api_key; my $user = Bugzilla::User->check({ name => $login }); my $params = { user_id => $user->id, description => $description, + api_key => $given_api_key, }; if ($description && $description eq 'mozreview') { $params->{app_id} = Bugzilla->params->{mozreview_app_id} // ''; } -my $api_key = Bugzilla::User::APIKey->create($params); +if ($given_api_key) { + $api_key = Bugzilla::User::APIKey->create_special($params); +} else { + $api_key = Bugzilla::User::APIKey->create($params); +} say $api_key->api_key; |