예제 #1
0
 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')
     ])
예제 #2
0
 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')
     ])
예제 #3
0
    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)
예제 #4
0
 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')
예제 #5
0
 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.')])
예제 #6
0
 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')])
예제 #7
0
 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()])
예제 #8
0
    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')
예제 #9
0
 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')
     ])
예제 #10
0
 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(),
     ])