X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fmodel_collectionofrepos.t;h=ff9b4715830ce37f3717a33d2bee8d9de62ab920;hb=6b21a3dc638885376b17409bcf69bad6f215d5bf;hp=e847c33af7574f53bd6446ae7f58e2223fd95077;hpb=7bf1a6f5b5a0f73770455e4acbd88982451fde5c;p=catagits%2FGitalist.git diff --git a/t/model_collectionofrepos.t b/t/model_collectionofrepos.t index e847c33..ff9b471 100644 --- a/t/model_collectionofrepos.t +++ b/t/model_collectionofrepos.t @@ -1,3 +1,11 @@ +use FindBin qw/$Bin/; +BEGIN { + my $env = "$FindBin::Bin/../script/env"; + if (-r $env) { + do $env or die $@; + } +} + use strict; use warnings; @@ -13,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/; @@ -87,7 +95,22 @@ 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'; + is scalar($i->repositories->flatten), 3, 'Found 6 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 6 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'; } { @@ -97,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 {