def test__logs_to_server_log(self): self.patch(tftp_module, "send_node_event_mac_address") clock = Clock() mac_address = factory.make_mac_address() file_name = factory.make_name("file") with TwistedLoggerFixture() as logger: log_request(mac_address, file_name, clock) clock.advance(0.0) # Don't leave anything in the reactor. self.assertThat( logger.output, Equals("%s requested by %s" % (file_name, mac_address)))
def test__sends_event_later(self): send_event = self.patch(tftp_module, "send_node_event_mac_address") clock = Clock() log_request(sentinel.macaddr, sentinel.filename, clock) self.assertThat(send_event, MockNotCalled()) clock.advance(0.0) self.assertThat( send_event, MockCalledOnceWith(mac_address=sentinel.macaddr, description=sentinel.filename, event_type=EVENT_TYPES.NODE_TFTP_REQUEST))
def test__logs_to_server_log(self): self.patch(tftp_module, "send_node_event_ip_address") ip = factory.make_ip_address() self.patch(tftp_module.tftp, 'get_remote_address').return_value = (ip, sentinel.port) clock = Clock() file_name = factory.make_name("file") with TwistedLoggerFixture() as logger: log_request(file_name, clock) clock.advance(0.0) # Don't leave anything in the reactor. self.assertThat(logger.output, Equals("%s requested by %s" % (file_name, ip)))
def test__sends_event_later(self): send_event = self.patch(tftp_module, "send_node_event_ip_address") ip = factory.make_ip_address() self.patch(tftp_module.tftp, 'get_remote_address').return_value = ( ip, sentinel.port) clock = Clock() log_request(sentinel.filename, clock) self.assertThat(send_event, MockNotCalled()) clock.advance(0.0) self.assertThat(send_event, MockCalledOnceWith( ip_address=ip, description=sentinel.filename, event_type=EVENT_TYPES.NODE_TFTP_REQUEST))
def test__logs_when_sending_event_errors(self): send_event = self.patch(tftp_module, "send_node_event_ip_address") send_event.side_effect = factory.make_exception() clock = Clock() log_request(sentinel.filename, clock) self.assertThat(send_event, MockNotCalled()) with TwistedLoggerFixture() as logger: clock.advance(0.0) self.assertDocTestMatches( """\ Logging TFTP request failed. Traceback (most recent call last): ... maastesting.factory.TestException#... """, logger.output)
def test_defers_log_call_later(self): clock = Clock() log_request(sentinel.filename, clock) self.expectThat(clock.calls, HasLength(1)) [call] = clock.calls self.expectThat(call.getTime(), Equals(0.0))