示例#1
0
 def test_registers_and_unregisters_listener(self):
     mock_listener = Mock()
     register = mock_listener.register = Mock()
     unregister = mock_listener.unregister = Mock()
     clock = Clock()
     run = self.patch(ActiveDiscoveryService, "run")
     service = ActiveDiscoveryService(clock, mock_listener)
     # Make sure the service doesn't actually do anything.
     service.startService()
     self.assertThat(
         service,
         MatchesStructure.byEquality(
             call=(run, (), {}),
             step=active_discovery.CHECK_INTERVAL,
             clock=clock,
         ),
     )
     self.assertThat(
         register,
         MockCalledOnceWith("config", service.refreshDiscoveryConfig),
     )
     self.assertThat(unregister, MockNotCalled())
     service.stopService()
     self.assertThat(
         unregister,
         MockCalledOnceWith("config", service.refreshDiscoveryConfig),
     )
示例#2
0
 def test_run_calls_scanIfNeeded_if_discovery_enabled(self):
     clock = Clock()
     service = ActiveDiscoveryService(clock)
     self.patch(service, "refreshDiscoveryConfig")
     scanIfNeeded = self.patch(service, "scanIfNeeded")
     service.startService()
     # Pretend the call to refreshDiscoveryConfig enabled discovery,
     # as expected.
     service.discovery_enabled = True
     clock.advance(300)
     self.assertThat(scanIfNeeded, MockCalledOnceWith())
示例#3
0
 def test_scanIfNeeded_logs_success(self):
     service = ActiveDiscoveryService(Clock())
     try_lock_and_scan = self.patch(service, "try_lock_and_scan")
     try_lock_and_scan.return_value = "happy"
     service.discovery_enabled = True
     service.discovery_last_scan = 0
     service.discovery_interval = 1
     service.startService()
     with TwistedLoggerFixture() as logger:
         yield service.run()
     self.assertThat(logger.output,
                     DocTestMatches("...Active network discovery: happy"))
示例#4
0
 def test_run_handles_refresh_failure(self):
     clock = Clock()
     service = ActiveDiscoveryService(clock)
     refreshDiscoveryConfig = self.patch(service, "refreshDiscoveryConfig")
     refreshDiscoveryConfig.side_effect = Exception
     with TwistedLoggerFixture() as logger:
         service.startService()
     self.assertThat(
         logger.output, DocTestMatches(dedent("""\
             ...: error refreshing discovery configuration.
             Traceback (most recent call last):
             ...""")))
示例#5
0
 def test_run_calls_refreshDiscoveryConfig(self):
     clock = Clock()
     service = ActiveDiscoveryService(clock)
     refreshDiscoveryConfig = self.patch(service, "refreshDiscoveryConfig")
     service.startService()
     self.assertThat(refreshDiscoveryConfig, MockCalledOnceWith())