blob: 55b963729de6fe434f66c4f5dbfb71757cd18806 [file] [log] [blame]
Akron80a84b22018-10-24 17:44:24 +02001use Mojo::Base -strict;
2use Test::Mojo;
3use Test::More;
4use Mojo::File qw/path/;
5
6
7#####################
8# Start Fake server #
9#####################
Akron63d963b2019-07-05 15:35:51 +020010my $mount_point = '/realapi/';
Akron80a84b22018-10-24 17:44:24 +020011$ENV{KALAMAR_API} = $mount_point;
12
13my $t = Test::Mojo->new('Kalamar');
14
15# Mount fake backend
16# Get the fixture path
Akron73f36082018-10-25 15:34:59 +020017my $fixtures_path = path(Mojo::File->new(__FILE__)->dirname, 'server');
Akron80a84b22018-10-24 17:44:24 +020018my $fake_backend = $t->app->plugin(
19 Mount => {
20 $mount_point =>
Akron73f36082018-10-25 15:34:59 +020021 $fixtures_path->child('mock.pl')
Akron80a84b22018-10-24 17:44:24 +020022 }
23);
24# Configure fake backend
25$fake_backend->pattern->defaults->{app}->log($t->app->log);
26
27# Query passed
28$t->get_ok('/corpus/GOE/AGI/00000')
29 ->status_is(200)
30 ->json_is('/document/fields/0/key', 'textSigle')
31 ->json_is('/document/fields/0/value', 'GOE/AGI/00000')
32 ;
33
34# Not found - should probably be 404
35$t->get_ok('/corpus/GOE/AGY/00000')
36 ->status_is(200)
37 ->json_is('/notifications/0/1', '630: Document not found')
38 ;
39
Akron4e413fb2023-09-26 13:11:11 +020040# Real example from NKJP
41$t->get_ok('/corpus/NKJP/NKJP/forumowisko.pl_57')
42 ->status_is(200)
43 ->json_like('/notifications/0/1', qr!^Unable to load!)
44 ;
45
46
Akron80a84b22018-10-24 17:44:24 +020047
48done_testing;
49__END__