Mercurial > malikania
changeset 173:696453ebddcd
Common: remove network_stream class
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 20 Aug 2018 13:24:39 +0200 |
parents | 0e84c06ff44a |
children | 80b1638aa154 |
files | libcommon/CMakeLists.txt tests/libcommon/CMakeLists.txt tests/libcommon/network-stream/CMakeLists.txt tests/libcommon/network-stream/main.cpp tests/libcommon/network-stream/test.crt tests/libcommon/network-stream/test.key |
diffstat | 6 files changed, 0 insertions(+), 168 deletions(-) [+] |
line wrap: on
line diff
--- a/libcommon/CMakeLists.txt Sat Aug 18 15:05:56 2018 +0200 +++ b/libcommon/CMakeLists.txt Mon Aug 20 13:24:39 2018 +0200 @@ -26,7 +26,6 @@ ${libmlk-common_SOURCE_DIR}/malikania/game.hpp ${libmlk-common_SOURCE_DIR}/malikania/loader.hpp ${libmlk-common_SOURCE_DIR}/malikania/locator.hpp - ${libmlk-common_SOURCE_DIR}/malikania/network_stream.hpp ${libmlk-common_SOURCE_DIR}/malikania/size.hpp ${libmlk-common_SOURCE_DIR}/malikania/tileset.hpp ${libmlk-common_SOURCE_DIR}/malikania/unicode.hpp @@ -37,7 +36,6 @@ SOURCES ${libmlk-common_SOURCE_DIR}/malikania/loader.cpp ${libmlk-common_SOURCE_DIR}/malikania/locator.cpp - ${libmlk-common_SOURCE_DIR}/malikania/network_stream.cpp ${libmlk-common_SOURCE_DIR}/malikania/unicode.cpp ${libmlk-common_SOURCE_DIR}/malikania/util.cpp )
--- a/tests/libcommon/CMakeLists.txt Sat Aug 18 15:05:56 2018 +0200 +++ b/tests/libcommon/CMakeLists.txt Mon Aug 20 13:24:39 2018 +0200 @@ -16,6 +16,5 @@ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # -add_subdirectory(network-stream) add_subdirectory(util) add_subdirectory(size)
--- a/tests/libcommon/network-stream/CMakeLists.txt Sat Aug 18 15:05:56 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -# -# CMakeLists.txt -- CMake build system for malikania -# -# Copyright (c) 2013-2018 David Demelier <markand@malikania.fr> -# -# Permission to use, copy, modify, and/or distribute this software for any -# purpose with or without fee is hereby granted, provided that the above -# copyright notice and this permission notice appear in all copies. -# -# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -# - -malikania_create_test( - NAME network-stream - LIBRARIES libmlk-common - SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp -)
--- a/tests/libcommon/network-stream/main.cpp Sat Aug 18 15:05:56 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,114 +0,0 @@ -/* - * main.cpp -- test network_stream - * - * Copyright (c) 2013-2018 David Demelier <markand@malikania.fr> - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#define BOOST_TEST_MODULE "network-stream" -#include <boost/test/unit_test.hpp> - -#include <malikania/network_stream.hpp> - -namespace mlk { - -class test { -protected: - boost::asio::io_service io_; - - boost::asio::ssl::context cctx_; - boost::asio::ssl::context sctx_; - - network_stream cstream_; - network_stream sstream_; - - boost::asio::ssl::context init() - { - boost::asio::ssl::context ctx(boost::asio::ssl::context::sslv23); - - ctx.use_private_key_file(CMAKE_CURRENT_SOURCE_DIR "/test.key", boost::asio::ssl::context::pem); - ctx.use_certificate_file(CMAKE_CURRENT_SOURCE_DIR "/test.crt", boost::asio::ssl::context::pem); - - return ctx; - } - - void pair() - { - boost::asio::ip::tcp::endpoint ep(boost::asio::ip::tcp::v4(), 0U); - boost::asio::ip::tcp::acceptor acceptor(io_, std::move(ep)); - - acceptor.async_accept(sstream_.socket().lowest_layer(), [] (auto code) { - if (code) - throw code; - }); - - cstream_.socket().lowest_layer().async_connect(acceptor.local_endpoint(), [] (auto code) { - if (code) - throw code; - }); - - io_.run(); - io_.reset(); - } - - void handshake() - { - sstream_.socket().async_handshake(boost::asio::ssl::stream_base::server, [] (auto code) { - if (code) - throw code; - }); - - cstream_.socket().async_handshake(boost::asio::ssl::stream_base::client, [] (auto code) { - if (code) - throw code; - }); - - io_.run(); - io_.reset(); - } - - test() - : cctx_(boost::asio::ssl::context::sslv23) - , sctx_(init()) - , cstream_(io_, cctx_) - , sstream_(io_, sctx_) - { - pair(); - handshake(); - } -}; - -BOOST_FIXTURE_TEST_SUITE(test_suite, test) - -BOOST_AUTO_TEST_CASE(simple_message) -{ - cstream_.send({{ "command", "hello" }}, [] (auto code) { - if (code) - throw code; - }); - sstream_.recv([] (auto code, auto message) { - if (code) - throw code; - - BOOST_TEST(message["command"].template get<std::string>() == "hello"); - }); - - io_.run(); -} - -// TODO: when error codes are implemented, add tests as well. - -BOOST_AUTO_TEST_SUITE_END() - -} // !mlk
--- a/tests/libcommon/network-stream/test.crt Sat Aug 18 15:05:56 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIB+TCCAWICCQDKnbj8OXYJ5TANBgkqhkiG9w0BAQsFADBBMQswCQYDVQQGEwJG -UjEPMA0GA1UECAwGRnJhbmNlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0 -eSBMdGQwHhcNMTcxMjEzMTU1NTQ3WhcNMTgxMjEzMTU1NTQ3WjBBMQswCQYDVQQG -EwJGUjEPMA0GA1UECAwGRnJhbmNlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRz -IFB0eSBMdGQwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANxztPLLrRWZqk70 -IXcVQwFHms3no7vj7YpNNJEn3BTq+bnxGuE7jxfxGN7YEuN4gpxFA+6Ckzr1220m -36tIwl7Xee6dechhg1+KYL3ktyOUM6eKpfJQ72JWfnt11VV2iel7BWd85Xa9x4EC -XYLAIwvYXakGLNp1aNJwfhSBemNtAgMBAAEwDQYJKoZIhvcNAQELBQADgYEAxvKc -AdB+e4mAV+OQi/C+ELS+3j6Z3PoLz1pTw4LPnwECYtibAC8pOAUll6hfIGthdDHM -zN8e6Dj9qnxLk4oAx0HcmfsFVV2ZoNyPcGYlDzlwqyq1OR5nQK30Fn55v/QPDBe5 -ES71j5QeVuoUr7tlBlUedGaipzMOiyOsSymmzlA= ------END CERTIFICATE-----
--- a/tests/libcommon/network-stream/test.key Sat Aug 18 15:05:56 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIICXQIBAAKBgQDcc7Tyy60VmapO9CF3FUMBR5rN56O74+2KTTSRJ9wU6vm58Rrh -O48X8Rje2BLjeIKcRQPugpM69dttJt+rSMJe13nunXnIYYNfimC95LcjlDOniqXy -UO9iVn57ddVVdonpewVnfOV2vceBAl2CwCML2F2pBizadWjScH4UgXpjbQIDAQAB -AoGAWok+gBQ7wko4knJaqBBYU1c38WY3bTu/W3Q3qYGINiMGamHlmyidrMR8ZVCx -+S+N3GXPpo2Dr8w20I4Nf8fC4vMuQhuC5Ex6Ewiw++vh9cGGvQUEFfJZyAgk6IXg -ZjYYz/taAWhYHJ7X3IBIODqx5XipR1705jqTPCTgqSBCS/UCQQD3C+kEwCxwn6ZV -I1hWdeRLQjAvhnNTLxwR/drn2EuOHGMASf0evZSVsZQNiEzLy9aJol4ersTZ1TVH -ecGLqaSHAkEA5HENoswyPxui4wq7p4SyN2PTj+HEa6OfV8EPi6Y8khBZw8BdHXRC -sD8ipaJFr+oNtMg1dCn2rnsdelAZ/z8pawJBAL2taVV6byRxj3Xi01pe3c9inDiB -FF6T1wuBSuejTC9qYCDCrhNCH6jnVPMm6T+325qFDZqlOQK/Dk84jn+62lUCQG6W -RBGhZFmkmU/r7DgGRvgFfW9TzfCFvyeOMGZcTUowXCQlRW5yz63egnlIew/T8Fqp -6SaZAfApbXW+vTcRbo0CQQCTdCpw2Erk07clnFYap1OaCMjYMuCqakyvp32fijIb -Bcy1ptHQmNPiqNkTEz9PlqAG8NdEnn8S3oqOcqKzEJL9 ------END RSA PRIVATE KEY-----