diff options
author | dklawren <dklawren@users.noreply.github.com> | 2018-09-07 12:04:50 +0200 |
---|---|---|
committer | Dylan William Hardison <dylan@hardison.net> | 2018-09-07 12:04:50 +0200 |
commit | 2e6e3e13587ee526ba94faabd5551e67508518f5 (patch) | |
tree | d54e6a7bf25c0545ef23e4854f70d5a55589b2a7 /extensions/Push/t | |
parent | a68b0d94e176d37e1381f38f235f760ca0a1001d (diff) | |
download | bugzilla-2e6e3e13587ee526ba94faabd5551e67508518f5.tar.gz bugzilla-2e6e3e13587ee526ba94faabd5551e67508518f5.tar.xz |
Bug 1488292 - Remove MozReview extension from BMO code tree as MozReview is being decommissioned
Diffstat (limited to 'extensions/Push/t')
-rw-r--r-- | extensions/Push/t/ReviewBoard.t | 225 |
1 files changed, 0 insertions, 225 deletions
diff --git a/extensions/Push/t/ReviewBoard.t b/extensions/Push/t/ReviewBoard.t deleted file mode 100644 index c752e34ef..000000000 --- a/extensions/Push/t/ReviewBoard.t +++ /dev/null @@ -1,225 +0,0 @@ -#!/usr/bin/perl -T -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# This Source Code Form is "Incompatible With Secondary Licenses", as -# defined by the Mozilla Public License, v. 2.0. -use strict; -use warnings; -use lib qw( . lib local/lib/perl5 ); - -use Test::More; -use Bugzilla; -use Bugzilla::Extension; -use Bugzilla::Attachment; -use Scalar::Util 'blessed'; - -BEGIN { - eval { - require Test::LWP::UserAgent; - require Test::MockObject; - }; - if ($@) { - plan skip_all => - 'Tests require Test::LWP::UserAgent and Test::MockObject'; - exit; - } -} - -BEGIN { - Bugzilla->extensions; # load all of them - use_ok 'Bugzilla::Extension::Push::Connector::ReviewBoard::Client'; - use_ok 'Bugzilla::Extension::Push::Constants'; -} - -my ($push) = grep { blessed($_) eq 'Bugzilla::Extension::Push' } @{Bugzilla->extensions }; -my $connectors = $push->_get_instance->connectors; -my $con = $connectors->by_name('ReviewBoard'); - -my $ua_204 = Test::LWP::UserAgent->new; -$ua_204->map_response( - qr{https://reviewboard-dev\.allizom\.org/api/review-requests/\d+}, - HTTP::Response->new('204')); - -my $ua_404 = Test::LWP::UserAgent->new; -$ua_404->map_response( - qr{https://reviewboard-dev\.allizom\.org/api/review-requests/\d+}, - HTTP::Response->new('404', undef, undef, q[{ "err": { "code": 100, "msg": "Object does not exist" }, "stat": "fail" }])); - -# forbidden -my $ua_403 = Test::LWP::UserAgent->new; -$ua_403->map_response( - qr{https://reviewboard-dev\.allizom\.org/api/review-requests/\d+}, - HTTP::Response->new('403', undef, undef, q[ {"err":{"code":101,"msg":"You don't have permission for this"},"stat":"fail"}])); - -# not logged in -my $ua_401 = Test::LWP::UserAgent->new; -$ua_401->map_response( - qr{https://reviewboard-dev\.allizom\.org/api/review-requests/\d+}, - HTTP::Response->new('401', undef, undef, q[ { "err": { "code": 103, "msg": "You are not logged in" }, "stat": "fail" } ])); - -# not logged in -my $ua_500 = Test::LWP::UserAgent->new; -$ua_500->map_response( - qr{https://reviewboard-dev\.allizom\.org/api/review-requests/\d+}, - HTTP::Response->new('500')); - -$con->client->{useragent} = $ua_204; -$con->config->{base_uri} = 'https://reviewboard-dev.allizom.org'; -$con->client->{base_uri} = 'https://reviewboard-dev.allizom.org'; - -{ - my $msg = message( - event => { - routing_key => 'attachment.modify:is_private', - target => 'attachment', - }, - attachment => { - is_private => 1, - content_type => 'text/plain', - bug => { id => 1, is_private => 0 }, - }, - ); - - ok(not($con->should_send($msg)), "text/plain message should not be sent"); -} - -my $data = slurp("extensions/Push/t/rblink.txt"); -Bugzilla::User::DEFAULT_USER->{userid} = 42; -Bugzilla->set_user(Bugzilla::User->super_user); -diag " " . Bugzilla::User->super_user->id; - -my $dbh = Bugzilla->dbh; -$dbh->bz_start_transaction; -my $timestamp = $dbh->selectrow_array('SELECT LOCALTIMESTAMP(0)'); -my $bug = Bugzilla::Bug->new({id => 9000}); -my $attachment = Bugzilla::Attachment->create({ - bug => $bug, - creation_ts => $timestamp, - data => $data, - attach_size => length($data), - description => "rblink.txt", - filename => "rblink.txt", - isprivate => 1, - ispatch => 0, - mimetype => 'text/x-review-board-request' -}); -diag "".$attachment->id; -$dbh->bz_commit_transaction; - -{ - my $msg = message( - event => { - routing_key => 'attachment.modify:cc,is_private', - target => 'attachment', - }, - attachment => { - id => $attachment->id, - is_private => 1, - content_type => 'text/x-review-board-request', - bug => { id => $bug->id, is_private => 0 }, - }, - ); - ok($con->should_send($msg), "rb attachment should be sent"); - - { - my ($rv, $err) = $con->send($msg); - is($rv, PUSH_RESULT_OK, "good push result"); - diag $err if $err; - } - - { - local $con->client->{useragent} = $ua_404; - my ($rv, $err) = $con->send($msg); - is($rv, PUSH_RESULT_OK, "good push result for 404"); - diag $err if $err; - } - - - { - local $con->client->{useragent} = $ua_403; - my ($rv, $err) = $con->send($msg); - is($rv, PUSH_RESULT_TRANSIENT, "transient error on 403"); - diag $err if $err; - } - - - { - local $con->client->{useragent} = $ua_401; - my ($rv, $err) = $con->send($msg); - is($rv, PUSH_RESULT_TRANSIENT, "transient error on 401"); - diag $err if $err; - } - - { - local $con->client->{useragent} = $ua_500; - my ($rv, $err) = $con->send($msg); - is($rv, PUSH_RESULT_TRANSIENT, "transient error on 500"); - diag $err if $err; - } -} - -{ - my $msg = message( - event => { - routing_key => 'bug.modify:is_private', - target => 'bug', - }, - bug => { - is_private => 1, - id => $bug->id, - }, - ); - - ok($con->should_send($msg), "rb attachment should be sent"); - my ($rv, $err) = $con->send($msg); - is($rv, PUSH_RESULT_OK, "good push result"); - - { - local $con->client->{useragent} = $ua_404; - my ($rv, $err) = $con->send($msg); - is($rv, PUSH_RESULT_OK, "good push result for 404"); - } - - { - local $con->client->{useragent} = $ua_403; - my ($rv, $err) = $con->send($msg); - is($rv, PUSH_RESULT_TRANSIENT, "transient error on 404"); - diag $err if $err; - } - - - { - local $con->client->{useragent} = $ua_401; - my ($rv, $err) = $con->send($msg); - is($rv, PUSH_RESULT_TRANSIENT, "transient error on 401"); - diag $err if $err; - } - - { - local $con->client->{useragent} = $ua_401; - my ($rv, $err) = $con->send($msg); - is($rv, PUSH_RESULT_TRANSIENT, "transient error on 401"); - diag $err if $err; - } -} - -sub message { - my $msg_data = { @_ }; - - return Test::MockObject->new - ->set_always( routing_key => $msg_data->{event}{routing_key} ) - ->set_always( payload_decoded => $msg_data ); -} - -sub slurp { - my $file = shift; - local $/ = undef; - open my $fh, '<', $file or die "unable to open $file"; - my $s = readline $fh; - close $fh; - return $s; -} - -done_testing; |