X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F03legacy_uri.t;h=0319759718a5a9acfe7b1ae6687e083cf890204e;hb=24450117fd8f00b97c80a8f95b62d0c5955c4ead;hp=2e909bbc84c1d7bb96984e7ccc78bcdd222983ac;hpb=77730637cfd57f0e438643ed9f9aab53f307c741;p=catagits%2FGitalist.git diff --git a/t/03legacy_uri.t b/t/03legacy_uri.t index 2e909bb..0319759 100644 --- a/t/03legacy_uri.t +++ b/t/03legacy_uri.t @@ -1,21 +1,37 @@ #!/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' -} +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 +62,11 @@ 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'); + +{ + + local $TODO = 'FIXME'; + 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'); @@ -158,19 +179,16 @@ test('/', 'a=shortlog;h=HEAD'); test('/', 'a=shortlog;h=master'); test('/', 'a=shortlog;h=refs/heads/master'); -TODO: { - local $TODO = "Action: snapshot is not yet implemented."; - test('/', 'a=snapshot;h=145dc3ef5d307be84cb9b325d70bd08aeed0eceb;sf=tgz'); - test('/', 'a=snapshot;h=36c6c6708b8360d7023e8a1649c45bcf9b3bd818;sf=tgz'); - test('/', 'a=snapshot;h=3bc0634310b9c62222bb0e724c11ffdfb297b4ac;sf=tgz'); - test('/', 'a=snapshot;h=3f7567c7bdf7e7ebf410926493b92d398333116e;sf=tgz'); - test('/', 'a=snapshot;h=729a7c3f6ba5453b42d16a43692205f67fb23bc1;sf=tgz'); - test('/', 'a=snapshot;h=82b5fee28277349b6d46beff5fdf6a7152347ba0;sf=tgz'); - test('/', 'a=snapshot;h=9062594aebb5df0de7fb92413f17a9eced196c22;sf=tgz'); - test('/', 'a=snapshot;h=HEAD;sf=tgz'); - test('/', 'a=snapshot;h=master;sf=tgz'); - test('/', 'a=snapshot;h=refs/heads/master;sf=tgz'); -} +test('/', 'a=snapshot;h=145dc3ef5d307be84cb9b325d70bd08aeed0eceb;sf=tgz'); +test('/', 'a=snapshot;h=36c6c6708b8360d7023e8a1649c45bcf9b3bd818;sf=tgz'); +test('/', 'a=snapshot;h=3bc0634310b9c62222bb0e724c11ffdfb297b4ac;sf=tgz'); +test('/', 'a=snapshot;h=3f7567c7bdf7e7ebf410926493b92d398333116e;sf=tgz'); +test('/', 'a=snapshot;h=729a7c3f6ba5453b42d16a43692205f67fb23bc1;sf=tgz'); +test('/', 'a=snapshot;h=82b5fee28277349b6d46beff5fdf6a7152347ba0;sf=tgz'); +test('/', 'a=snapshot;h=9062594aebb5df0de7fb92413f17a9eced196c22;sf=tgz'); +test('/', 'a=snapshot;h=HEAD;sf=tgz'); +test('/', 'a=snapshot;h=master;sf=tgz'); +test('/', 'a=snapshot;h=refs/heads/master;sf=tgz'); test('/', 'a=tree'); test('/', 'a=tree;f=dir1;h=729a7c3f6ba5453b42d16a43692205f67fb23bc1;hb=36c6c6708b8360d7023e8a1649c45bcf9b3bd818'); @@ -232,53 +250,17 @@ test('/', 'a=rss;h=refs/heads/master'); test('/', 'a=rss;h=refs/heads/master;opt=--no-merges'); test('/', 'a=rss;opt=--no-merges'); -TODO: { - local $TODO = 'The project_index action is yet to be implemented'; - test('/', 'a=project_index'); -} -TODO: { - local $TODO = 'The opml action is yet to be implemented'; - test('/', 'a=opml'); -} -TODO: { - local $TODO = 'The tags action is yet to be implemented'; - test('/', 'a=tags'); -} -TODO: { - local $TODO = 'The blame action is yet to be implemented'; +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'); - test('/', 'a=blame;f=dir1/file2;h=257cc5642cb1a054f08cc83f2d943e56fd3ebe99;hb=36c6c6708b8360d7023e8a1649c45bcf9b3bd818'); - test('/', 'a=blame;f=dir1/file2;h=257cc5642cb1a054f08cc83f2d943e56fd3ebe99;hb=HEAD'); - test('/', 'a=blame;f=dir1/file2;h=257cc5642cb1a054f08cc83f2d943e56fd3ebe99;hb=master'); - test('/', 'a=blame;f=dir1/file2;h=257cc5642cb1a054f08cc83f2d943e56fd3ebe99;hb=refs/heads/master'); - test('/', 'a=blame;f=dir1/file2;hb=36c6c6708b8360d7023e8a1649c45bcf9b3bd818'); - test('/', 'a=blame;f=file1;h=257cc5642cb1a054f08cc83f2d943e56fd3ebe99'); - test('/', 'a=blame;f=file1;h=257cc5642cb1a054f08cc83f2d943e56fd3ebe99;hb=257cc5642cb1a054f08cc83f2d943e56fd3ebe99'); - 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=5716ca5987cbf97d6bb54920bea6adde242d87e6'); - 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'); } done_testing; -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); - }; -};