about summary refs log tree commit diff
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;
+
+