diff options
Diffstat (limited to 't')
-rw-r--r-- | t/005_builder.t | 27 | ||||
-rw-r--r-- | t/006_emailer.t | 4 | ||||
-rw-r--r-- | t/data/test.yml | 17 | ||||
-rw-r--r-- | t/lib/jitterbug/Test.pm | 13 |
4 files changed, 55 insertions, 6 deletions
diff --git a/t/005_builder.t b/t/005_builder.t index 84e13ef..c1b92d7 100644 --- a/t/005_builder.t +++ b/t/005_builder.t @@ -4,6 +4,8 @@ use warnings; use Test::Most tests => 9; use Data::Dumper; +use lib 't/lib'; +use jitterbug::Test; use jitterbug::Builder; { @@ -32,6 +34,7 @@ use jitterbug::Builder; is($b->{'configfile'}, 't/data/test.yml'); is($b->run, 0, '->run returns 0 in cron mode'); + cmp_deeply($b->{'conf'}, { 'engines' => { 'xslate' => { @@ -44,7 +47,7 @@ use jitterbug::Builder; 'DBIC' => { 'schema' => { 'connect_info' => [ - 'dbi:SQLite:dbname=jitterbug.db' + 'dbi:SQLite:dbname=t/data/jitterbug.db' ], 'pckg' => 'jitterbug::Schema', 'skip_automake' => '1' @@ -54,7 +57,19 @@ use jitterbug::Builder; 'jitterbug' => { 'build_process' => { 'on_failure' => './scripts/build-failed.sh', - 'builder' => './scripts/capsule.sh' + 'builder' => './scripts/capsule.sh', + 'builder_variables' => 'STUFF=BLAH', + 'on_pass_header' => undef, + 'on_failure_subject_prefix' => '[jitterbug] FAIL ', + 'on_failure_from_email' => 'donotreply@example.com', + 'on_failure_footer' => undef, + 'on_failure_header' => undef, + 'on_pass_footer' => undef, + 'on_pass_cc_email' => 'alice@example.com', + 'on_pass_from_email' => 'donotreply@example.com', + 'on_failure_cc_email' => 'alice@example.com', + 'on_pass' => './scripts/build-pass.sh', + 'on_pass_subject_prefix' => '[jitterbug] PASS ' }, 'builder' => {}, 'reports' => { @@ -62,13 +77,19 @@ use jitterbug::Builder; }, 'build' => { 'dir' => '/tmp/build' - } + }, + 'options' => { + 'email_on_pass' => '0', + 'perlbrew' => '1' + }, + }, 'template' => 'xslate', 'appname' => 'jitterbug', 'layout' => 'main', 'logger' => 'file', 'builds_per_feed' => '5' + }); diff --git a/t/006_emailer.t b/t/006_emailer.t index 44dd328..297644c 100644 --- a/t/006_emailer.t +++ b/t/006_emailer.t @@ -33,7 +33,7 @@ sub setup { { my ($conf, $commit, $project, $task) = setup(); my $tap = "THIS IS TAP"; - my $e = jitterbug::Emailer->new($conf, $task, $tap); + my $e = jitterbug::Emailer->new($conf, $task, $tap, 'failure'); isa_ok($e,'jitterbug::Emailer'); can_ok($e,qw/new run/); @@ -89,7 +89,7 @@ Failed 1/11 test programs. 1/2498 subtests failed. Files=11, Tests=2498, 3 wallclock secs ( 0.20 usr 0.04 sys + 2.99 cusr 0.18 csys = 3.41 CPU) Result: FAIL TAP - my $e = jitterbug::Emailer->new($conf, $task, $tap); + my $e = jitterbug::Emailer->new($conf, $task, $tap, 'failure'); $e->run; my $email = $e->{'last_email_sent'}{'email'}; my $body = <<EMAIL; diff --git a/t/data/test.yml b/t/data/test.yml index e4144c3..897b734 100644 --- a/t/data/test.yml +++ b/t/data/test.yml @@ -17,7 +17,22 @@ jitterbug: dir: /tmp/build build_process: builder: ./scripts/capsule.sh + builder_variables: STUFF=BLAH on_failure: ./scripts/build-failed.sh + on_failure_cc_email: alice@example.com + on_failure_from_email: donotreply@example.com + on_failure_subject_prefix: "[jitterbug] FAIL " + on_failure_header: + on_failure_footer: + on_pass: ./scripts/build-pass.sh + on_pass_cc_email: alice@example.com + on_pass_subject_prefix: "[jitterbug] PASS " + on_pass_from_email: donotreply@example.com + on_pass_header: + on_pass_footer: + options: + perlbrew: 1 + email_on_pass: 0 plugins: DBIC: @@ -25,6 +40,6 @@ plugins: skip_automake: 1 pckg: "jitterbug::Schema" connect_info: - - dbi:SQLite:dbname=jitterbug.db + - dbi:SQLite:dbname=t/data/jitterbug.db diff --git a/t/lib/jitterbug/Test.pm b/t/lib/jitterbug/Test.pm new file mode 100644 index 0000000..36ee769 --- /dev/null +++ b/t/lib/jitterbug/Test.pm @@ -0,0 +1,13 @@ +package jitterbug::Test; +use strict; +use warnings; +use FindBin qw($Bin); + +BEGIN{ + qx{$^X -Ilib $Bin/../scripts/deploy_schema $Bin/data/test.yml} + unless -r qq{$Bin/data/jitterbug.db}; +}; + +1; + + |