102 lines
5.6 KiB
C++
102 lines
5.6 KiB
C++
/**
|
|
* Minimal MaxCtrl sanity check
|
|
*/
|
|
|
|
#include "testconnections.h"
|
|
|
|
int main(int argc, char** argv)
|
|
{
|
|
TestConnections test(argc, argv);
|
|
|
|
int rc = test.maxscales->ssh_node_f(0, false, "maxctrl help list servers");
|
|
test.expect(rc == 0, "`help list servers` should work");
|
|
|
|
rc = test.maxscales->ssh_node_f(0, false, "maxctrl --tsv list servers|grep 'Master, Running'");
|
|
test.expect(rc == 0, "`list servers` should return at least one row with: Master, Running");
|
|
|
|
rc = test.maxscales->ssh_node_f(0, false, "maxctrl set server server1 maintenance");
|
|
test.expect(rc == 0, "`set server` should work");
|
|
|
|
rc = test.maxscales->ssh_node_f(0, false, "maxctrl --tsv list servers|grep 'Maintenance'");
|
|
test.expect(rc == 0, "`list servers` should return at least one row with: Maintanance");
|
|
|
|
rc = test.maxscales->ssh_node_f(0, false, "maxctrl clear server server1 maintenance");
|
|
test.expect(rc == 0, "`clear server` should work");
|
|
|
|
rc = test.maxscales->ssh_node_f(0, false, "maxctrl --tsv list servers|grep 'Maintenance'");
|
|
test.expect(rc != 0, "`list servers` should have no rows with: Maintanance");
|
|
|
|
test.tprintf("Execute all available commands");
|
|
test.maxscales->ssh_node_f(0, false,
|
|
"maxctrl list servers;"
|
|
"maxctrl list services;"
|
|
"maxctrl list listeners RW-Split-Router;"
|
|
"maxctrl list monitors;"
|
|
"maxctrl list sessions;"
|
|
"maxctrl list filters;"
|
|
"maxctrl list modules;"
|
|
"maxctrl list threads;"
|
|
"maxctrl list users;"
|
|
"maxctrl list commands;"
|
|
"maxctrl show server server1;"
|
|
"maxctrl show servers;"
|
|
"maxctrl show service RW-Split-Router;"
|
|
"maxctrl show services;"
|
|
"maxctrl show monitor MySQL-Monitor;"
|
|
"maxctrl show monitors;"
|
|
"maxctrl show session 1;"
|
|
"maxctrl show sessions;"
|
|
"maxctrl show filter qla;"
|
|
"maxctrl show filters;"
|
|
"maxctrl show module readwritesplit;"
|
|
"maxctrl show modules;"
|
|
"maxctrl show maxscale;"
|
|
"maxctrl show thread 1;"
|
|
"maxctrl show threads;"
|
|
"maxctrl show logging;"
|
|
"maxctrl show commands mariadbmon;"
|
|
"maxctrl drain server server1;"
|
|
"maxctrl clear server server1 maintenance;"
|
|
"maxctrl enable log-priority info;"
|
|
"maxctrl enable account vagrant;"
|
|
"maxctrl disable log-priority info;"
|
|
"maxctrl disable account vagrant;"
|
|
"maxctrl create server server5 127.0.0.1 3306;"
|
|
"maxctrl create monitor mon1 mariadbmon user=skysql password=skysql;"
|
|
"maxctrl create service svc1 readwritesplit user=skysql password=skysql;"
|
|
"maxctrl create filter qla2 qlafilter filebase=/tmp/qla2.log;"
|
|
"maxctrl create listener svc1 listener1 9999;"
|
|
"maxctrl create user maxuser maxpwd;"
|
|
"maxctrl link service svc1 server5;"
|
|
"maxctrl link monitor mon1 server5;"
|
|
"maxctrl alter service-filters svc1 qla2"
|
|
"maxctrl unlink service svc1 server5;"
|
|
"maxctrl unlink monitor mon1 server5;"
|
|
"maxctrl alter service-filters svc1"
|
|
"maxctrl destroy server server5;"
|
|
"maxctrl destroy listener svc1 listener1;"
|
|
"maxctrl destroy monitor mon1;"
|
|
"maxctrl destroy filter qla2;"
|
|
"maxctrl destroy service svc1;"
|
|
"maxctrl destroy user maxuser;"
|
|
"maxctrl stop service RW-Split-Router;"
|
|
"maxctrl stop monitor MySQL-Monitor;"
|
|
"maxctrl stop maxscale;"
|
|
"maxctrl start service RW-Split-Router;"
|
|
"maxctrl start monitor MySQL-Monitor;"
|
|
"maxctrl start maxscale;"
|
|
"maxctrl alter server server1 port 3307;"
|
|
"maxctrl alter server server1 port 3306;"
|
|
"maxctrl alter monitor MySQL-Monitor auto_failover true;"
|
|
"maxctrl alter service RW-Split-Router max_slave_connections=3;"
|
|
"maxctrl alter logging highprecision true;"
|
|
"maxctrl alter maxscale passive true;"
|
|
"maxctrl rotate logs;"
|
|
"maxctrl call command mariadbmon reset-replication MySQL-Monitor;"
|
|
"maxctrl api get servers;"
|
|
"maxctrl classify 'select 1';");
|
|
|
|
test.check_maxscale_alive();
|
|
return test.global_result;
|
|
}
|