class TestGetHostnameFromUrl(unittest.TestCase):
    def setUp(self):
        from IPAddrLibrary.keywords import Keywords

        self.ipaddrlib = Keywords()

    def test_fqdn_url(self):
        queryUrl = "http://www.google.com"
        expectHostname = "www.google.com"
        resultHostname = self.ipaddrlib.get_hostname_from_url(url=queryUrl)
        print("queried: %s - expected: %s - got: %s" % (queryUrl, expectHostname, resultHostname))
        self.assertEqual(resultHostname, expectHostname)

    def test_nonqual_url(self):
        queryUrl = "http://google"
        expectHostname = "google"
        resultHostname = self.ipaddrlib.get_hostname_from_url(url=queryUrl)
        print("queried: %s - expected: %s - got: %s" % (queryUrl, expectHostname, resultHostname))
        self.assertEqual(resultHostname, expectHostname)

    def test_user_url(self):
        queryUrl = "http://*****:*****@www.google.com"
        expectHostname = "www.google.com"
        resultHostname = self.ipaddrlib.get_hostname_from_url(url=queryUrl)
        print("queried: %s - expected: %s - got: %s" % (queryUrl, expectHostname, resultHostname))
        self.assertEqual(resultHostname, expectHostname)

    def test_https_url_with_path_and_port(self):
        queryUrl = "https://www.google.com:8888/blah/bloo/blee"
        expectHostname = "www.google.com"
        resultHostname = self.ipaddrlib.get_hostname_from_url(url=queryUrl)
        print("queried: %s - expected: %s - got: %s" % (queryUrl, expectHostname, resultHostname))
        self.assertEqual(resultHostname, expectHostname)
class TestGetNetworkAddress(unittest.TestCase):
    def setUp(self):
        from IPAddrLibrary.keywords import Keywords

        self.ipaddrlib = Keywords()

    def test_default_mask(self):
        queryAddress = "192.168.1.24"
        expectAddress = "192.168.1.0"
        resultAddress = self.ipaddrlib.get_network_address(queryAddress)
        print("queried: %s - expected: %s - got: %s" % (queryAddress + "/24", expectAddress, resultAddress))
        self.assertEqual(resultAddress, expectAddress)

    def test_dec_mask(self):
        queryAddress = "192.168.1.24"
        queryMask = "255.255.255.0"
        expectAddress = "192.168.1.0"
        resultAddress = self.ipaddrlib.get_network_address(queryAddress, queryMask)
        print("queried: %s - expected: %s - got: %s" % (queryAddress + "/" + queryMask, expectAddress, resultAddress))
        self.assertEqual(resultAddress, expectAddress)

    def test_smallnet_cidr(self):
        queryAddress = "192.168.1.60"
        queryCidr = "27"
        expectAddress = "192.168.1.32"
        resultAddress = self.ipaddrlib.get_network_address(queryAddress, queryCidr)
        print("queried: %s - expected: %s - got: %s" % (queryAddress + "/" + queryCidr, expectAddress, resultAddress))
        self.assertEqual(resultAddress, expectAddress)

    def test_smallnet_mask(self):
        queryAddress = "192.168.1.60"
        queryMask = "255.255.255.224"
        expectAddress = "192.168.1.32"
        resultAddress = self.ipaddrlib.get_network_address(queryAddress, queryMask)
        print("queried: %s - expected: %s - got: %s" % (queryAddress + "/" + queryMask, expectAddress, resultAddress))
        self.assertEqual(resultAddress, expectAddress)

    def test_zero_mask(self):
        queryAddress = "10.10.10.10"
        queryMask = "0"
        expectAddress = "0.0.0.0"
        resultAddress = self.ipaddrlib.get_network_address(queryAddress, queryMask)
        print("queried: %s - expected: %s - got: %s" % (queryAddress + "/" + queryMask, expectAddress, resultAddress))
        self.assertEqual(resultAddress, expectAddress)

    def test_full_mask(self):
        queryAddress = "10.10.10.10"
        queryMask = "32"
        expectAddress = "10.10.10.10"
        resultAddress = self.ipaddrlib.get_network_address(queryAddress, queryMask)
        print("queried: %s - expected: %s - got: %s" % (queryAddress + "/" + queryMask, expectAddress, resultAddress))
        self.assertEqual(resultAddress, expectAddress)

    def test_31_mask(self):
        queryAddress = "10.10.10.10"
        queryMask = "31"
        expectAddress = "10.10.10.10"
        resultAddress = self.ipaddrlib.get_network_address(queryAddress, queryMask)
        print("queried: %s - expected: %s - got: %s" % (queryAddress + "/" + queryMask, expectAddress, resultAddress))
        self.assertEqual(resultAddress, expectAddress)
class TestGetHostnameFromIp(unittest.TestCase):
    def setUp(self):
        from IPAddrLibrary.keywords import Keywords

        self.ipaddrlib = Keywords()

    def test_fqdn_lookup(self):
        queryAddress = "8.8.8.8"
        expectHostname = "google-public-dns-a.google.com"
        resultHostname = self.ipaddrlib.get_hostname_from_ip(queryAddress)
        print("queried: %s - expected: %s - got: %s" % (queryAddress, expectHostname, resultHostname))
        self.assertEqual(resultHostname, expectHostname)
    def setUp(self):
        from IPAddrLibrary.keywords import Keywords

        self.ipaddrlib = Keywords()