summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Test/MockDB.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Bugzilla/Test/MockDB.pm')
-rw-r--r--Bugzilla/Test/MockDB.pm179
1 files changed, 93 insertions, 86 deletions
diff --git a/Bugzilla/Test/MockDB.pm b/Bugzilla/Test/MockDB.pm
index fb7873ccf..db55b5d1e 100644
--- a/Bugzilla/Test/MockDB.pm
+++ b/Bugzilla/Test/MockDB.pm
@@ -11,110 +11,117 @@ use warnings;
use Try::Tiny;
use Capture::Tiny qw(capture_merged);
-use Bugzilla::Test::MockLocalconfig (
- db_driver => 'sqlite',
- db_name => ':memory:',
-);
+use Bugzilla::Test::MockLocalconfig (db_driver => 'sqlite',
+ db_name => ':memory:',);
use Bugzilla;
-BEGIN { Bugzilla->extensions };
-use Bugzilla::Test::MockParams (
- emailsuffix => '',
- emailregexp => '.+',
-);
+BEGIN { Bugzilla->extensions }
+use Bugzilla::Test::MockParams (emailsuffix => '', emailregexp => '.+',);
sub import {
- require Bugzilla::Install;
- require Bugzilla::Install::DB;
- require Bugzilla::Field;;
+ require Bugzilla::Install;
+ require Bugzilla::Install::DB;
+ require Bugzilla::Field;
- state $first_time = 0;
+ state $first_time = 0;
- return undef if $first_time++;
+ return undef if $first_time++;
- return capture_merged {
- Bugzilla->dbh->bz_setup_database();
+ return capture_merged {
+ Bugzilla->dbh->bz_setup_database();
- # Populate the tables that hold the values for the <select> fields.
- Bugzilla->dbh->bz_populate_enum_tables();
+ # Populate the tables that hold the values for the <select> fields.
+ Bugzilla->dbh->bz_populate_enum_tables();
- Bugzilla::Install::DB::update_fielddefs_definition();
- Bugzilla::Field::populate_field_definitions();
- Bugzilla::Install::init_workflow();
- Bugzilla::Install::DB->update_table_definitions({});
- Bugzilla::Install::update_system_groups();
+ Bugzilla::Install::DB::update_fielddefs_definition();
+ Bugzilla::Field::populate_field_definitions();
+ Bugzilla::Install::init_workflow();
+ Bugzilla::Install::DB->update_table_definitions({});
+ Bugzilla::Install::update_system_groups();
- Bugzilla->set_user(Bugzilla::User->super_user);
+ Bugzilla->set_user(Bugzilla::User->super_user);
- Bugzilla::Install::update_settings();
+ Bugzilla::Install::update_settings();
- my $dbh = Bugzilla->dbh;
- if ( !$dbh->selectrow_array("SELECT 1 FROM priority WHERE value = 'P1'") ) {
- $dbh->do("DELETE FROM priority");
- my $count = 100;
- foreach my $priority (map { "P$_" } 1..5) {
- $dbh->do( "INSERT INTO priority (value, sortkey) VALUES (?, ?)", undef, ( $priority, $count + 100 ) );
- }
- }
- my @flagtypes = (
- {
- name => 'review',
- desc => 'The patch has passed review by a module owner or peer.',
- is_requestable => 1,
- is_requesteeble => 1,
- is_multiplicable => 1,
- grant_group => '',
- target_type => 'a',
- cc_list => '',
- inclusions => ['']
- },
- {
- name => 'feedback',
- desc => 'A particular person\'s input is requested for a patch, ' .
- 'but that input does not amount to an official review.',
- is_requestable => 1,
- is_requesteeble => 1,
- is_multiplicable => 1,
- grant_group => '',
- target_type => 'a',
- cc_list => '',
- inclusions => ['']
- }
- );
+ my $dbh = Bugzilla->dbh;
+ if (!$dbh->selectrow_array("SELECT 1 FROM priority WHERE value = 'P1'")) {
+ $dbh->do("DELETE FROM priority");
+ my $count = 100;
+ foreach my $priority (map {"P$_"} 1 .. 5) {
+ $dbh->do("INSERT INTO priority (value, sortkey) VALUES (?, ?)",
+ undef, ($priority, $count + 100));
+ }
+ }
+ my @flagtypes = (
+ {
+ name => 'review',
+ desc => 'The patch has passed review by a module owner or peer.',
+ is_requestable => 1,
+ is_requesteeble => 1,
+ is_multiplicable => 1,
+ grant_group => '',
+ target_type => 'a',
+ cc_list => '',
+ inclusions => ['']
+ },
+ {
+ name => 'feedback',
+ desc => 'A particular person\'s input is requested for a patch, '
+ . 'but that input does not amount to an official review.',
+ is_requestable => 1,
+ is_requesteeble => 1,
+ is_multiplicable => 1,
+ grant_group => '',
+ target_type => 'a',
+ cc_list => '',
+ inclusions => ['']
+ }
+ );
- foreach my $flag (@flagtypes) {
- next if Bugzilla::FlagType->new({ name => $flag->{name} });
- my $grant_group_id = $flag->{grant_group}
- ? Bugzilla::Group->new({ name => $flag->{grant_group} })->id
- : undef;
- my $request_group_id = $flag->{request_group}
- ? Bugzilla::Group->new({ name => $flag->{request_group} })->id
- : undef;
+ foreach my $flag (@flagtypes) {
+ next if Bugzilla::FlagType->new({name => $flag->{name}});
+ my $grant_group_id
+ = $flag->{grant_group}
+ ? Bugzilla::Group->new({name => $flag->{grant_group}})->id
+ : undef;
+ my $request_group_id
+ = $flag->{request_group}
+ ? Bugzilla::Group->new({name => $flag->{request_group}})->id
+ : undef;
- $dbh->do('INSERT INTO flagtypes (name, description, cc_list, target_type, is_requestable,
+ $dbh->do(
+ 'INSERT INTO flagtypes (name, description, cc_list, target_type, is_requestable,
is_requesteeble, is_multiplicable, grant_group_id, request_group_id)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)',
- undef, ($flag->{name}, $flag->{desc}, $flag->{cc_list}, $flag->{target_type},
- $flag->{is_requestable}, $flag->{is_requesteeble}, $flag->{is_multiplicable},
- $grant_group_id, $request_group_id));
+ undef,
+ (
+ $flag->{name}, $flag->{desc},
+ $flag->{cc_list}, $flag->{target_type},
+ $flag->{is_requestable}, $flag->{is_requesteeble},
+ $flag->{is_multiplicable}, $grant_group_id,
+ $request_group_id
+ )
+ );
- my $type_id = $dbh->bz_last_key('flagtypes', 'id');
+ my $type_id = $dbh->bz_last_key('flagtypes', 'id');
- foreach my $inclusion (@{$flag->{inclusions}}) {
- my ($product, $component) = split(':', $inclusion);
- my ($prod_id, $comp_id);
- if ($product) {
- my $prod_obj = Bugzilla::Product->new({ name => $product });
- $prod_id = $prod_obj->id;
- if ($component) {
- $comp_id = Bugzilla::Component->new({ name => $component, product => $prod_obj})->id;
- }
- }
- $dbh->do('INSERT INTO flaginclusions (type_id, product_id, component_id)
- VALUES (?, ?, ?)',
- undef, ($type_id, $prod_id, $comp_id));
- }
+ foreach my $inclusion (@{$flag->{inclusions}}) {
+ my ($product, $component) = split(':', $inclusion);
+ my ($prod_id, $comp_id);
+ if ($product) {
+ my $prod_obj = Bugzilla::Product->new({name => $product});
+ $prod_id = $prod_obj->id;
+ if ($component) {
+ $comp_id
+ = Bugzilla::Component->new({name => $component, product => $prod_obj})->id;
+ }
}
- };
+ $dbh->do(
+ 'INSERT INTO flaginclusions (type_id, product_id, component_id)
+ VALUES (?, ?, ?)', undef, ($type_id, $prod_id, $comp_id)
+ );
+ }
+ }
+ };
}
1;