Bug 26250: Fix tests when SearchEngine=Elastic
[koha.git] / t / db_dependent / Koha_ExternalContent_OverDrive.t
1 #!/usr/bin/env perl
2
3 use Modern::Perl;
4
5 use Test::More;
6 use Test::MockModule;
7 use t::lib::Mocks;
8
9 use Module::Load::Conditional qw( can_load check_install );
10
11 BEGIN {
12     if ( check_install( module => 'WebService::ILS::OverDrive::Patron' ) ) {
13         plan tests => 6;
14     } else {
15         plan skip_all => "Need WebService::ILS::OverDrive::Patron"
16     }
17 }
18
19 use_ok('Koha::ExternalContent::OverDrive');
20
21 t::lib::Mocks::mock_preference('SessionStorage','tmp');
22
23 t::lib::Mocks::mock_preference('OverDriveClientKey', 'DUMMY');
24 t::lib::Mocks::mock_preference('OverDriveClientSecret', 'DUMMY');
25 t::lib::Mocks::mock_preference('OverDriveLibraryID', 'DUMMY');
26
27 my $client = Koha::ExternalContent::OverDrive->new({koha_session_id => 'DUMMY'});
28
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");
32
33 my $base_url = "http://mykoha.org";
34 ok ($client->auth_url($base_url), 'auth_url()');
35 local $@;
36 eval { $client->auth_by_code("blah", $base_url) };
37 ok($@, "auth_by_code() dies with bogus credentials");
38 SKIP: {
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");
43 }
44
45 subtest 'logger() tests' => sub {
46
47     plan tests => 2;
48
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' );
52 };