def test_pool_restarts_one_by_one(sdk_pool_handle, sdk_wallet_trustee, looper, tconf, txnPoolNodeSet): server, indicator = looper.loop.run_until_complete( _createServer(host=tconf.controlServiceHost, port=tconf.controlServicePort)) unow = datetime.utcnow().replace(tzinfo=dateutil.tz.tzutc()) first_start = str(datetime.isoformat(unow + timedelta(seconds=1000))) req_obj, resp = sdk_send_restart(looper, sdk_wallet_trustee, sdk_pool_handle, action=START, datetime=first_start) second_start = str(datetime.isoformat(unow + timedelta(seconds=2000))) req_obj, resp = sdk_send_restart(looper, sdk_wallet_trustee, sdk_pool_handle, action=START, datetime=second_start) _comparison_reply(resp, req_obj) tmp = txnPoolNodeSet[0].restarter._actionLog restart_log = [] for a in tmp: restart_log.append(a) restart_log.reverse() _check_restart_log(restart_log[2], RestartLog.Events.scheduled, first_start) _check_restart_log(restart_log[1], RestartLog.Events.cancelled) _check_restart_log(restart_log[0], RestartLog.Events.scheduled, second_start) _stopServer(server)
def test_pool_restart_cancel(sdk_pool_handle, sdk_wallet_trustee, looper, tconf, txnPoolNodeSet): loop = asyncio.get_event_loop() server, indicator = loop.run_until_complete( _createServer(host=tconf.controlServiceHost, port=tconf.controlServicePort)) unow = datetime.utcnow().replace(tzinfo=dateutil.tz.tzutc()) start_at = unow + timedelta(seconds=1000) req_obj, responses = sdk_send_restart(looper, sdk_wallet_trustee, sdk_pool_handle, action=START, datetime=str( datetime.isoformat(start_at))) for node in txnPoolNodeSet: assert node.restarter.lastActionEventInfo[0] == RestartLog.SCHEDULED _comparison_reply(responses, req_obj) req_obj, responses = sdk_send_restart(looper, sdk_wallet_trustee, sdk_pool_handle, action=CANCEL, datetime="") _stopServer(server) for node in txnPoolNodeSet: assert node.restarter.lastActionEventInfo[0] == RestartLog.CANCELLED _comparison_reply(responses, req_obj)
def pool_restart_now(sdk_pool_handle, sdk_wallet_trustee, looper, tdir, tconf, action, datetime=None): server, indicator = looper.loop.run_until_complete( _createServer( host=tconf.controlServiceHost, port=tconf.controlServicePort ) ) req_obj, resp = sdk_send_restart(looper, sdk_wallet_trustee, sdk_pool_handle, action=action, datetime=datetime) _stopServer(server) _comparison_reply(resp, req_obj)
def test_pool_restart(sdk_pool_handle, sdk_wallet_trustee, looper, tconf, txnPoolNodeSet): server, indicator = looper.loop.run_until_complete( _createServer(host=tconf.controlServiceHost, port=tconf.controlServicePort)) unow = datetime.utcnow().replace(tzinfo=dateutil.tz.tzutc()) start_at = unow + timedelta(seconds=1000) req_obj, responses = sdk_send_restart(looper, sdk_wallet_trustee, sdk_pool_handle, action=START, datetime=str( datetime.isoformat(start_at))) _stopServer(server) for node in txnPoolNodeSet: assert node.restarter.lastActionEventInfo.ev_type == RestartLog.Events.scheduled _comparison_reply(responses, req_obj)
def run(self): # Step 1. Check default auth rule sdk_send_restart(self.looper, self.trustee_wallet, self.sdk_pool_handle, action='start') with pytest.raises(RequestRejectedException): sdk_send_restart(self.looper, self.new_default_wallet, self.sdk_pool_handle, action='start') # Step 2. Change auth rule self.send_and_check(self.changed_auth_rule, wallet=self.trustee_wallet) # Step 3. Check, that we cannot send txn the old way sdk_send_restart(self.looper, self.new_default_wallet, self.sdk_pool_handle, action='start') with pytest.raises(RequestRejectedException): sdk_send_restart(self.looper, self.trustee_wallet, self.sdk_pool_handle, action='start') # Step 4. Check, that we can send restart action in changed way sdk_send_restart(self.looper, self.new_default_wallet, self.sdk_pool_handle, action='start') # Step 5. Return default auth rule self.send_and_check(self.default_auth_rule, self.trustee_wallet) # Step 6. Check, that default auth rule works sdk_send_restart(self.looper, self.trustee_wallet, self.sdk_pool_handle, action='start') with pytest.raises(RequestRejectedException): sdk_send_restart(self.looper, self.new_default_wallet, self.sdk_pool_handle, action='start')