blob: 072d6f55aa2a5670fd439512fe6b01364461bc26 [file] [log] [blame]
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;