diff options
author | Ivan Kohler <ivan@freeside.biz> | 2015-07-26 15:41:26 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2015-07-26 15:41:26 -0700 |
commit | 9aee669886202be7035e6c6049fc71bc99dd3013 (patch) | |
tree | 2fd5bf6de74f3d99270587ffb1833e4188a6373d /rt/t/web/basic_auth.t | |
parent | ac20214d38d9af00430423f147b5a0e50751b050 (diff) | |
parent | 1add633372bdca3cc7163c2ce48363fed3984437 (diff) |
Merge branch 'master' of git.freeside.biz:/home/git/freeside
Diffstat (limited to 'rt/t/web/basic_auth.t')
-rw-r--r-- | rt/t/web/basic_auth.t | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/rt/t/web/basic_auth.t b/rt/t/web/basic_auth.t new file mode 100644 index 000000000..ff77f29f2 --- /dev/null +++ b/rt/t/web/basic_auth.t @@ -0,0 +1,34 @@ +use strict; +use warnings; +use RT; +use RT::Test tests => 9; + +RT->Config->Set( DevelMode => 0 ); +RT->Config->Set( WebRemoteUserAuth => 1 ); + +my ( $url, $m ) = RT::Test->started_ok( basic_auth => 1 ); + +# This tests the plack middleware, not RT +$m->get($url); +is($m->status, 401, "Initial request with no creds gets 401"); + +# This tests the plack middleware, not RT +$m->get($url, $m->auth_header( root => "wrong" )); +is($m->status, 401, "Request with wrong creds gets 401"); + +$m->get($url, $m->auth_header( root => "password" )); +is($m->status, 200, "Request with right creds gets 200"); + +$m->content_like( + qr{<span class="current-user">\Qroot\E</span>}i, + "Has user on the page" +); +$m->content_unlike(qr/Logout/i, "Has no logout button, no WebFallbackToRTLogin"); + +# Again, testing the plack middleware +$m->get($url); +is($m->status, 401, "Subsequent requests without credentials aren't still logged in"); + + +# Put the credentials back for the warnings check at the end +$m->auth( root => "password" ); |