def test_handle_data_when_user_code_raises_exception_logs_and_reraises( self): # Arrange actor = KaboomActor() actor.register_base( trader_id=self.trader_id, msgbus=self.msgbus, cache=self.cache, clock=self.clock, logger=self.logger, ) actor.set_explode_on_start(False) actor.start() # Act, Assert with pytest.raises(RuntimeError): actor.handle_data( NewsEvent( impact=NewsImpact.HIGH, name="Unemployment Rate", currency=USD, ts_event=0, ts_init=0, ), )
def test_handle_instrument_with_blow_up_logs_exception(self): # Arrange actor = KaboomActor() actor.register_base( trader_id=self.trader_id, msgbus=self.msgbus, cache=self.cache, clock=self.clock, logger=self.logger, ) actor.set_explode_on_start(False) actor.start() # Act, Assert with pytest.raises(RuntimeError): actor.handle_instrument(AUDUSD_SIM)
def test_fault_when_user_code_raises_error_logs_and_reraises(self): # Arrange actor = KaboomActor() actor.register_base( trader_id=self.trader_id, msgbus=self.msgbus, cache=self.cache, clock=self.clock, logger=self.logger, ) actor.set_explode_on_start(False) actor.start() # Act, Assert with pytest.raises(RuntimeError): actor.fault() assert actor.state == ComponentState.FAULTED assert actor.is_faulted
def test_handle_bar_when_user_code_raises_exception_logs_and_reraises( self): # Arrange actor = KaboomActor() actor.register_base( trader_id=self.trader_id, msgbus=self.msgbus, cache=self.cache, clock=self.clock, logger=self.logger, ) actor.set_explode_on_start(False) actor.start() bar = TestDataStubs.bar_5decimal() # Act, Assert with pytest.raises(RuntimeError): actor.handle_bar(bar)
def test_handle_event_when_user_code_raises_exception_logs_and_reraises( self): # Arrange actor = KaboomActor() actor.register_base( trader_id=self.trader_id, msgbus=self.msgbus, cache=self.cache, clock=self.clock, logger=self.logger, ) actor.set_explode_on_start(False) actor.start() event = TestEventStubs.cash_account_state( account_id=AccountId("TEST", "000")) # Act, Assert with pytest.raises(RuntimeError): actor.on_event(event)
def test_dispose_when_user_code_raises_error_logs_and_reraises(self): # Arrange actor = KaboomActor() actor.register_base( trader_id=self.trader_id, msgbus=self.msgbus, cache=self.cache, clock=self.clock, logger=self.logger, ) # Act, Assert with pytest.raises(RuntimeError): actor.dispose() assert actor.state == ComponentState.DISPOSED assert actor.is_disposed