summaryrefslogtreecommitdiff
path: root/t/008_git_clone.t
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--t/008_git_clone.t55
1 files changed, 55 insertions, 0 deletions
diff --git a/t/008_git_clone.t b/t/008_git_clone.t
new file mode 100644
index 0000000..c4935ce
--- /dev/null
+++ b/t/008_git_clone.t
@@ -0,0 +1,55 @@
+use Test::More tests => 3;
+use Test::Exception;
+use strict;
+use warnings;
+use autodie qw/:all/;
+use IPC::Cmd qw/can_run/;
+
+use jitterbug;
+use jitterbug::Schema;
+use lib 't/lib';
+use jitterbug::Test;
+
+use JSON;
+use YAML qw/LoadFile Dump/;
+
+use File::Spec;
+use File::Temp qw/tempdir/;
+
+use Dancer::Test;
+use Dancer::Config qw/setting/;
+use File::Spec::Functions;
+use File::Copy::Recursive qw/dircopy/;
+my $hook_data = catfile(qw/t data hook_data.yml/);
+
+my $content = LoadFile($hook_data);
+
+my $db_dir = tempdir( CLEANUP => 1 );
+my $db_file = File::Spec->catfile( $db_dir, 'jitterbug.db' );
+my $dsn = 'dbi:SQLite:dbname=' . $db_file;
+my $schema = jitterbug::Schema->connect($dsn);
+$schema->deploy;
+
+setting plugins => {
+ DBIC => {
+ schema => {
+ skip_automake => 1,
+ pckg => "jitterbug::Schema",
+ connect_info => [$dsn]
+ }
+ }
+};
+
+if (can_run('git')){
+
+ my $gitrepo = "t/data/testing";
+ dircopy "$gitrepo/._git_", "$gitrepo/.git" unless -e "$gitrepo/.git";
+
+ lives_ok sub { system("$^X scripts/post_to_hook.pl") }, 'post_to_hook.pl lives';
+
+ lives_ok sub { system("$^X scripts/builder.pl -c t/data/test.yml -C") }, 'builder.pl lives';
+
+ ok(-e "t/tmp/build/testing/.git", 'found a testing git repo');
+} else {
+ skip "Git not available, skipping tests", 3;
+}