def test_no_invalid_op_call(self): inventory = make_inventory() state = State(inventory, Config()) connect_all(state) pseudo_state.set(state) state.in_op = True with self.assertRaises(PyinfraError): server.user('someuser') state.in_op = False state.in_deploy = True with self.assertRaises(PyinfraError): server.user('someuser')
def test_pseudo_op(self): inventory = make_inventory() state = State(inventory, Config()) connect_all(state) pseudo_state.set(state) pseudo_host.set(inventory['somehost']) # Exceute the op "bare" server.shell('echo "hi"') # Ensure this is ignored state.active = False server.shell('echo "hi 2"') # We should now have one op self.assertEqual(len(state.op_order), 1) # Ensure only somehost has actual op self.assertEqual(len(state.ops['somehost']), 1) self.assertEqual(len(state.ops['anotherhost']), 0) # Check we can't call it inside another op state.active = True state.in_op = True with self.assertRaises(PyinfraError): server.shell('echo "hi 3"') pseudo_state.reset() pseudo_host.reset()