From 3c3b40c618586c8cbc9cf62d162b6c08b82bf0c6 Mon Sep 17 00:00:00 2001 From: Mark Côté Date: Wed, 13 Jul 2016 17:16:01 -0400 Subject: 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. --- Bugzilla/User/APIKey.pm | 6 ++++++ 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; -- cgit v1.2.3-24-g4f1b