| Total Complexity | 1 |
| Total Lines | 27 |
| Duplicated Lines | 0 % |
| 1 | import mock |
||
| 20 | class DockerSensorTestCase(BaseSensorTestCase): |
||
| 21 | def test_poll(self): |
||
| 22 | # TODO: Move to base test class |
||
| 23 | sensor = DockerSensor(sensor_service=self.sensor_service) |
||
| 24 | |||
| 25 | # No existing and no running containers (e.g. after initial sensor poll) |
||
| 26 | sensor._running_containers = {} |
||
| 27 | sensor._get_active_containers = mock.Mock() |
||
| 28 | sensor._get_active_containers.return_value = {} |
||
| 29 | |||
| 30 | sensor.poll() |
||
| 31 | self.assertEqual(self.get_dispatched_triggers(), []) |
||
| 32 | |||
| 33 | # One container started |
||
| 34 | sensor._get_active_containers.return_value = {'1': MOCK_CONTAINER_DATA} |
||
| 35 | |||
| 36 | sensor.poll() |
||
| 37 | self.assertEqual(len(self.get_dispatched_triggers()), 1) |
||
| 38 | self.assertTriggerDispatched(trigger='docker.container_tracker.started', |
||
| 39 | payload={'container_info': MOCK_CONTAINER_DATA}) |
||
| 40 | |||
| 41 | # One container stopped |
||
| 42 | sensor._get_active_containers.return_value = {} |
||
| 43 | sensor.poll() |
||
| 44 | self.assertEqual(len(self.get_dispatched_triggers()), 2) |
||
| 45 | self.assertTriggerDispatched(trigger='docker.container_tracker.stopped', |
||
| 46 | payload={'container_info': MOCK_CONTAINER_DATA}) |
||
| 47 |