Checking in changes prior to tagging of version 0.23. Changelog diff is:
[catagits/Catalyst-Plugin-Session.git] / t / live_verify_user_agent.t
diff --git a/t/live_verify_user_agent.t b/t/live_verify_user_agent.t
new file mode 100644 (file)
index 0000000..04b1fa5
--- /dev/null
@@ -0,0 +1,41 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Test::More;
+
+BEGIN {
+    eval { require Catalyst::Plugin::Session::State::Cookie; Catalyst::Plugin::Session::State::Cookie->VERSION(0.03) }
+      or plan skip_all =>
+      "Catalyst::Plugin::Session::State::Cookie 0.03 or higher is required for this test";
+
+    eval { require Test::WWW::Mechanize::Catalyst }
+      or plan skip_all =>
+      "Test::WWW::Mechanize::Catalyst is required for this test";
+
+    plan tests => 12;
+}
+
+use lib "t/lib";
+use Test::WWW::Mechanize::Catalyst "SessionTestApp";
+
+my $ua = Test::WWW::Mechanize::Catalyst->new( { agent => 'Initial user_agent'} );
+$ua->get_ok( "http://localhost/user_agent", "get initial user_agent" );
+$ua->content_contains( "UA=Initial user_agent", "test initial user_agent" );
+
+$ua->get_ok( "http://localhost/page", "initial get main page" );
+$ua->content_contains( "please login", "ua not logged in" );
+
+$ua->get_ok( "http://localhost/login", "log ua in" );
+$ua->content_contains( "logged in", "ua logged in" );
+
+$ua->get_ok( "http://localhost/page", "get main page" );
+$ua->content_contains( "you are logged in", "ua logged in" );
+
+$ua->agent('Changed user_agent');
+$ua->get_ok( "http://localhost/user_agent", "get changed user_agent" );
+$ua->content_contains( "UA=Changed user_agent", "test changed user_agent" );
+
+$ua->get_ok( "http://localhost/page", "test deleted session" );
+$ua->content_contains( "please login", "ua not logged in" );