Commit ad4af32d authored by knowledge4igor's avatar knowledge4igor

Add first tests of net utilities

parent 8085d1ef
......@@ -17,3 +17,4 @@ pistache_test(cookie_test)
pistache_test(view_test)
pistache_test(http_parsing_test)
pistache_test(http_client_test)
pistache_test(net_test)
\ No newline at end of file
#include "gtest/gtest.h"
#include <pistache/net.h>
#include <stdexcept>
#include <iostream>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
using namespace Pistache;
TEST(net_test, port_creation)
{
Port port1(3000);
ASSERT_FALSE(port1.isReserved());
uint16_t value1 = port1;
ASSERT_EQ(value1, 3000);
Port port2(80);
ASSERT_TRUE(port2.isReserved());
uint16_t value2 = port2;
ASSERT_EQ(value2, 80);
}
TEST(net_test, address_creation)
{
Address address1("127.0.0.1:8080");
ASSERT_EQ(address1.host(), "127.0.0.1");
ASSERT_EQ(address1.port(), 8080);
std::string addr = "127.0.0.1";
Address address2(addr, Port(8080));
ASSERT_EQ(address2.host(), "127.0.0.1");
ASSERT_EQ(address2.port(), 8080);
Address address3(Ipv4(127, 0, 0, 1), Port(8080));
ASSERT_EQ(address3.host(), "127.0.0.1");
ASSERT_EQ(address3.port(), 8080);
Address address4(Ipv4::any(), Port(8080));
ASSERT_EQ(address4.host(), "0.0.0.0");
ASSERT_EQ(address4.port(), 8080);
}
TEST(net_test, invalid_address)
{
ASSERT_THROW(Address("127.0.0.1"), std::invalid_argument);
ASSERT_THROW(Address("127.0.0.1:9999999"), std::invalid_argument);
}
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment