Beispiel #1
0
 def test_order_incomplete_failed_retried(
         self, mock_domain_check_create_update_renew,
         mock_domain_synchronize_from_backend):
     time_now = datetime.datetime.now()
     tester = testsupport.prepare_tester_account(account_balance=200)
     testsupport.prepare_tester_domain(
         domain_name='test.ai',
         tester=tester,
         domain_status='active',
     )
     testsupport.prepare_tester_order(domain_name='test.ai',
                                      order_type='domain_renew',
                                      status='incomplete',
                                      item_status='failed',
                                      started_at=time_now -
                                      datetime.timedelta(minutes=20))
     assert Order.orders.first().status == 'incomplete'
     assert OrderItem.order_items.first().status == 'failed'
     mock_domain_check_create_update_renew.return_value = True
     mock_domain_synchronize_from_backend.return_value = True
     tasks.retry_failed_orders()
     assert Order.orders.first().status == 'processed'
     assert OrderItem.order_items.first().status == 'processed'
     mock_domain_check_create_update_renew.assert_called_once()
     tester.refresh_from_db()
     assert tester.balance == 100
def test_domain_create():
    if os.environ.get('E2E', '0') != '1':
        return pytest.skip('skip E2E')  # @UndefinedVariable
    if os.environ.get('MANUAL', '0') != '1':
        return pytest.skip('skip E2E')  # @UndefinedVariable
    tester_domain = testsupport.prepare_tester_domain(
        domain_name='test-%s.%s' % (now().strftime('%Y%m%d%H%M%S'), settings.ZENAIDA_SUPPORTED_ZONES[0]),
    )
    assert tester_domain.epp_id is None
    scenario = []
    ds = domain_synchronizer.DomainSynchronizer(
        log_events=True,
        log_transitions=True,
        raise_errors=True,
    )
    ds.add_state_changed_callback(
        cb=lambda oldstate, newstate, event, *args, **kwargs: scenario.append(
            (oldstate, newstate, event, )
        ),
    )
    ds.event('run', tester_domain, renew_years=2, sync_contacts=True, sync_nameservers=True)
    outputs = list(ds.outputs)
    del ds
    assert scenario == [
        ('AT_STARTUP', 'EXISTS?', 'run'),
        ('EXISTS?', 'CONTACTS', 'response'),
        ('CONTACTS', 'NAMESERVERS', 'contacts-ok'),
        ('NAMESERVERS', 'CREATE!', 'nameservers-ok'),
        ('CREATE!', 'READ', 'response'),
        ('READ', 'UPDATE!', 'response'),
        ('UPDATE!', 'DONE', 'no-updates'),
    ]
    assert tester_domain.epp_id is not None
    assert len(outputs) == 7
    assert outputs[-1] is True