MaxScale/maxscale-system-test/mxs2054_hybrid_cluster.cpp
Markus Mäkelä 906d8cee5b
Format all files
Formatted all files with uncrustify.
2018-10-31 09:46:02 +02:00

45 lines
1.9 KiB
C++

/**
* MXS-2054: Test "hybrid" clusters with namedserverfilter
*/
#include "testconnections.h"
int main(int argc, char** argv)
{
TestConnections test(argc, argv);
test.maxscales->ssh_node_f(0, true, "maxctrl set server server3 slave");
test.maxscales->ssh_node_f(0, true, "maxctrl set server server4 slave");
test.repl->connect();
execute_query(test.repl->nodes[0], "CREATE OR REPLACE TABLE test.t1 AS SELECT 1 AS id");
execute_query(test.repl->nodes[0], "CREATE OR REPLACE TABLE test.t2 AS SELECT 2 AS id");
execute_query(test.repl->nodes[0], "CREATE OR REPLACE TABLE test.t3 AS SELECT 3 AS id");
execute_query(test.repl->nodes[0], "CREATE OR REPLACE TABLE test.t4 AS SELECT 4 AS id");
test.repl->sync_slaves();
test.repl->disconnect();
test.maxscales->connect();
Row server1 = get_row(test.maxscales->conn_rwsplit[0],
"SELECT @@server_id, @@last_insert_id, id FROM test.t1");
Row server2 = get_row(test.maxscales->conn_rwsplit[0], "SELECT @@server_id, id FROM test.t2");
Row server3 = get_row(test.maxscales->conn_rwsplit[0], "SELECT @@server_id, id FROM test.t3");
Row server4 = get_row(test.maxscales->conn_rwsplit[0], "SELECT @@server_id, id FROM test.t4");
test.maxscales->disconnect();
test.repl->connect();
test.expect(server1[0] == test.repl->get_server_id_str(0),
"First query without hint should go to server1, the master");
test.expect(server2[0] == test.repl->get_server_id_str(1),
"Second query without hint should go to server2, the slave");
test.expect(server3[0] == test.repl->get_server_id_str(2),
"First query with hint should go to server3, the first unmonitored server");
test.expect(server4[0] == test.repl->get_server_id_str(3),
"Second query with hint should go to server4, the second unmonitored server");
test.repl->disconnect();
return test.global_result;
}