os-autoinst-distri-rocky/tests/role_deploy_database_server.pm
Adam Williamson e68e113f76 Remove test_flags comments, add ignore_failure flag
It's not really a good idea to have the comments that explain
the test_flags in *every* test, because they can go stale and
then we either have to live with them being old or update them
all. Like, now. So let's just take 'em all out. There's always
a reference in the openQA and os-autoinst docs, and those get
updated faster.

More importantly, add the new `ignore_failure` flag to relevant
tests - all the tests that don't have the 'important' or
'fatal' flag at present. Upstream killed the 'important' flag
(making all tests 'important' by default), I got it replaced
with the 'ignore_failure' flag, we now need to explicitly mark
all modules we want the 'ignore_failure' behaviour for.
2017-04-10 15:00:10 -07:00

49 lines
1.9 KiB
Perl

use base "installedtest";
use strict;
use testapi;
use lockapi;
use mmapi;
use tapnet;
use utils;
sub run {
my $self=shift;
# use compose repo, disable u-t, etc.
repo_setup();
# deploy the database server role
assert_script_run 'echo \'{"database":"openqa","owner":"openqa","password":"correcthorse"}\' | rolectl deploy databaseserver --settings-stdin', 300;
# check the role status, should be 'running'
validate_script_output 'rolectl status databaseserver/1', sub { $_ =~ m/^running/ };
# check 'settings' output looks vaguely right
validate_script_output 'rolectl settings databaseserver/1', sub {$_ =~ m/owner = openqa/ };
# check we can connect to the database and create a table
assert_script_run 'su postgres -c "psql openqa -c \'CREATE TABLE test (testcol int);\'"';
# check we can add a row to the table
assert_script_run 'su postgres -c "psql openqa -c \'INSERT INTO test VALUES (5);\'"';
# check we can query the table
validate_script_output 'su postgres -c "psql openqa -c \'SELECT * FROM test;\'"', sub {$_ =~ m/^ *testcol.*5.*1 row/s };
# check we can modify the row
assert_script_run 'su postgres -c "psql openqa -c \'UPDATE test SET testcol = 50 WHERE testcol = 5;\'"';
validate_script_output 'su postgres -c "psql openqa -c \'SELECT * FROM test;\'"', sub {$_ =~ m/^ *testcol.*50.*1 row/s };
# we're all ready for other jobs to run!
mutex_create('db_ready');
wait_for_children;
# once child jobs are done, stop the role
assert_script_run 'rolectl stop databaseserver/1';
# check role is stopped
validate_script_output 'rolectl status databaseserver/1', sub { $_ =~ m/^ready-to-start/ };
# decommission the role
assert_script_run 'rolectl decommission databaseserver/1', 120;
# check role is decommissioned
validate_script_output 'rolectl list instances', sub { $_ eq "" };
}
sub test_flags {
return { fatal => 1 };
}
1;
# vim: set sw=4 et: