@@ -289,6 +289,51 @@ def test_agent_register_check_no_service_id(self, consul_port):
289289
290290 time .sleep (40 / 1000.0 )
291291
292+ def test_agent_service_maintenance (self , consul_port ):
293+ c = consul .Consul (port = consul_port )
294+
295+ c .agent .service .register ('foo' , ttl = '100ms' )
296+
297+ time .sleep (40 / 1000.0 )
298+
299+ c .agent .service .maintenance ('foo' , 'true' , "test" )
300+
301+ time .sleep (40 / 1000.0 )
302+
303+ checks_pre = c .agent .checks ()
304+ assert '_service_maintenance:foo' in checks_pre .keys ()
305+ assert 'test' == checks_pre ['_service_maintenance:foo' ]['Notes' ]
306+
307+ c .agent .service .maintenance ('foo' , 'false' )
308+
309+ time .sleep (40 / 1000.0 )
310+
311+ checks_post = c .agent .checks ()
312+ assert '_service_maintenance:foo' not in checks_post .keys ()
313+
314+ # Cleanup
315+ c .agent .service .deregister ('foo' )
316+
317+ time .sleep (40 / 1000.0 )
318+
319+ def test_agent_node_maintenance (self , consul_port ):
320+ c = consul .Consul (port = consul_port )
321+
322+ c .agent .maintenance ('true' , "test" )
323+
324+ time .sleep (40 / 1000.0 )
325+
326+ checks_pre = c .agent .checks ()
327+ assert '_node_maintenance' in checks_pre .keys ()
328+ assert 'test' == checks_pre ['_node_maintenance' ]['Notes' ]
329+
330+ c .agent .maintenance ('false' )
331+
332+ time .sleep (40 / 1000.0 )
333+
334+ checks_post = c .agent .checks ()
335+ assert '_node_maintenance' not in checks_post .keys ()
336+
292337 def test_agent_members (self , consul_port ):
293338 c = consul .Consul (port = consul_port )
294339 members = c .agent .members ()
0 commit comments