| package Kalamar::Plugin::Test; | 
 | use Mojo::Base 'Mojolicious::Plugin'; | 
 |  | 
 |  | 
 | sub register { | 
 |   my ($plugin, $app, $param) = @_; | 
 |  | 
 |   # Add entry to settings navigation | 
 |   $app->navi->add(settings => ( | 
 |     'OAuth Token Management', 'oauth' | 
 |   )); | 
 |  | 
 |   $app->routes->get('/settings/oauth')->to( | 
 |     cb => sub { | 
 |       my $c = shift; | 
 |       $c->res->headers->header('X-Robots' => 'noindex'); | 
 |       $c->content_with(settings => '<p id="abc">My Settings</p>'); | 
 |       return $c->render('settings'); | 
 |     } | 
 |   ); | 
 | }; | 
 |  | 
 | package main; | 
 | use Mojo::Base -strict; | 
 | use Test::More; | 
 | use Test::Mojo; | 
 | use Mojo::File qw/path/; | 
 |  | 
 |  | 
 | ##################### | 
 | # Start Fake server # | 
 | ##################### | 
 | my $mount_point = '/realapi/'; | 
 | $ENV{KALAMAR_API} = $mount_point; | 
 |  | 
 | my $t = Test::Mojo->new('Kalamar' => { | 
 |   Kalamar => { | 
 |     plugins => ['Test'] | 
 |   } | 
 | }); | 
 |  | 
 | # Mount fake backend | 
 | # Get the fixture path | 
 | my $fixtures_path = path(Mojo::File->new(__FILE__)->dirname, 'server'); | 
 | my $fake_backend = $t->app->plugin( | 
 |   Mount => { | 
 |     $mount_point => | 
 |       $fixtures_path->child('mock.pl') | 
 |   } | 
 | ); | 
 | # Configure fake backend | 
 | $fake_backend->pattern->defaults->{app}->log($t->app->log); | 
 |  | 
 | # Test robots meta tag | 
 |  | 
 | $t->get_ok('/') | 
 |   ->attr_is('meta[name=robots]', 'content', 'index,follow') | 
 |   ->header_isnt('X-Robots', 'noindex') | 
 |   ; | 
 |  | 
 | $t->get_ok('/doc/ql/poliqarp-plus') | 
 |   ->attr_is('meta[name=robots]', 'content', 'index,follow') | 
 |   ->header_isnt('X-Robots', 'noindex') | 
 |   ; | 
 |  | 
 | $t->get_ok('/corpus') | 
 |   ->status_is(200) | 
 |   ->header_is('X-Robots', 'noindex') | 
 |   ; | 
 |  | 
 | $t->get_ok('/corpus/WPD15/232/39681/p2133-2134?spans=false&foundry=*&_format=json') | 
 |   ->status_is(200) | 
 |   ->header_is('X-Robots', 'noindex') | 
 |   ; | 
 |  | 
 | $t->get_ok('/settings') | 
 |   ->attr_is('meta[name=robots]', 'content', 'noindex') | 
 |   ->header_is('X-Robots', 'noindex') | 
 |   ; | 
 |  | 
 | $t->get_ok('/?q=baum') | 
 |   ->status_is(200) | 
 |   ->text_is('#total-results', 51) | 
 |   ->attr_is('meta[name=robots]', 'content', 'noindex') | 
 |   ->header_is('X-Robots', 'noindex') | 
 |   ; | 
 |  | 
 | done_testing; |