|
|
@@ -13,20 +13,49 @@ use vars qw($tests);
|
|
|
|
|
|
plan skip_all => "check_mysql not compiled" unless (-x "check_mysql");
|
|
|
|
|
|
-plan tests => 3;
|
|
|
-
|
|
|
-my $failureOutput = '/Access denied for user /';
|
|
|
-my $mysqlserver = getTestParameter( "mysql_server", "NP_MYSQL_SERVER", undef,
|
|
|
- "A MySQL Server");
|
|
|
-my $mysql_login_details = getTestParameter( "mysql_login_details", "MYSQL_LOGIN_DETAILS", undef,
|
|
|
- "Command line parameters to specify login access");
|
|
|
+plan tests => 7;
|
|
|
+
|
|
|
+my $bad_login_output = '/Access denied for user /';
|
|
|
+my $mysqlserver = getTestParameter(
|
|
|
+ "NP_MYSQL_SERVER",
|
|
|
+ "A MySQL Server with no slaves setup"
|
|
|
+ );
|
|
|
+my $mysql_login_details = getTestParameter(
|
|
|
+ "MYSQL_LOGIN_DETAILS",
|
|
|
+ "Command line parameters to specify login access",
|
|
|
+ "-u user -ppw",
|
|
|
+ );
|
|
|
+my $with_slave = getTestParameter(
|
|
|
+ "NP_MYSQL_WITH_SLAVE",
|
|
|
+ "MySQL server with slaves setup"
|
|
|
+ );
|
|
|
+my $with_slave_login = getTestParameter(
|
|
|
+ "NP_MYSQL_WITH_SLAVE_LOGIN",
|
|
|
+ "Login details for server with slave",
|
|
|
+ "-uroot -ppw"
|
|
|
+ );
|
|
|
|
|
|
my $result;
|
|
|
|
|
|
-$result = NPTest->testCmd("./check_mysql -H $mysqlserver $mysql_login_details");
|
|
|
-cmp_ok( $result->return_code, '==', 0, "Login okay");
|
|
|
+SKIP: {
|
|
|
+ skip "No mysql server defined", 5 unless $mysqlserver;
|
|
|
+ $result = NPTest->testCmd("./check_mysql -H $mysqlserver $mysql_login_details");
|
|
|
+ cmp_ok( $result->return_code, '==', 0, "Login okay");
|
|
|
+
|
|
|
+ $result = NPTest->testCmd("./check_mysql -H $mysqlserver -u dummy");
|
|
|
+ cmp_ok( $result->return_code, '==', 2, "Login failure");
|
|
|
+ like( $result->output, $bad_login_output, "Expected login failure message");
|
|
|
+
|
|
|
+ $result = NPTest->testCmd("./check_mysql -S -H $mysqlserver $mysql_login_details");
|
|
|
+ cmp_ok( $result->return_code, "==", 1, "No slaves defined" );
|
|
|
+ like( $result->output, "/No slaves defined/", "Correct error message");
|
|
|
+}
|
|
|
|
|
|
-$result = NPTest->testCmd("./check_mysql -H $mysqlserver -u dummy");
|
|
|
-cmp_ok( $result->return_code, '==', 2, "Login expected failure");
|
|
|
-like( $result->output, $failureOutput, "Error string as expected");
|
|
|
+SKIP: {
|
|
|
+ skip "No mysql server with slaves defined", 2 unless $with_slave;
|
|
|
+ $result = NPTest->testCmd("./check_mysql -H $with_slave $with_slave_login");
|
|
|
+ cmp_ok( $result->return_code, '==', 0, "Login okay");
|
|
|
|
|
|
+ $result = NPTest->testCmd("./check_mysql -S -H $with_slave $with_slave_login");
|
|
|
+ cmp_ok( $result->return_code, "==", 0, "Slaves okay" );
|
|
|
+}
|