MaxScale/maxscale-system-test/config_operations.h
Niclas Antti c447e5cf15 Uncrustify maxscale
See script directory for method. The script to run in the top level
MaxScale directory is called maxscale-uncrustify.sh, which uses
another script, list-src, from the same directory (so you need to set
your PATH). The uncrustify version was 0.66.
2018-09-09 22:26:19 +03:00

143 lines
3.1 KiB
C++

#pragma once
#include "testconnections.h"
#include <string>
#include <set>
class Config
{
public:
Config(TestConnections* parent);
~Config();
/**
* Service identifiers for listener creation
*/
enum Service
{
SERVICE_RWSPLIT = 0,
SERVICE_RCONN_SLAVE = 1,
SERVICE_RCONN_MASTER = 2
};
/**
* Add a server to all services and monitors
*
* @param num Backend number
*/
void add_server(int num);
/**
* Add all created servers to an object
*
* @param object Object to add servers to
*/
void add_created_servers(const char* object);
/**
* Remove a server
*
* @param num Backend number
*/
void remove_server(int num);
/**
* Create a new server
*
* @param num Backend number
*/
void create_server(int num);
/**
* Alter a server
*
* @param num Backend number
* @param key Key to alter
* @oaram value Value for @c key, empty string for no value
*/
void alter_server(int num, const char* key, const char* value);
void alter_server(int num, const char* key, int value);
void alter_server(int num, const char* key, float value);
/**
* Destroy a server
* @param num Backend number
*/
void destroy_server(int num);
/**
* Test that server count is at the expected amount
* @param expected How many servers are expected to exist
* @return True if the number of servers is @c expected
*/
bool check_server_count(int expected);
/**
* Create the monitor
* @param type The name of the monitor module to use
* @param interval Monitoring interval
*/
void create_monitor(const char* name, const char* module, int interval = 1000);
/**
* Start the created monitor
*/
void start_monitor(const char* name);
/**
* Alter a monitor
* @param key Key to alter
* @oaram value Value for @c key, empty string for no value
*/
void alter_monitor(const char* name, const char* key, const char* value);
void alter_monitor(const char* name, const char* key, int value);
void alter_monitor(const char* name, const char* key, float value);
/**
* Destroy the monitor
*/
void destroy_monitor(const char* name);
/**
* Restart all created monitors
*/
void restart_monitors();
/**
* Create a listener
*
* @param service Service where listener is created
*/
void create_listener(Service service);
/**
* Create a listener with SSL enabled
*
* @param service Service where SSL listener is created
*/
void create_ssl_listener(Service service);
/**
* Destroy a listener
*
* @param service Service whose listener is destroyed
*/
void destroy_listener(Service service);
/**
* Create all basic listeners
*/
void create_all_listeners();
/**
* Reset the configuration to a standard state
*/
void reset();
private:
TestConnections* test_;
std::set<int> created_servers_;
std::set<std::string> created_monitors_;
};