def test_contact_recreate():
    if os.environ.get('E2E', '0') != '1':
        return pytest.skip('skip E2E')  # @UndefinedVariable
    tester_contact = testsupport.prepare_tester_contact()
    tester_contact.epp_id = 'not_exising_epp_id'
    tester_contact.person_name = 'Tester Tester ' + str(int(time.time()))
    tester_contact.save()
    scenario = []
    cs = contact_synchronizer.ContactSynchronizer(
        log_events=True,
        log_transitions=True,
    )
    cs.add_state_changed_callback(
        cb=lambda oldstate, newstate, event, *args, **kwargs: scenario.append(
            (oldstate, newstate, event, )
        ),
    )
    cs.event('run', tester_contact)
    outputs = list(cs.outputs)
    del cs
    assert tester_contact.epp_id != ''
    delete_response = zclient.cmd_contact_delete(tester_contact.epp_id)
    assert delete_response['epp']['response']['result']['@code'] == '1000'
    tester_contact.epp_id = None
    tester_contact.save()
    assert scenario == [
        ('AT_STARTUP', 'CONTACT_UPDATE', 'run'),
        ('CONTACT_UPDATE', 'CONTACT_RECREATE', 'response'),
        ('CONTACT_RECREATE', 'DONE', 'response'),
    ]
    assert len(outputs) == 1
    assert outputs[0]['epp']['response']['result']['@code'] == '1000'
Beispiel #2
0
 def test_glue_record_not_supported(self, mock_messages_error):
     tester = prepare_tester_account()
     contact_admin = prepare_tester_contact(tester=tester)
     profile = prepare_tester_profile(tester=tester)
     prepare_tester_registrant(tester=tester, profile_object=profile)
     response = self.client.post('/domains/create/test.ai/',
                                 data=dict(nameserver1='ns1.test.ai',
                                           contact_admin=contact_admin.id))
     assert response.status_code == 302
     mock_messages_error.assert_called_once()
Beispiel #3
0
 def test_nameserver_is_not_available(self, mock_ping, mock_gethostbyname):
     mock_ping.return_value = -1
     mock_gethostbyname.side_effect = socket.error('failed')
     tester = prepare_tester_account()
     contact_admin = prepare_tester_contact(tester=tester)
     profile = prepare_tester_profile(tester=tester)
     prepare_tester_registrant(tester=tester, profile_object=profile)
     response = self.client.post('/domains/create/test.ai/',
                                 data=dict(nameserver1='dns1.kuwaitnet.net',
                                           contact_admin=contact_admin.id))
     assert response.status_code == 200
     assert response.context['errors'] == [
         'List of nameservers that are not valid or not reachable at this '
         'moment: <br>dns1.kuwaitnet.net <br>Please try again later or '
         'specify valid and available nameservers.'
     ]
Beispiel #4
0
def test_contact_update():
    if os.environ.get('E2E', '0') != '1':
        return pytest.skip('skip E2E')  # @UndefinedVariable
    tester_contact = testsupport.prepare_tester_contact()
    existing_contact_id = rpc_client.make_epp_id(tester_contact.contact_email)
    existing_contact_info = zcontacts.to_dict(tester_contact)
    create_response = rpc_client.cmd_contact_create(
        contact_id=existing_contact_id,
        email=existing_contact_info['email'],
        voice=existing_contact_info['voice'],
        fax=existing_contact_info['fax'],
        # auth_info=auth_info,
        contacts_list=existing_contact_info['contacts'],
        raise_for_result=False,
    )
    assert create_response['epp']['response']['result']['@code'] == '1000'
    tester_contact.epp_id = existing_contact_id
    tester_contact.person_name = 'Tester Tester ' + str(int(time.time()))
    tester_contact.save()
    scenario = []
    cs = contact_synchronizer.ContactSynchronizer(
        log_events=True,
        log_transitions=True,
    )
    cs.add_state_changed_callback(
        cb=lambda oldstate, newstate, event, *args, **kwargs: scenario.append((
            oldstate,
            newstate,
            event,
        )),
    )
    cs.event('run', tester_contact)
    outputs = list(cs.outputs)
    del cs
    assert tester_contact.epp_id != ''
    delete_response = rpc_client.cmd_contact_delete(tester_contact.epp_id)
    assert delete_response['epp']['response']['result']['@code'] == '1000'
    tester_contact.epp_id = None
    tester_contact.save()
    assert scenario == [
        ('AT_STARTUP', 'CONTACT_UPDATE', 'run'),
        ('CONTACT_UPDATE', 'DONE', 'response'),
    ]
    assert len(outputs) == 1
    assert outputs[0]['epp']['response']['result']['@code'] == '1000'