]> git.donarmstrong.com Git - debbugs.git/blobdiff - t/06_mail_handling.t
support testing merge/unmerge/forcemerge
[debbugs.git] / t / 06_mail_handling.t
index f83eabb9a84237e2e9fb7903ebc4ef1a919773e5..eb4f65699a3b9fa68465e0c06bea80bd990fb245 100644 (file)
@@ -1,7 +1,7 @@
 # -*- mode: cperl;-*-
 # $Id: 05_mail.t,v 1.1 2005/08/17 21:46:17 don Exp $
 
-use Test::More tests => 66;
+use Test::More tests => 96;
 
 use warnings;
 use strict;
@@ -125,6 +125,16 @@ my @control_commands =
                            status_key => 'severity',
                            status_value => 'wishlist',
                           },
+      reassign_bar => {command => 'reassign',
+                      value   => 'bar',
+                      status_key => 'package',
+                      status_value => 'bar',
+                     },
+      reassign_foo => {command => 'reassign',
+                      value   => 'foo',
+                      status_key => 'package',
+                      status_value => 'foo',
+                     },
       'found_1.0'        => {command => 'found',
                             value   => '1.0',
                             status_key => 'found_versions',
@@ -196,6 +206,47 @@ my @control_commands =
                       status_key => 'owner',
                       status_value => '',
                      },
+      clone        => {command => 'clone',
+                      value   => '-1',
+                      status_key => 'package',
+                      status_value => 'foo',
+                      bug          => '2',
+                     },
+      merge        => {command => 'merge',
+                      value   => '1 2',
+                      status_key => 'mergedwith',
+                      status_value => '2',
+                     },
+      unmerge      => {command => 'unmerge',
+                      value   => '',
+                      status_key => 'mergedwith',
+                      status_value => '',
+                     },
+      forcemerge   => {command => 'forcemerge',
+                      value   => '2',
+                      status_key => 'mergedwith',
+                      status_value => '2',
+                     },
+      summary      => {command => 'summary',
+                      value   => '5',
+                      status_key => 'summary',
+                      status_value => 'This is a silly bug',
+                     },
+      nosummary    => {command => 'summary',
+                      value   => '',
+                      status_key => 'summary',
+                      status_value => '',
+                     },
+      affects      => {command => 'affects',
+                      value   => 'foo',
+                      status_key => 'affects',
+                      status_value => 'foo',
+                     },
+      noaffects    => {command => 'affects',
+                      value   => '',
+                      status_key => 'affects',
+                      status_value => '',
+                     },
       close        => {command => 'close',
                       value   => '',
                       status_key => 'done',
@@ -228,6 +279,7 @@ while (my ($command,$control_command) = splice(@control_commands,0,2)) {
                              Subject => "Munging a bug with $command",
                             ],
                  body => <<EOF) or fail 'message to control@bugs.something failed';
+debug 10
 $control_command->{command} 1$control_command->{value}
 thanks
 EOF
@@ -240,10 +292,15 @@ EOF
        'control@bugs.something'. "$command message was parsed without errors");
      # now we need to check to make sure that the control message actually did anything
      my $status;
-     $status = read_bug(bug=>1,
+     $status = read_bug(exists $control_command->{bug}?(bug => $control_command->{bug}):(bug=>1),
                        exists $control_command->{location}?(location => $control_command->{location}):(),
                       );
-     is_deeply($status->{$control_command->{status_key}},$control_command->{status_value},"bug 1 $command")
+     is_deeply($status->{$control_command->{status_key}},
+              $control_command->{status_value},
+              "bug " .
+              (exists $control_command->{bug}?$control_command->{bug}:1).
+              " $command"
+             )
          or fail(Dumper($status));
 }
 
@@ -255,6 +312,7 @@ send_message(to => 'control@bugs.something',
                         Subject => "Munging a bug with unarchivearchive",
                        ],
             body => <<'EOF') or fail 'message to control@bugs.something failed';
+debug 10
 archive 1
 unarchive 1
 submitter 1 bar@baz.com