summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
Diffstat (limited to 't')
-rw-r--r--t/005_builder.t27
-rw-r--r--t/006_emailer.t4
-rw-r--r--t/data/test.yml17
-rw-r--r--t/lib/jitterbug/Test.pm13
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;
+
+