~allenap/maas/xxx-a-thon

« back to all changes in this revision

Viewing changes to src/provisioningserver/pserv_services/tests/test_dhcp_probe_service.py

  • Committer: Gavin Panella
  • Date: 2016-03-22 21:14:34 UTC
  • mfrom: (4657.1.157 maas)
  • Revision ID: gavin.panella@canonical.com-20160322211434-xzuovio86zvzo2js
Merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
36
36
 
37
37
    run_tests_with = MAASTwistedRunTest.make_factory(timeout=5)
38
38
 
39
 
    def setUp(self):
40
 
        super(TestDHCPProbeService, self).setUp()
41
 
        self.cluster_uuid = factory.make_UUID()
42
 
 
43
39
    def patch_rpc_methods(self):
44
40
        fixture = self.useFixture(MockLiveClusterToRegionRPCFixture())
45
41
        protocol, connecting = fixture.makeEventLoop(
59
55
    def test_is_called_every_interval(self):
60
56
        clock = Clock()
61
57
        service = DHCPProbeService(
62
 
            sentinel.service, clock, self.cluster_uuid)
 
58
            sentinel.service, clock)
63
59
 
64
60
        # Avoid actually probing
65
61
        probe_dhcp = self.patch(service, 'probe_dhcp')
101
97
        deferToThread = self.patch(dhcp_probe_service, 'deferToThread')
102
98
        deferToThread.return_value = defer.succeed(None)
103
99
        service = DHCPProbeService(
104
 
            rpc_service, clock, self.cluster_uuid)
 
100
            rpc_service, clock)
105
101
        service.startService()
106
102
        self.assertThat(
107
103
            deferToThread, MockCalledOnceWith(
121
117
        rpc_service = Mock()
122
118
        rpc_service.getClient.return_value = getRegionClient()
123
119
        service = DHCPProbeService(
124
 
            rpc_service, clock, self.cluster_uuid)
 
120
            rpc_service, clock)
125
121
        yield service.startService()
126
122
        yield service.stopService()
127
123
 
151
147
        rpc_service = Mock()
152
148
        rpc_service.getClient.return_value = getRegionClient()
153
149
        service = DHCPProbeService(
154
 
            rpc_service, clock, self.cluster_uuid)
 
150
            rpc_service, clock)
155
151
        yield service.startService()
156
152
        yield service.stopService()
157
153
 
165
161
        clock = Clock()
166
162
        maaslog = self.patch(dhcp_probe_service, 'maaslog')
167
163
        service = DHCPProbeService(
168
 
            sentinel.service, clock, self.cluster_uuid)
 
164
            sentinel.service, clock)
169
165
        error_message = factory.make_string()
170
166
        self.patch(service, 'probe_dhcp').side_effect = Exception(
171
167
            error_message)
192
188
            'interfaces': [interface],
193
189
            }
194
190
 
 
191
        client = getRegionClient()
195
192
        rpc_service = Mock()
196
 
        rpc_service.getClient.return_value = getRegionClient()
 
193
        rpc_service.getClient.return_value = client
 
194
 
197
195
        service = DHCPProbeService(
198
 
            rpc_service, clock, self.cluster_uuid)
 
196
            rpc_service, clock)
199
197
        yield service.startService()
200
198
        yield service.stopService()
201
199
 
203
201
            protocol.ReportForeignDHCPServer,
204
202
            MockCalledOnceWith(
205
203
                protocol,
206
 
                cluster_uuid=self.cluster_uuid,
 
204
                cluster_uuid=client.localIdent,
207
205
                interface_name=interface['name'],
208
206
                foreign_dhcp_ip=foreign_dhcp_ip))
209
207
 
222
220
            'interfaces': [interface],
223
221
            }
224
222
 
 
223
        client = getRegionClient()
225
224
        rpc_service = Mock()
226
 
        rpc_service.getClient.return_value = getRegionClient()
 
225
        rpc_service.getClient.return_value = client
227
226
        service = DHCPProbeService(
228
 
            rpc_service, clock, self.cluster_uuid)
 
227
            rpc_service, clock)
229
228
        yield service.startService()
230
229
        yield service.stopService()
231
230
 
233
232
            protocol.ReportForeignDHCPServer,
234
233
            MockCalledOnceWith(
235
234
                protocol,
236
 
                cluster_uuid=self.cluster_uuid,
 
235
                cluster_uuid=client.localIdent,
237
236
                interface_name=interface['name'],
238
237
                foreign_dhcp_ip=None))