X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fmodel_collectionofrepos.t;h=7e5dc5dee37f57c884c553d5876459ed9fad2de7;hb=8f7296d0b564f052d4b17dddbd553dc355b04f88;hp=ae1a6a9124b20c37f02de07b321fd90ea56b34c5;hpb=cce03a80183c94b16b411533e3744f9d03625634;p=catagits%2FGitalist.git diff --git a/t/model_collectionofrepos.t b/t/model_collectionofrepos.t index ae1a6a9..7e5dc5d 100644 --- a/t/model_collectionofrepos.t +++ b/t/model_collectionofrepos.t @@ -1,5 +1,11 @@ use FindBin qw/$Bin/; -BEGIN { do "$FindBin::Bin/../script/env" or die $@ } +BEGIN { + my $env = "$FindBin::Bin/../script/env"; + if (-r $env) { + do $env or die $@; + } +} + use strict; use warnings; @@ -15,7 +21,7 @@ use Catalyst::Request; use Catalyst::Response; use Catalyst::Utils; use Gitalist::Model::CollectionOfRepos; -use File::Temp qw/tempdir/; +use File::Temp qw/tempdir tempfile/; my $mock_ctx_meta = Class::MOP::Class->create_anon_class( superclasses => ['Moose::Object'] ); $mock_ctx_meta->add_attribute($_, accessor => $_, required => 1) for qw/request response/; @@ -90,6 +96,21 @@ throws_ok { Gitalist::Model::CollectionOfRepos->COMPONENT($ctx_gen->(), { repos { my $i = test_with_config({ repo_dir => "$FindBin::Bin/lib/repositories"}); is scalar($i->repositories->flatten), 3, 'Found 3 repos'; + isa_ok $i, 'Gitalist::Git::CollectionOfRepositories::FromDirectory'; +} + +{ + my $i = test_with_config({ repo_dir => "$FindBin::Bin/lib/repositories", search_recursively => 1 }); + is scalar($i->repositories->flatten), 7, 'Found 7 repos recursively using config'; + isa_ok $i, 'Gitalist::Git::CollectionOfRepositories::FromDirectoryRecursive'; +} + { + my($tempfh, $wl) = tempfile(UNLINK => 1); + print {$tempfh} "repo1"; + close $tempfh; + my $i = test_with_config({ repo_dir => "$FindBin::Bin/lib/repositories", whitelist => $wl }); + is scalar($i->repositories->flatten), 1, 'Found 1 repos using whitelist'; + isa_ok $i, 'Gitalist::Git::CollectionOfRepositories::FromDirectory::WhiteList'; } { @@ -99,6 +120,7 @@ throws_ok { Gitalist::Model::CollectionOfRepos->COMPONENT($ctx_gen->(), { repos "$FindBin::Bin/lib/repositories/nodescription", ]}); is scalar($i->repositories->flatten), 3, 'Found 3 repos'; + isa_ok $i, 'Gitalist::Git::CollectionOfRepositories::FromListOfDirectories'; } sub test_with_config {