def test_multiple_entries(self): WHOIS.get_contact_status_descriptions.return_value = self._get_contact_status() WHOIS.get_contact_by_handle.return_value = self._get_contact() WHOIS.get_nsset_status_descriptions.return_value = self._get_nsset_status() WHOIS.get_nsset_by_handle.return_value = self._get_nsset() WHOIS.get_keyset_status_descriptions.return_value = self._get_keyset_status() WHOIS.get_keyset_by_handle.return_value = self._get_keyset() WHOIS.get_registrar_by_handle.return_value = self._get_registrar() WHOIS.get_domain_status_descriptions.return_value = self._get_domain_status() WHOIS.get_domain_by_handle.return_value = self._get_domain() response = self.client.get(reverse("webwhois:registry_object_type", kwargs={"handle": "testhandle.cz"})) self.assertContains(response, "Multiple entries found") self.assertEqual(self.LOGGER.mock_calls, [ CALL_BOOL, call.create_request('127.0.0.1', 'Web whois', 'Info', properties=( ('handle', 'testhandle.cz'), ('handleType', 'multiple'))), call.create_request().close(properties=[ ('foundType', 'contact'), ('foundType', 'domain'), ('foundType', 'keyset'), ('foundType', 'nsset'), ('foundType', 'registrar'), ]) ]) self.assertEqual(self.LOGGER.create_request().result, 'Ok') self.assertEqual(WHOIS.mock_calls, [ call.get_contact_by_handle('testhandle.cz'), call.get_nsset_by_handle('testhandle.cz'), call.get_keyset_by_handle('testhandle.cz'), call.get_registrar_by_handle('testhandle.cz'), call.get_domain_by_handle('testhandle.cz') ])
def test_idn_domain_punycode(self): self._mocks_for_domain_detail(handle="xn--frd-cma.cz") response = self.client.get(reverse("webwhois:detail_domain", kwargs={"handle": "xn--frd-cma.cz"})) self.assertContains(response, "Search results for handle <strong>xn--frd-cma.cz</strong>:") self.assertEqual(self.LOGGER.mock_calls, [ CALL_BOOL, call.create_request('127.0.0.1', 'Web whois', 'Info', properties=( ('handle', 'xn--frd-cma.cz'), ('handleType', 'domain'))), call.create_request().close(properties=[('foundType', 'domain')]) ]) self.assertEqual(self.LOGGER.create_request().result, 'Ok') self.assertEqual(WHOIS.mock_calls, [ call.get_domain_by_handle('xn--frd-cma.cz'), call.get_domain_status_descriptions('en'), call.get_contact_by_handle('KONTAKT'), call.get_registrar_by_handle('REG-FRED_A'), call.get_contact_by_handle('KONTAKT'), call.get_nsset_by_handle('NSSET-1'), call.get_nsset_status_descriptions('en'), call.get_contact_by_handle('KONTAKT'), call.get_registrar_by_handle('REG-FRED_A'), call.get_keyset_by_handle('KEYSID-1'), call.get_keyset_status_descriptions('en'), call.get_contact_by_handle('KONTAKT'), call.get_registrar_by_handle('REG-FRED_A') ])
def test_domain_delete_candidate(self): WHOIS.get_domain_by_handle.side_effect = OBJECT_DELETE_CANDIDATE request = RequestFactory().get('/dummy/') response = get_domain_by_handle(request, 'test.example') self.assertEqual(response['handle'], 'test.example') self.assertEqual(response['objectClassName'], 'domain') self.assertEqual(response['status'], ['pending delete']) # Check corba calls calls = [call.get_domain_by_handle('test.example')] self.assertEqual(WHOIS.client.mock_calls, calls)
def test_unexpected_exception(self): class TestException(Exception): pass WHOIS.get_domain_by_handle.side_effect = TestException("Unexpected exception.") with self.assertRaises(TestException): self.client.get(reverse("webwhois:detail_domain", kwargs={"handle": "fred.cz"})) self.assertEqual(WHOIS.mock_calls, [call.get_domain_by_handle('fred.cz')]) self.assertEqual(self.LOGGER.mock_calls, [ CALL_BOOL, call.create_request('127.0.0.1', 'Web whois', 'Info', properties=( ('handle', 'fred.cz'), ('handleType', 'domain'))), call.create_request().close(properties=[('exception', 'TestException')]) ]) self.assertEqual(self.LOGGER.create_request().result, 'Error')
def test_domain_too_many_labels_with_dot_at_the_end(self): WHOIS.get_domain_by_handle.side_effect = TOO_MANY_LABELS response = self.client.get(reverse("webwhois:detail_domain", kwargs={"handle": "www.fred.cz."})) self.assertContains(response, "Incorrect input") self.assertContains(response, "Too many parts in the domain name <strong>www.fred.cz.</strong>.") self.assertContains(response, "Enter only the name and the zone:") self.assertEqual(self.LOGGER.mock_calls, [ CALL_BOOL, call.create_request('127.0.0.1', 'Web whois', 'Info', properties=( ('handle', 'www.fred.cz.'), ('handleType', 'domain'))), call.create_request().close(properties=[('reason', 'TOO_MANY_LABELS')]) ]) self.assertEqual(self.LOGGER.create_request().result, 'NotFound') self.assertEqual(WHOIS.mock_calls, [call.get_domain_by_handle('www.fred.cz.')])
def test_domain_not_found(self): WHOIS.get_domain_by_handle.side_effect = OBJECT_NOT_FOUND WHOIS.get_managed_zone_list.return_value = ['cz', '0.2.4.e164.arpa'] response = self.client.get(reverse("webwhois:detail_domain", kwargs={"handle": "fred.cz"})) self.assertContains(response, 'Domain not found') self.assertContains(response, 'No domain matches <strong>fred.cz</strong> handle.') self.assertContains(response, 'Register this domain name?') self.assertEqual(self.LOGGER.mock_calls, [ CALL_BOOL, call.create_request('127.0.0.1', 'Web whois', 'Info', properties=( ('handle', 'fred.cz'), ('handleType', 'domain'))), call.create_request().close(properties=[]) ]) self.assertEqual(self.LOGGER.create_request().result, 'NotFound') self.assertEqual(WHOIS.mock_calls, [call.get_domain_by_handle('fred.cz')])
def test_domain_unmanaged_zone(self): WHOIS.get_domain_by_handle.side_effect = UNMANAGED_ZONE WHOIS.get_managed_zone_list.return_value = ['cz', '0.2.4.e164.arpa'] response = self.client.get(reverse("webwhois:detail_domain", kwargs={"handle": "fred.com"})) self.assertContains(response, 'Unmanaged zone') msg = 'Domain <strong>fred.com</strong> cannot be found in the registry. ' \ 'You can search for domains in the these zones only:' self.assertContains(response, msg) self.assertNotContains(response, 'Register this domain name?') self.assertEqual(self.LOGGER.mock_calls, [ CALL_BOOL, call.create_request('127.0.0.1', 'Web whois', 'Info', properties=( ('handle', 'fred.com'), ('handleType', 'domain'))), call.create_request().close(properties=[('reason', 'UNMANAGED_ZONE')]) ]) self.assertEqual(self.LOGGER.create_request().result, 'NotFound') self.assertEqual(WHOIS.mock_calls, [call.get_domain_by_handle('fred.com'), call.get_managed_zone_list()])
def test_domain_delete_candidate(self): WHOIS.get_domain_status_descriptions.return_value = self._get_domain_status() WHOIS.get_domain_by_handle.side_effect = OBJECT_DELETE_CANDIDATE WHOIS.get_managed_zone_list.return_value = ['cz', '0.2.4.e164.arpa'] response = self.client.get(reverse("webwhois:detail_domain", kwargs={"handle": "fred.cz"})) self.assertContains(response, 'Domain name details') self.assertEqual(response.context['handle'], 'fred.cz') self.assertTrue(response.context['object_delete_candidate']) self.assertEqual(WHOIS.mock_calls, [call.get_domain_by_handle('fred.cz'), call.get_domain_status_descriptions('en')]) self.assertEqual(self.LOGGER.mock_calls, [ CALL_BOOL, call.create_request('127.0.0.1', 'Web whois', 'Info', properties=( ('handle', 'fred.cz'), ('handleType', 'domain'))), call.create_request().close(properties=[('foundType', 'domain')]) ]) self.assertEqual(self.LOGGER.create_request().result, 'Ok')
def test_domain_without_nsset_and_keyset(self): WHOIS.get_contact_status_descriptions.return_value = self._get_contact_status() WHOIS.get_contact_by_handle.return_value = self._get_contact() WHOIS.get_domain_status_descriptions.return_value = self._get_domain_status() WHOIS.get_domain_by_handle.return_value = self._get_domain(nsset_handle=None, keyset_handle=None) WHOIS.get_registrar_by_handle.return_value = self._get_registrar() response = self.client.get(reverse("webwhois:detail_domain", kwargs={"handle": "fred.cz"})) self.assertContains(response, "Domain name details") self.assertContains(response, "Search results for handle <strong>fred.cz</strong>:") self.assertEqual(self.LOGGER.mock_calls, [ CALL_BOOL, call.create_request('127.0.0.1', 'Web whois', 'Info', properties=( ('handle', 'fred.cz'), ('handleType', 'domain'))), call.create_request().close(properties=[('foundType', 'domain')]) ]) self.assertEqual(self.LOGGER.create_request().result, 'Ok') self.assertEqual(WHOIS.mock_calls, [ call.get_domain_by_handle('fred.cz'), call.get_domain_status_descriptions('en'), call.get_contact_by_handle('KONTAKT'), call.get_registrar_by_handle('REG-FRED_A'), call.get_contact_by_handle('KONTAKT') ])
def test_handle_not_found(self): WHOIS.get_contact_by_handle.side_effect = OBJECT_NOT_FOUND WHOIS.get_nsset_by_handle.side_effect = OBJECT_NOT_FOUND WHOIS.get_keyset_by_handle.side_effect = OBJECT_NOT_FOUND WHOIS.get_registrar_by_handle.side_effect = OBJECT_NOT_FOUND WHOIS.get_domain_by_handle.side_effect = OBJECT_NOT_FOUND WHOIS.get_managed_zone_list.return_value = [] response = self.client.get(reverse("webwhois:registry_object_type", kwargs={"handle": "testhandle"})) self.assertContains(response, "Record not found") self.assertEqual(self.LOGGER.mock_calls, [ CALL_BOOL, call.create_request('127.0.0.1', 'Web whois', 'Info', properties=( ('handle', 'testhandle'), ('handleType', 'multiple'))), call.create_request().close(properties=[]) ]) self.assertEqual(self.LOGGER.create_request().result, 'NotFound') self.assertEqual(WHOIS.mock_calls, [ call.get_contact_by_handle('testhandle'), call.get_nsset_by_handle('testhandle'), call.get_keyset_by_handle('testhandle'), call.get_registrar_by_handle('testhandle'), call.get_domain_by_handle('testhandle'), call.get_managed_zone_list(), ])