From e255c37eca94d4d9c23f689b473b106575b9e2fa Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Wed, 13 Feb 2013 03:20:52 +0200 Subject: some testing code --- proto_test/main.cpp | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 proto_test/main.cpp (limited to 'proto_test/main.cpp') diff --git a/proto_test/main.cpp b/proto_test/main.cpp new file mode 100644 index 0000000..28d04e9 --- /dev/null +++ b/proto_test/main.cpp @@ -0,0 +1,138 @@ + +#include +#include +#include +#include +#include "api_protocol.h" + +using namespace proto; + +void print_vector(const std::vector &v) +{ + for(std::vector::const_iterator i = v.begin(), end = v.end(); i != end; ++i) + std::cout<<*i; + std::cout< test_creation() +{ + std::list packets; + packet *p = packet::cli_make_init_packet(); + if(!p->is_good()) + packets.push_back("cli init packet"); +/* else + print_vector(p->raw()); */ + delete p; + p = packet::cli_make_command_packet("test_svc", "test_cmd"); + if(!p->is_good()) + packets.push_back("cli cmd packet"); +/* else + print_vector(p->raw()); */ + delete p; + p = packet::cli_make_request_services_packet(); + if(!p->is_good()) + packets.push_back("cli svc req packet"); +/* else + print_vector(p->raw()); */ + return packets; +} + +bool test_handshake() +{ + packet *p = packet::cli_make_init_packet(); + if(packet::serv_validate_client_proto(*p)) + return true; + else + return false; +} + +bool test_client_to_server_command() +{ + packet *p = packet::cli_make_command_packet("test srv 1", "command with spaces"); + svc_cmd c = packet::serv_extract_command(*p); + if(c.service != "test srv 1") + return false; + if(c.command != "command with spaces") + return false; + return true; +} + +bool test_services_extraction() +{ + packet *p = packet::cli_make_request_services_packet(); + if(p->get_type() != TYPE_SERVICES_REQUEST) + return false; + std::list list1; + service_s s1; + s1.service = "test service 1"; + service_s::cmd c; + c.command = "command 1"; + c.description = "some desc"; + s1.cmds.push_back(c); + c.command = "command 2"; + c.description = ""; + s1.cmds.push_back(c); + c.command = "command 3"; + c.description = "command 3 desc"; + s1.cmds.push_back(c); + list1.push_back(s1); + s1.service = "sd,fhjsiufhifhirhwiefbbbbvwyefgweyfuyvbwf service 2 aaaaaaaaaaaaaaaaaa111111111111111111111111asdasdasd"; + c.command = "2command 1"; + c.description = "2some desc"; + s1.cmds.push_back(c); + c.command = "2command 2"; + c.description = ""; + s1.cmds.push_back(c); + c.command = "2command 3"; + c.description = "2command 3 desc"; + s1.cmds.push_back(c); + list1.push_back(s1); + s1.service = "sd,fhjsiufhiadadsdfgdffghghjbnfdghdgffhirhwiefbbbbvwyefgweyfuyvbwf service 2 aaaaaaaaaaaaaaaaaa111111111111111111111111asdasdasd"; + c.command = "32commanasdasdd 1"; + c.description = "32some desc"; + s1.cmds.push_back(c); + c.command = "32command 2"; + c.description = ""; + s1.cmds.push_back(c); + c.command = "32command 3"; + c.description = "32command 3 desc"; + s1.cmds.push_back(c); + list1.push_back(s1); + delete p; + p = packet::serv_make_services_packet(list1); + std::list *list2 = packet::cli_extract_services(*p); + for(std::list::iterator i = list2->begin(), end = list2->end(); i != end; ++i) + { + //if(std::find(list1.begin(), list1.end(), *i) == list1.end()) //fuck + for(std::list::iterator ii = list1.begin(), end = list1.end(); ii != end; ++ii) + if(*ii != *i) + return false; + } + return true; +} + +int main() +{ + std::list bad_packets = test_creation(); + if(!bad_packets.empty()) + { + std::cout<<"packet creation test: ERROR"<::iterator i = bad_packets.begin(), end = bad_packets.end(); i != end; ++i) + std::cout<<*i<