Bugzilla – Attachment 171887 Details for
Bug 37963
Improve error handling and testing of ERM eUsage SUSHI
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 37963: Case 1 - Add tests for invalid api key use case
Bug-37963-Case-1---Add-tests-for-invalid-api-key-u.patch (text/plain), 3.39 KB, created by
David Nind
on 2024-09-23 19:33:43 UTC
(
hide
)
Description:
Bug 37963: Case 1 - Add tests for invalid api key use case
Filename:
MIME Type:
Creator:
David Nind
Created:
2024-09-23 19:33:43 UTC
Size:
3.39 KB
patch
obsolete
>From 38a491f9050efa1f60e3994fec5c6d65326a7e78 Mon Sep 17 00:00:00 2001 >From: Pedro Amorim <pedro.amorim@ptfs-europe.com> >Date: Thu, 19 Sep 2024 13:45:59 +0000 >Subject: [PATCH] Bug 37963: Case 1 - Add tests for invalid api key use case > >Signed-off-by: David Nind <david@davidnind.com> >--- > .../Koha/BackgroundJob/ErmSushiHarvester.t | 59 ++++++++++++++++++- > 1 file changed, 58 insertions(+), 1 deletion(-) > >diff --git a/t/db_dependent/Koha/BackgroundJob/ErmSushiHarvester.t b/t/db_dependent/Koha/BackgroundJob/ErmSushiHarvester.t >index 150a642f66..614b5f8b0f 100755 >--- a/t/db_dependent/Koha/BackgroundJob/ErmSushiHarvester.t >+++ b/t/db_dependent/Koha/BackgroundJob/ErmSushiHarvester.t >@@ -17,22 +17,28 @@ > > use Modern::Perl; > >-use Test::More tests => 1; >+use Test::More tests => 2; > > use Koha::Database; > use Koha::BackgroundJobs; > use Koha::BackgroundJob::ErmSushiHarvester; > > use File::Basename qw( dirname ); >+use JSON qw( decode_json ); > use File::Slurp; > > use t::lib::Mocks; > use t::lib::TestBuilder; > use Test::MockModule; >+use Test::MockObject; > > my $schema = Koha::Database->new->schema; > my $builder = t::lib::TestBuilder->new; > >+my $sushi_response_errors = { >+ 'invalid_api_key' => '{"Code": 2020, "Severity": "Error", "Message": "API Key Invalid"}', >+}; >+ > subtest 'enqueue() tests' => sub { > > plan tests => 3; >@@ -60,3 +66,54 @@ subtest 'enqueue() tests' => sub { > > $schema->storage->txn_rollback; > }; >+ >+subtest 'invalid_api_key() tests' => sub { >+ >+ plan tests => 3; >+ >+ $schema->storage->txn_begin; >+ >+ my $ua = Test::MockModule->new('LWP::UserAgent'); >+ $ua->mock('simple_request', sub { >+ return mock_sushi_response({'error'=>'invalid_api_key', 'code'=>401}); >+ }); >+ >+ my $usage_data_provider = $builder->build_object( >+ { class => 'Koha::ERM::EUsage::UsageDataProviders', value => { name => 'TestProvider' } } ); >+ >+ my $job_args = { >+ ud_provider_id => $usage_data_provider->erm_usage_data_provider_id, >+ report_type => 'TR_J1', >+ begin_date => '2023-08-01', >+ end_date => '2023-09-30', >+ ud_provider_name => $usage_data_provider->name, >+ }; >+ >+ my $job_id = Koha::BackgroundJob::ErmSushiHarvester->new->enqueue($job_args); >+ my $job = Koha::BackgroundJobs->find($job_id)->_derived_class; >+ $job->process( $job_args ); >+ >+ is( $job->{messages}[0]->{message}, decode_json($sushi_response_errors->{invalid_api_key})->{Severity} . ' - ' . decode_json($sushi_response_errors->{invalid_api_key})->{Message},'SUSHI error invalid_date_arguments is stored on job messages correctly' ); >+ is( $job->{messages}[0]->{type},'error','SUSHI error invalid_date_arguments is stored on job messages correctly' ); >+ is( $job->{messages}[0]->{code},decode_json($sushi_response_errors->{invalid_api_key})->{Code},'SUSHI error invalid_date_arguments is stored on job messages correctly' ); >+ >+ $schema->storage->txn_rollback; >+}; >+ >+sub mock_sushi_response { >+ my ($args) = @_; >+ my $response = Test::MockObject->new(); >+ >+ $response->mock('code', sub { >+ return $args->{code} || 200; >+ }); >+ $response->mock('is_error', sub { >+ return 0; >+ }); >+ $response->mock('is_redirect', sub { >+ return 0; >+ }); >+ $response->mock('decoded_content', sub { >+ return $sushi_response_errors->{$args->{error}}; >+ }); >+} >\ No newline at end of file >-- >2.39.5
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 37963
:
171769
|
171770
|
171771
|
171772
|
171887
|
171888
|
171889
|
171890
|
172007
|
172008
|
172009
|
172010
|
172011