Bug 18977: Rollback branch in t/db_dependent/SIP/Message.t
[koha.git] / t / Koha_ExternalContent_OverDrive.t
1 use Modern::Perl;
2
3 use t::lib::Mocks;
4 use Test::More tests => 5;                      # last test to print
5
6 use Module::Load::Conditional qw( can_load );
7
8 SKIP: {
9     skip "cannot find WebService::ILS::OverDrive::Patron", 5
10       unless can_load( modules => { 'WebService::ILS::OverDrive::Patron' => undef } );
11
12     use_ok('Koha::ExternalContent::OverDrive');
13
14     t::lib::Mocks::mock_preference('OverDriveClientKey', 'DUMMY');
15     t::lib::Mocks::mock_preference('OverDriveClientSecret', 'DUMMY');
16     t::lib::Mocks::mock_preference('OverDriveLibraryID', 'DUMMY');
17
18     my $client = Koha::ExternalContent::OverDrive->new({koha_session_id => 'DUMMY'});
19
20     my $user_agent_string = $client->user_agent->agent();
21     ok ($user_agent_string =~ m/^Koha/, 'User Agent string is set')
22       or diag("User Agent string: $user_agent_string");
23
24     my $base_url = "http://mykoha.org";
25     ok ($client->auth_url($base_url), 'auth_url()');
26     local $@;
27     eval { $client->auth_by_code("blah", $base_url) };
28     ok($@, "auth_by_code() dies with bogus credentials");
29     SKIP: {
30         skip "No exception", 1 unless $@;
31         my $error_message = $client->error_message($@);
32         ok($error_message =~ m/Authorization Failed/i, "error_message()")
33           or diag("Original:\n$@\nTurned into:\n$error_message");
34     }
35 }