MXS-2481 Rename MaxCtrl to MaxRest

So as not to believe that the program depends upon or uses
maxctrl.
This commit is contained in:
Johan Wikman
2019-05-21 13:07:43 +03:00
parent 97ad45125d
commit 5a26bd8ce5
4 changed files with 38 additions and 32 deletions

View File

@ -28,7 +28,7 @@ add_library(testcore SHARED testconnections.cpp nodes.cpp mariadb_nodes.cpp maxs
sql_t1.cpp test_binlog_fnc.cpp get_my_ip.cpp big_load.cpp get_com_select_insert.cpp sql_t1.cpp test_binlog_fnc.cpp get_my_ip.cpp big_load.cpp get_com_select_insert.cpp
different_size.cpp fw_copy_rules maxinfo_func.cpp config_operations.cpp rds_vpc.cpp execute_cmd.cpp different_size.cpp fw_copy_rules maxinfo_func.cpp config_operations.cpp rds_vpc.cpp execute_cmd.cpp
blob_test.cpp keepalived_func.cpp tcp_connection.cpp base/stopwatch.cpp fw_copy_rules.cpp blob_test.cpp keepalived_func.cpp tcp_connection.cpp base/stopwatch.cpp fw_copy_rules.cpp
labels_table.cpp envv.cpp clustrix_nodes.cpp maxctrl.cc labels_table.cpp envv.cpp clustrix_nodes.cpp maxrest.cc
# Include the CDC connector in the core library # Include the CDC connector in the core library
${CMAKE_SOURCE_DIR}/connectors/cdc-connector/cdc_connector.cpp) ${CMAKE_SOURCE_DIR}/connectors/cdc-connector/cdc_connector.cpp)
target_link_libraries(testcore ${MARIADB_CONNECTOR_LIBRARIES} ${JANSSON_LIBRARIES} z m pthread ssl dl rt crypto crypt maxbase) target_link_libraries(testcore ${MARIADB_CONNECTOR_LIBRARIES} ${JANSSON_LIBRARIES} z m pthread ssl dl rt crypto crypt maxbase)

View File

@ -10,7 +10,7 @@
#include <maxbase/string.hh> #include <maxbase/string.hh>
#include <maxscale/jansson.hh> #include <maxscale/jansson.hh>
#include "testconnections.h" #include "testconnections.h"
#include "maxctrl.hh" #include "maxrest.hh"
using namespace std; using namespace std;
@ -28,11 +28,11 @@ const set<string> bootstrap_servers =
const std::string monitor_name = "Clustrix-Monitor"; const std::string monitor_name = "Clustrix-Monitor";
void check_for_servers(const MaxCtrl& maxctrl) void check_for_servers(const MaxRest& maxrest)
{ {
TestConnections& test = maxctrl.test(); TestConnections& test = maxrest.test();
auto servers = maxctrl.list_servers(); auto servers = maxrest.list_servers();
test.expect(servers.size() >= bootstrap_servers.size(), test.expect(servers.size() >= bootstrap_servers.size(),
"Expected at least %d servers.", (int)bootstrap_servers.size()); "Expected at least %d servers.", (int)bootstrap_servers.size());
@ -78,9 +78,9 @@ void check_for_servers(const MaxCtrl& maxctrl)
void run_test(TestConnections& test) void run_test(TestConnections& test)
{ {
MaxCtrl maxctrl(&test); MaxRest maxrest(&test);
check_for_servers(maxctrl); check_for_servers(maxrest);
} }
} }

View File

