X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F03legacy_uri.t;h=efc63c9babfdd17737ec1ff49dd1007d3e050d77;hb=cc02cf5a840f9f104af48f466ce29e9cffe9be87;hp=7188367719388c523a8c7e36a54f616f4dfa4b91;hpb=2e79039ac58a36a4a5101486d16b744caab8db3d;p=catagits%2FGitalist.git diff --git a/t/03legacy_uri.t b/t/03legacy_uri.t index 7188367..efc63c9 100644 --- a/t/03legacy_uri.t +++ b/t/03legacy_uri.t @@ -1,21 +1,44 @@ #!/usr/bin/env perl -use strict; -use warnings; -use Test::More; use FindBin qw/$Bin/; - BEGIN { - $ENV{GITALIST_CONFIG} = $Bin; - use_ok 'Catalyst::Test', 'Gitalist' + my $env = "$FindBin::Bin/../script/env"; + if (-r $env) { + do $env or die $@; + } } +use lib "$Bin/lib"; +use TestGitalist qw/request curry_test_uri done_testing ok is $TODO/; + ok( request('/')->is_success, 'Request should succeed' ); +sub test { + my ($uri, $qs) = @_; + my $request = "/$uri"; + $request =~ s{/+}{/}g; + $request .= "?$qs" if defined $qs; + my $response = request($request); + $uri = $response->header('Location') || ''; + is($response->code, 301, "ok $request 301 to " . $uri) + or return $response; + $response = request($uri); + ok($response->is_success, "ok $uri"); + return $response; +} +# FIXME # URI tests for repo1 -local *test = curry_test_uri('repo1'); +#local *test = curry_test_uri('repo1'); +test('/', 'a=project_index'); +test('/', 'a=opml'); + +no warnings 'redefine'; +local *test = curry_test_uri('repo1', \&test); +test('/', 'a=project_index'); +test('/', 'a=opml'); test('/', 'a=summary'); test('/', 'a=heads'); +test('/', 'a=tags'); test('/', 'a=blob;f=dir1/file2;h=257cc5642cb1a054f08cc83f2d943e56fd3ebe99;hb=36c6c6708b8360d7023e8a1649c45bcf9b3bd818'); test('/', 'a=blob;f=dir1/file2;h=257cc5642cb1a054f08cc83f2d943e56fd3ebe99;hb=HEAD'); @@ -46,6 +69,7 @@ test('/', 'a=blob_plain;f=file1;hb=HEAD'); test('/', 'a=blob_plain;f=file1;hb=master'); test('/', 'a=blob_plain;f=file1;hb=refs/heads/master'); + test('/', 'a=blobdiff;f=file1;h=5716ca5987cbf97d6bb54920bea6adde242d87e6;hp=257cc5642cb1a054f08cc83f2d943e56fd3ebe99;hb=36c6c6708b8360d7023e8a1649c45bcf9b3bd818;hpb=3bc0634310b9c62222bb0e724c11ffdfb297b4ac'); test('/', 'a=blobdiff;f=file1;h=5716ca5987cbf97d6bb54920bea6adde242d87e6;hp=257cc5642cb1a054f08cc83f2d943e56fd3ebe99;hb=3f7567c7bdf7e7ebf410926493b92d398333116e;hpb=3bc0634310b9c62222bb0e724c11ffdfb297b4ac'); test('/', 'a=blobdiff;f=file1;h=5716ca5987cbf97d6bb54920bea6adde242d87e6;hp=257cc5642cb1a054f08cc83f2d943e56fd3ebe99;hb=HEAD;hpb=3bc0634310b9c62222bb0e724c11ffdfb297b4ac'); @@ -94,7 +118,6 @@ test('/', 'a=commitdiff_plain;h=master;hp=3f7567c7bdf7e7ebf410926493b92d39833311 test('/', 'a=commitdiff_plain;h=refs/heads/master'); test('/', 'a=commitdiff_plain;h=refs/heads/master;hp=3f7567c7bdf7e7ebf410926493b92d398333116e'); - test('/', 'a=history;f=dir1/file2;h=257cc5642cb1a054f08cc83f2d943e56fd3ebe99;hb=36c6c6708b8360d7023e8a1649c45bcf9b3bd818'); test('/', 'a=history;f=dir1/file2;h=257cc5642cb1a054f08cc83f2d943e56fd3ebe99;hb=HEAD'); test('/', 'a=history;f=dir1/file2;h=257cc5642cb1a054f08cc83f2d943e56fd3ebe99;hb=master'); @@ -198,7 +221,6 @@ test('/', 'a=tree;hb=HEAD'); test('/', 'a=tree;hb=master'); test('/', 'a=tree;hb=refs/heads/master'); - test('/', 'a=atom'); test('/', 'a=atom;f=dir1'); test('/', 'a=atom;f=dir1/file2'); @@ -214,38 +236,29 @@ test('/', 'a=atom;h=refs/heads/master'); test('/', 'a=atom;h=refs/heads/master;opt=--no-merges'); test('/', 'a=atom;opt=--no-merges'); -TODO: { - local $TODO = "Action: rss is not yet implemented."; - test('/', 'a=rss'); - test('/', 'a=rss;f=dir1'); - test('/', 'a=rss;f=dir1/file2'); - test('/', 'a=rss;f=dir1/file2;opt=--no-merges'); - test('/', 'a=rss;f=dir1;h=refs/heads/master'); - test('/', 'a=rss;f=dir1;h=refs/heads/master;opt=--no-merges'); - test('/', 'a=rss;f=dir1;opt=--no-merges'); - test('/', 'a=rss;f=file1'); - test('/', 'a=rss;f=file1;h=refs/heads/master'); - test('/', 'a=rss;f=file1;h=refs/heads/master;opt=--no-merges'); - test('/', 'a=rss;f=file1;opt=--no-merges'); - test('/', 'a=rss;h=refs/heads/master'); - test('/', 'a=rss;h=refs/heads/master;opt=--no-merges'); - test('/', 'a=rss;opt=--no-merges'); -} +test('/', 'a=rss'); +test('/', 'a=rss;f=dir1'); +test('/', 'a=rss;f=dir1/file2'); +test('/', 'a=rss;f=dir1/file2;opt=--no-merges'); +test('/', 'a=rss;f=dir1;h=refs/heads/master'); +test('/', 'a=rss;f=dir1;h=refs/heads/master;opt=--no-merges'); +test('/', 'a=rss;f=dir1;opt=--no-merges'); +test('/', 'a=rss;f=file1'); +test('/', 'a=rss;f=file1;h=refs/heads/master'); +test('/', 'a=rss;f=file1;h=refs/heads/master;opt=--no-merges'); +test('/', 'a=rss;f=file1;opt=--no-merges'); +test('/', 'a=rss;h=refs/heads/master'); +test('/', 'a=rss;h=refs/heads/master;opt=--no-merges'); +test('/', 'a=rss;opt=--no-merges'); -done_testing; +test('/', 'a=blame;f=dir1/file2;hb=36c6c6708b8360d7023e8a1649c45bcf9b3bd818'); +test('/', 'a=blame;f=file1;h=257cc5642cb1a054f08cc83f2d943e56fd3ebe99;hb=3bc0634310b9c62222bb0e724c11ffdfb297b4ac'); +test('/', 'a=blame;f=file1;h=5716ca5987cbf97d6bb54920bea6adde242d87e6;hb=36c6c6708b8360d7023e8a1649c45bcf9b3bd818'); +test('/', 'a=blame;f=file1;h=5716ca5987cbf97d6bb54920bea6adde242d87e6;hb=3f7567c7bdf7e7ebf410926493b92d398333116e'); +test('/', 'a=blame;f=file1;h=5716ca5987cbf97d6bb54920bea6adde242d87e6;hb=HEAD'); +test('/', 'a=blame;f=file1;h=5716ca5987cbf97d6bb54920bea6adde242d87e6;hb=master'); +test('/', 'a=blame;f=file1;h=5716ca5987cbf97d6bb54920bea6adde242d87e6;hb=refs/heads/master'); +test('/', 'a=blame;f=file1;hb=3bc0634310b9c62222bb0e724c11ffdfb297b4ac'); +test('/', 'a=blame;f=file1;hb=3f7567c7bdf7e7ebf410926493b92d398333116e'); -sub test_uri { - my ($p, $uri, $qs) = @_; - $qs ||= ''; - my $request = "$uri?p=repo1;$qs"; - my $response = request($request); - ok($response->is_success, "ok $request"); -} - -sub curry_test_uri { - my $p = shift; - sub { - my ($uri, $qs) = @_; - test_uri($p, $uri, $qs); - }; -}; +done_testing;