summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Test/Util.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Bugzilla/Test/Util.pm')
-rw-r--r--Bugzilla/Test/Util.pm21
1 files changed, 20 insertions, 1 deletions
diff --git a/Bugzilla/Test/Util.pm b/Bugzilla/Test/Util.pm
index 8124c25ee..9fbc151f7 100644
--- a/Bugzilla/Test/Util.pm
+++ b/Bugzilla/Test/Util.pm
@@ -12,10 +12,12 @@ use strict;
use warnings;
use base qw(Exporter);
-our @EXPORT = qw(create_user issue_api_key);
+our @EXPORT = qw(create_user issue_api_key mock_useragent_tx);
use Bugzilla::User;
use Bugzilla::User::APIKey;
+use Mojo::Message::Response;
+use Test2::Tools::Mock qw(mock);
sub create_user {
my ($login, $password, %extra) = @_;
@@ -47,4 +49,21 @@ sub issue_api_key {
}
}
+sub _json_content_type { $_->headers->content_type('application/json') }
+
+sub mock_useragent_tx {
+ my ($body, $modify) = @_;
+ $modify //= \&_json_content_type;
+
+ my $res = Mojo::Message::Response->new;
+ $res->code(200);
+ $res->body($body);
+ if ($modify) {
+ local $_ = $res;
+ $modify->($res);
+ }
+
+ return mock({result => $res});
+}
+
1;