class LoggerTest(TestCase): CALLER = "Client" CALLEE = "DB" OPERATION = "Select" REQUEST_ID = 123 def setUp(self): self.factory = Factory() self.storage = InMemoryDataStorage(None) self.storage._log = MagicMock(Log) self.simulation = self.factory.create_simulation(self.storage) service = MagicMock() service.name = self.CALLER self.simulation.environment.define(Symbols.SELF, service) self.simulation.environment.define(Symbols.LISTENER, MagicMock(Dispatcher)) self.logger = Logger(self.simulation.environment) def test_logging_request_arrival(self): self.logger.arrival_of(self._fake_request()) self.verify_log_call(Logger.REQUEST_ARRIVAL % self.REQUEST_ID) def test_logging_request_stored(self): self.logger.storage_of(self._fake_request()) self.verify_log_call(Logger.REQUEST_STORED % self.REQUEST_ID) def test_logging_failure_of(self): self.logger.failure_of(self._fake_request()) self.verify_log_call(Logger.REQUEST_FAILURE % self.REQUEST_ID) def test_logging_success_of(self): self.logger.success_of(self._fake_request()) self.verify_log_call(Logger.REQUEST_SUCCESS % self.REQUEST_ID) def test_logging_posting_of(self): self.logger.posting_of(self.CALLEE, self._fake_request()) self.verify_log_call(Logger.REQUEST_SENT % (self.REQUEST_ID, self.CALLEE, self.OPERATION)) def test_logging_timeout_of(self): self.logger.timeout_of(self._fake_request()) self.verify_log_call(Logger.REQUEST_TIMEOUT % self.REQUEST_ID) def test_logging_error_replied(self): self.logger.error_replied_to(self._fake_request()) self.verify_log_call(Logger.ERROR_REPLIED % self.REQUEST_ID) def test_logging_success_replied(self): self.logger.success_replied_to(self._fake_request()) self.verify_log_call(Logger.SUCCESS_REPLIED % self.REQUEST_ID) def verify_log_call(self, message): self.simulation.log.record.assert_called_once_with(0, self.CALLER, message) def _fake_request(self): request = MagicMock(Request) request.identifier = self.REQUEST_ID request.operation = self.OPERATION return request
class LoggerTest(TestCase): CALLER = "Client" CALLEE = "DB" OPERATION = "Select" REQUEST_ID = 123 def setUp(self): self.factory = Factory() self.storage = InMemoryDataStorage(None) self.storage._log = MagicMock(Log) self.simulation = self.factory.create_simulation(self.storage) service = MagicMock() service.name = self.CALLER self.simulation.environment.define(Symbols.SELF, service) self.simulation.environment.define(Symbols.LISTENER, MagicMock(Dispatcher)) self.logger = Logger(self.simulation.environment) def test_logging_request_arrival(self): self.logger.task_created(self._fake_request()) self.verify_log_call(Logger.REQUEST_RECEIVED.format(request=self.REQUEST_ID)) def test_logging_request_stored(self): self.logger.task_activated(self._fake_request()) self.verify_log_call(Logger.TASK_ACTIVATED.format(task=self.REQUEST_ID)) def test_logging_failure_of(self): self.logger.failure_of(self._fake_request()) self.verify_log_call(Logger.REQUEST_FAILURE.format(request=self.REQUEST_ID)) def test_logging_success_of(self): self.logger.success_of(self._fake_request()) self.verify_log_call(Logger.REQUEST_SUCCESS.format(request=self.REQUEST_ID)) def test_logging_posting_of(self): self.logger.posting_of(self.CALLEE, self._fake_request()) self.verify_log_call(Logger.REQUEST_SENT.format(request=self.REQUEST_ID, service=self.CALLEE, operation=self.OPERATION)) def test_logging_timeout_of(self): self.logger.timeout_of(self._fake_request()) self.verify_log_call(Logger.REQUEST_TIMEOUT.format(request=self.REQUEST_ID)) def test_logging_error_replied(self): self.logger.task_failed(self._fake_request()) self.verify_log_call(Logger.ERROR_REPLIED.format(request=self.REQUEST_ID)) def test_logging_success_replied(self): self.logger.task_successful(self._fake_request()) self.verify_log_call(Logger.SUCCESS_REPLIED.format(request=self.REQUEST_ID)) def verify_logging_acceptance(self): self.logger.acceptance_of(self._fake_request()) self.verify_log_call(Logger.REQUEST_ACCEPTED.format(request=self.REQUEST_ID)) def verify_logging_acceptance(self): self.logger.rejection_of(self._fake_request()) self.verify_log_call(Logger.REQUEST_REJECTED.format(request=self.REQUEST_ID)) def verify_log_call(self, message): self.simulation.log.record.assert_called_once_with(0, self.CALLER, message) def _fake_request(self): request = MagicMock(Request) request.identifier = self.REQUEST_ID request.operation = self.OPERATION return request