Update bug547 to expect correct behavior

Readconnroute with router_options=slave will use a master if one is
available. The test still expected the old behavior where masters were
never used with router_options=slave.
This commit is contained in:
Markus Mäkelä
2018-06-16 17:59:37 +03:00
parent 1f166482b2
commit 87796a4bb5

View File

@ -16,52 +16,43 @@ get_dcb now searches master if slaves are not available.
// also relates to bug594 // also relates to bug594
// all slaves in MaxScale config have wrong IP // all slaves in MaxScale config have wrong IP
#include <iostream>
#include <unistd.h>
#include "testconnections.h" #include "testconnections.h"
using namespace std;
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
TestConnections * Test = new TestConnections(argc, argv); TestConnections test(argc, argv);
int i;
for (i = 1; i < Test->repl->N; i++) for (int i = 1; i < test.repl->N; i++)
{ {
Test->set_timeout(20); test.set_timeout(20);
Test->repl->block_node(i); test.repl->block_node(i);
} }
Test->set_timeout(30); test.set_timeout(30);
sleep(5); test.maxscales->wait_for_monitor();
Test->set_timeout(30); test.set_timeout(30);
Test->tprintf("Connecting to all MaxScale services, expecting error\n"); test.tprintf("Connecting to all MaxScale services, expecting no errors");
Test->add_result(Test->maxscales->connect_maxscale(0) == 0, "Connection should fail"); test.assert(test.maxscales->connect_maxscale(0) == 0, "Connection should not fail");
Test->set_timeout(30); test.set_timeout(30);
Test->tprintf("Trying some queries, expecting failure, but not a crash\n"); test.tprintf("Trying some queries, expecting no failures");
execute_query(Test->maxscales->conn_rwsplit[0], "DROP TABLE IF EXISTS t1"); test.try_query(test.maxscales->conn_rwsplit[0], "DROP TABLE IF EXISTS t1");
execute_query(Test->maxscales->conn_rwsplit[0], "CREATE TABLE t1 (x INT)"); test.try_query(test.maxscales->conn_rwsplit[0], "CREATE TABLE t1 (x INT)");
execute_query(Test->maxscales->conn_rwsplit[0], "INSERT INTO t1 (x) VALUES (1)"); test.try_query(test.maxscales->conn_rwsplit[0], "INSERT INTO t1 (x) VALUES (1)");
execute_query(Test->maxscales->conn_rwsplit[0], "select * from t1"); test.try_query(test.maxscales->conn_rwsplit[0], "select * from t1");
execute_query(Test->maxscales->conn_master[0], "select * from t1"); test.try_query(test.maxscales->conn_master[0], "select * from t1");
execute_query(Test->maxscales->conn_slave[0], "select * from t1"); test.try_query(test.maxscales->conn_slave[0], "select * from t1");
Test->set_timeout(10); test.set_timeout(10);
Test->maxscales->close_maxscale_connections(0); test.maxscales->close_maxscale_connections(0);
Test->set_timeout(30); test.set_timeout(30);
Test->repl->unblock_all_nodes(); test.repl->unblock_all_nodes();
Test->stop_timeout(); test.stop_timeout();
Test->check_log_err(0, "fatal signal 11", false); test.check_log_err(0, "fatal signal 11", false);
Test->check_log_err(0, "Failed to create new router session for service", true);
int rval = Test->global_result; return test.global_result;
delete Test;
return rval;
} }