def test_is_hostname_safe(self):
    self.assertTrue(utils.is_hostname_safe('spam'))
    self.assertFalse(utils.is_hostname_safe('spAm'))
    self.assertFalse(utils.is_hostname_safe('SPAM'))
    self.assertFalse(utils.is_hostname_safe('-spam'))
    self.assertFalse(utils.is_hostname_safe('spam-'))
    self.assertTrue(utils.is_hostname_safe('spam-eggs'))
    self.assertFalse(utils.is_hostname_safe('spam_eggs'))
    self.assertFalse(utils.is_hostname_safe('spam eggs'))
    self.assertTrue(utils.is_hostname_safe('spam.eggs'))
    self.assertTrue(utils.is_hostname_safe('9spam'))
    self.assertTrue(utils.is_hostname_safe('spam7'))
    self.assertTrue(utils.is_hostname_safe('br34kf4st'))
    self.assertFalse(utils.is_hostname_safe('$pam'))
    self.assertFalse(utils.is_hostname_safe('egg$'))
    self.assertFalse(utils.is_hostname_safe('spam#eggs'))
    self.assertFalse(utils.is_hostname_safe(' eggs'))
    self.assertFalse(utils.is_hostname_safe('spam '))
    self.assertTrue(utils.is_hostname_safe('s'))
    self.assertTrue(utils.is_hostname_safe(('s' * 63)))
    self.assertFalse(utils.is_hostname_safe(('s' * 64)))
    self.assertFalse(utils.is_hostname_safe(''))
    self.assertFalse(utils.is_hostname_safe(None))
    self.assertIsNotNone(utils.is_hostname_safe('spam'))
    self.assertIsNotNone(utils.is_hostname_safe('-spam'))
    self.assertTrue(utils.is_hostname_safe('www.rackspace.com'))
    self.assertTrue(utils.is_hostname_safe('www.rackspace.com.'))
    self.assertTrue(utils.is_hostname_safe('http._sctp.www.example.com'))
    self.assertTrue(utils.is_hostname_safe('mail.pets_r_us.net'))
    self.assertTrue(utils.is_hostname_safe('mail-server-15.my_host.org'))
    self.assertFalse(utils.is_hostname_safe('www.nothere.com_'))
    self.assertFalse(utils.is_hostname_safe('www.nothere_.com'))
    self.assertFalse(utils.is_hostname_safe('www..nothere.com'))
    long_str = ((((((('a' * 63) + '.') + ('b' * 63)) + '.') + ('c' * 63)) + '.') + ('d' * 63))
    self.assertTrue(utils.is_hostname_safe(long_str))
    self.assertFalse(utils.is_hostname_safe((long_str + '.')))
    self.assertFalse(utils.is_hostname_safe(('a' * 255)))
def test_is_hostname_safe(self):
    self.assertTrue(utils.is_hostname_safe('spam'))
    self.assertFalse(utils.is_hostname_safe('spAm'))
    self.assertFalse(utils.is_hostname_safe('SPAM'))
    self.assertFalse(utils.is_hostname_safe('-spam'))
    self.assertFalse(utils.is_hostname_safe('spam-'))
    self.assertTrue(utils.is_hostname_safe('spam-eggs'))
    self.assertFalse(utils.is_hostname_safe('spam_eggs'))
    self.assertFalse(utils.is_hostname_safe('spam eggs'))
    self.assertTrue(utils.is_hostname_safe('spam.eggs'))
    self.assertTrue(utils.is_hostname_safe('9spam'))
    self.assertTrue(utils.is_hostname_safe('spam7'))
    self.assertTrue(utils.is_hostname_safe('br34kf4st'))
    self.assertFalse(utils.is_hostname_safe('$pam'))
    self.assertFalse(utils.is_hostname_safe('egg$'))
    self.assertFalse(utils.is_hostname_safe('spam#eggs'))
    self.assertFalse(utils.is_hostname_safe(' eggs'))
    self.assertFalse(utils.is_hostname_safe('spam '))
    self.assertTrue(utils.is_hostname_safe('s'))
    self.assertTrue(utils.is_hostname_safe(('s' * 63)))
    self.assertFalse(utils.is_hostname_safe(('s' * 64)))
    self.assertFalse(utils.is_hostname_safe())
    self.assertFalse(utils.is_hostname_safe(None))
    self.assertIsNotNone(utils.is_hostname_safe('spam'))
    self.assertIsNotNone(utils.is_hostname_safe('-spam'))
    self.assertTrue(utils.is_hostname_safe('www.rackspace.com'))
    self.assertTrue(utils.is_hostname_safe('www.rackspace.com.'))
    self.assertTrue(utils.is_hostname_safe('http._sctp.www.example.com'))
    self.assertTrue(utils.is_hostname_safe('mail.pets_r_us.net'))
    self.assertTrue(utils.is_hostname_safe('mail-server-15.my_host.org'))
    self.assertFalse(utils.is_hostname_safe('www.nothere.com_'))
    self.assertFalse(utils.is_hostname_safe('www.nothere_.com'))
    self.assertFalse(utils.is_hostname_safe('www..nothere.com'))
    long_str = ((((((('a' * 63) + '.') + ('b' * 63)) + '.') + ('c' * 63)) + '.') + ('d' * 63))
    self.assertTrue(utils.is_hostname_safe(long_str))
    self.assertFalse(utils.is_hostname_safe((long_str + '.')))
    self.assertFalse(utils.is_hostname_safe(('a' * 255)))