@ -11,35 +11,35 @@
* Public License. * Public License.
*/ */
#include "maxctrl.hh" #include "maxrest.hh"
using namespace std; using namespace std;
MaxCtrl::Server::Server(const MaxCtrl& maxctrl, json_t* pObject) MaxRest::Server::Server(const MaxRest& maxrest, json_t* pObject)
: name (maxctrl.get<string> (pObject, "id", Presence::MANDATORY)) : name (maxrest.get<string> (pObject, "id", Presence::MANDATORY))
, address (maxctrl.get<string> (pObject, "attributes/parameters/address")) , address (maxrest.get<string> (pObject, "attributes/parameters/address"))
, port (maxctrl.get<int64_t>(pObject, "attributes/parameters/port")) , port (maxrest.get<int64_t>(pObject, "attributes/parameters/port"))
, connections(maxctrl.get<int64_t>(pObject, "attributes/statistics/connections")) , connections(maxrest.get<int64_t>(pObject, "attributes/statistics/connections"))
, state (maxctrl.get<string> (pObject, "attributes/state")) , state (maxrest.get<string> (pObject, "attributes/state"))
{ {
} }
MaxCtrl::MaxCtrl(TestConnections* pTest) MaxRest::MaxRest(TestConnections* pTest)
: m_test(*pTest) : m_test(*pTest)
{ {
} }
unique_ptr<json_t> MaxCtrl::servers() const unique_ptr<json_t> MaxRest::servers() const
{ {
return curl("servers"); return curl("servers");
} }
vector<MaxCtrl::Server> MaxCtrl::list_servers() const vector<MaxRest::Server> MaxRest::list_servers() const
{ {
return get_array<Server>(servers().get(), "data", Presence::MANDATORY); return get_array<Server>(servers().get(), "data", Presence::MANDATORY);
} }
json_t* MaxCtrl::get_object(json_t* pObject, const string& key, Presence presence) const json_t* MaxRest::get_object(json_t* pObject, const string& key, Presence presence) const
{ {
json_t* pValue = json_object_get(pObject, key.c_str()); json_t* pValue = json_object_get(pObject, key.c_str());
@ -51,7 +51,7 @@ json_t* MaxCtrl::get_object(json_t* pObject, const string& key, Presence presenc
return pValue; return pValue;
} }
json_t* MaxCtrl::get_leaf_object(json_t* pObject, const string& key, Presence presence) const json_t* MaxRest::get_leaf_object(json_t* pObject, const string& key, Presence presence) const
{ {
auto i = key.find("/"); auto i = key.find("/");
@ -71,7 +71,7 @@ json_t* MaxCtrl::get_leaf_object(json_t* pObject, const string& key, Presence pr
return pObject; return pObject;
} }
unique_ptr<json_t> MaxCtrl::parse(const string& json) const unique_ptr<json_t> MaxRest::parse(const string& json) const
{ {
json_error_t error; json_error_t error;
unique_ptr<json_t> sRoot(json_loads(json.c_str(), 0, &error)); unique_ptr<json_t> sRoot(json_loads(json.c_str(), 0, &error));
@ -84,7 +84,7 @@ unique_ptr<json_t> MaxCtrl::parse(const string& json) const
return sRoot; return sRoot;
} }
unique_ptr<json_t> MaxCtrl::curl(const string& path) const unique_ptr<json_t> MaxRest::curl(const string& path) const
{ {
string url = "http://127.0.0.1:8989/v1/" + path; string url = "http://127.0.0.1:8989/v1/" + path;
string command = "curl -u admin:mariadb " + url; string command = "curl -u admin:mariadb " + url;
@ -99,14 +99,14 @@ unique_ptr<json_t> MaxCtrl::curl(const string& path) const
return parse(result.second); return parse(result.second);
} }
void MaxCtrl::raise(const std::string& message) const void MaxRest::raise(const std::string& message) const
{ {
++m_test.global_result; ++m_test.global_result;
throw runtime_error(message); throw runtime_error(message);
} }
template<> template<>
string MaxCtrl::get<string>(json_t* pObject, const string& key, Presence presence) const string MaxRest::get<string>(json_t* pObject, const string& key, Presence presence) const
{ {
json_t* pValue = get_leaf_object(pObject, key, presence); json_t* pValue = get_leaf_object(pObject, key, presence);
@ -119,7 +119,7 @@ string MaxCtrl::get<string>(json_t* pObject, const string& key, Presence presenc
} }
template<> template<>
int64_t MaxCtrl::get<int64_t>(json_t* pObject, const string& key, Presence presence) const int64_t MaxRest::get<int64_t>(json_t* pObject, const string& key, Presence presence) const
{ {
json_t* pValue = get_leaf_object(pObject, key, presence); json_t* pValue = get_leaf_object(pObject, key, presence);

View File

@ -15,18 +15,24 @@
#include "testconnections.h" #include "testconnections.h"
#include <maxscale/jansson.hh> #include <maxscale/jansson.hh>
class MaxCtrl /**
* @class MaxRest
*
* MaxRest is a class that (eventually) provides the same functionality as
* the command line program maxctrl, but for use in programs.
*/
class MaxRest
{ {
public: public:
MaxCtrl(const MaxCtrl&) = delete; MaxRest(const MaxRest&) = delete;
MaxCtrl& operator=(const MaxCtrl&) = delete; MaxRest& operator=(const MaxRest&) = delete;
/** /**
* A class corresponding to a row in the output of 'maxctrl list servers' * A class corresponding to a row in the output of 'maxctrl list servers'
*/ */
struct Server struct Server
{ {
Server(const MaxCtrl& maxctrl, json_t* pObject); Server(const MaxRest& maxrest, json_t* pObject);
std::string name; std::string name;
std::string address; std::string address;
@ -39,9 +45,9 @@ public:
* Constructor * Constructor
* *
* @param pTest The TestConnections instance. Must exist for the lifetime * @param pTest The TestConnections instance. Must exist for the lifetime
* of the MaxCtrl instance. * of the MaxRest instance.
*/ */
MaxCtrl(TestConnections* pTest); MaxRest(TestConnections* pTest);
/** /**
* @return The TestConnections instance used by this instance. * @return The TestConnections instance used by this instance.
@ -170,7 +176,7 @@ private:
}; };
template<> template<>
std::string MaxCtrl::get<std::string>(json_t* pObject, const std::string& path, Presence presence) const; std::string MaxRest::get<std::string>(json_t* pObject, const std::string& path, Presence presence) const;
template<> template<>
int64_t MaxCtrl::get<int64_t>(json_t* pObject, const std::string& path, Presence presence) const; int64_t MaxRest::get<int64_t>(json_t* pObject, const std::string& path, Presence presence) const;