blob: f3899bebd34f438f4cd246374d733626f83da745 [file]
#include "async_resp.hpp"
#include "ethernet.hpp"
#include <boost/beast/http/status.hpp>
#include <string>
#include <gtest/gtest.h>
namespace redfish
{
namespace
{
TEST(EthernetHostnameValidation, ValidHostnames)
{
EXPECT_TRUE(isHostnameValid("bmc"));
EXPECT_TRUE(isHostnameValid("host1"));
EXPECT_TRUE(isHostnameValid("a"));
EXPECT_TRUE(isHostnameValid("host-name"));
EXPECT_TRUE(isHostnameValid("1host"));
EXPECT_TRUE(isHostnameValid(std::string(63, 'a')));
}
TEST(EthernetHostnameValidation, InvalidHostnames)
{
EXPECT_FALSE(isHostnameValid(""));
EXPECT_FALSE(isHostnameValid("19216811"));
EXPECT_FALSE(isHostnameValid("-host"));
EXPECT_FALSE(isHostnameValid("host-"));
EXPECT_FALSE(isHostnameValid("host.name"));
EXPECT_FALSE(isHostnameValid(std::string(64, 'a')));
}
TEST(EthernetDomainnameValidation, ValidDomainnames)
{
EXPECT_TRUE(isDomainnameValid("example.com"));
EXPECT_TRUE(isDomainnameValid("sub.example.com"));
EXPECT_TRUE(isDomainnameValid("a.bc"));
}
TEST(EthernetDomainnameValidation, InvalidDomainnames)
{
EXPECT_FALSE(isDomainnameValid(""));
EXPECT_FALSE(isDomainnameValid("a"));
EXPECT_FALSE(isDomainnameValid("a.b"));
EXPECT_FALSE(isDomainnameValid("-example.com"));
EXPECT_FALSE(isDomainnameValid("example-.com"));
EXPECT_FALSE(isDomainnameValid("example.c"));
EXPECT_FALSE(isDomainnameValid("example.com."));
}
} // namespace
} // namespace redfish