]> xenbits.xensource.com Git - people/aperard/emesinae.git/commitdiff
Bug.pm: Add accessor methods for all fields
authorIan Campbell <ian.campbell@citrix.com>
Wed, 29 May 2013 10:18:39 +0000 (11:18 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Wed, 29 May 2013 11:18:47 +0000 (12:18 +0100)
This consolidates all knowledge about db column names within the Bug module.

Also add a sanity check on the specified severity (and a test to match)

Emesinae/Bug.pm
config/examples/test/control.11.test [new file with mode: 0644]
config/examples/test/test.sh
scripts/control.pl

index 21decc999473dcded282578e77449c8699abe41f..28e4b0691331d01e1d5dbeffaf48b24bbbb05fcf 100644 (file)
@@ -82,7 +82,7 @@ sub create {
     return $self;
 }
 
-sub set {
+sub _set {
     my $self = shift;
     my ( $field, $value ) = @_;
 
@@ -99,6 +99,29 @@ sub set {
     $self->{$field} = $value;
 }
 
+sub set_title {
+    my $self = shift;
+    my $title = shift;
+
+    $self->_set("title", $title);
+}
+
+sub set_owner {
+    my $self = shift;
+    my $owner = shift;
+
+    $self->_set("owner", $owner);
+}
+
+sub set_severity {
+    my $self = shift;
+    my $sev = shift;
+
+    assert_valid_severity($sev);
+
+    $self->_set("severity", $sev);
+}
+
 sub set_status {
     my $self = shift;
     my $open = shift;
diff --git a/config/examples/test/control.11.test b/config/examples/test/control.11.test
new file mode 100644 (file)
index 0000000..ea1e2b7
--- /dev/null
@@ -0,0 +1,9 @@
+From: Ian Campbell <IJC@heLlion.org.uk>
+Subject: Invalid severity
+Message-id: <control.11.test@emesinae.example.com>
+To: emesinae-test@list.example.com
+Cc: ijc@hellion.org.uk, test-control@bugs.xenproject.org
+
+create !
+severity -1 spork
+thanks
index 26acc0b07e96a6a37c3493efa0cf2a7717e739bb..8cb0b548e25c33cb2a60dcae3082dec5a4377594 100755 (executable)
@@ -9,7 +9,7 @@ usage()
 if [ $# -ne 1 ] ; then usage; fi
 
 
-mode=${1:-both}
+mode=${1:-test}
 case "$mode" in
     corpus|test|both) ;;
     *) usage;;
index 702ca6f2e55c450d1834409337588ab3d5b403b8..53ac69033c52b9013e15447e93fa2b16b5f653bf 100755 (executable)
@@ -263,7 +263,7 @@ sub cmd_title ($) {
     m/^(${MATCH_BUGID})\s+(.*)/ or die "Cannot parse arguments";
     my $b = lookup_bugid $1;
     push @reply, "Set title for #" . $b->{id} . " to `$2'";
-    $b->set( "title", $2 );
+    $b->set_title( $2 );
     return 1;
 }
 
@@ -273,7 +273,7 @@ sub cmd_owner ($) {
     my $b = lookup_bugid $1;
     my $o = parse_address $2;
     push @reply, "Change owner for #" . $b->{id} . " to `$o'";
-    $b->set( "owner", $o );
+    $b->set_owner( $o );
     return 1;
 }
 
@@ -282,7 +282,7 @@ sub cmd_severity ($) {
     m/^(${MATCH_BUGID})\s+(.*)/ or die "Cannot parse arguments";
     my $b = lookup_bugid $1;
     push @reply, "Change severity for #" . $b->{id} . " to `$2'";
-    $b->set( "severity", $2 );
+    $b->set_severity( $2 );
     return 1;
 }