9 use Module
::Load
::Conditional
qw( can_load check_install );
12 if ( check_install
( module
=> 'WebService::ILS::OverDrive::Patron' ) ) {
15 plan skip_all
=> "Need WebService::ILS::OverDrive::Patron"
19 use_ok
('Koha::ExternalContent::OverDrive');
21 t
::lib
::Mocks
::mock_preference
('SessionStorage','tmp');
23 t
::lib
::Mocks
::mock_preference
('OverDriveClientKey', 'DUMMY');
24 t
::lib
::Mocks
::mock_preference
('OverDriveClientSecret', 'DUMMY');
25 t
::lib
::Mocks
::mock_preference
('OverDriveLibraryID', 'DUMMY');
27 my $client = Koha
::ExternalContent
::OverDrive
->new({koha_session_id
=> 'DUMMY'});
29 my $user_agent_string = $client->user_agent->agent();
30 ok
($user_agent_string =~ m/^Koha/, 'User Agent string is set')
31 or diag
("User Agent string: $user_agent_string");
33 my $base_url = "http://mykoha.org";
34 ok
($client->auth_url($base_url), 'auth_url()');
36 eval { $client->auth_by_code("blah", $base_url) };
37 ok
($@
, "auth_by_code() dies with bogus credentials");
39 skip
"No exception", 1 unless $@
;
40 my $error_message = $client->error_message($@
);
41 ok
($error_message =~ m/Authorization Failed/i, "error_message()")
42 or diag
("Original:\n$@\nTurned into:\n$error_message");
45 subtest
'logger() tests' => sub {
49 my $external_content = Koha
::ExternalContent
::OverDrive
->new({koha_session_id
=> 'DUMMY'});
50 ok
( $external_content->can('logger'), 'A Koha::ExternalContent object has a logger accessor' );
51 is
( ref($external_content->logger), 'Koha::Logger', 'The accessor return the right object type' );