def setUp(self): self.inner_provider = mock() self.node_definition = mock() self.sut = NoopNodeProvider(self.inner_provider)
class NoopProviderTests(unittest.TestCase): def setUp(self): self.inner_provider = mock() self.node_definition = mock() self.sut = NoopNodeProvider(self.inner_provider) def test_should_not_call_inner_provider_on_state_changing_events(self): self.sut.start(None, None, None) self.sut.shutdown(None) verifyZeroInteractions(self.inner_provider) def test_should_add_actions_to_noop_list_for_state_changing_events(self): self.sut.start(self.node_definition, "env_name", "env_def_name") self.sut.shutdown("node_id") self.assertEqual(2, len(self.sut.actions)) def test_should_capture_actions_on_returned_nodes_from_start(self): new_node = self.sut.start(self.node_definition, "env_name", "env_def_name") new_node.run_command("do something") new_node.upload_file("file", "destination") new_node.add_service_to_tags("service_name", [DynamicDictionary({'ports':[80]})]) self.assertEqual(4, len(self.sut.actions)) def test_should_capture_actions_on_returned_nodes_from_list(self): node = create_node() when(self.inner_provider).list('cred', node_predicates.all_nodes).thenReturn([node]) new_node = self.sut.list('cred')[0] new_node.run_command("do something") new_node.upload_file("file", "destination") new_node.add_service_to_tags("service_name", [DynamicDictionary({'ports' : [80]})]) self.assertEqual(3, len(self.sut.actions)) def test_should_return_new_nodes_in_list_function(self): existing_node = create_node() when(self.inner_provider).list('cred', node_predicates.all_nodes).thenReturn([existing_node]) new_node = self.sut.start(None,None,None) nodes = self.sut.list('cred') self.assertIn(new_node, nodes) def test_should_not_return_terminated_nodes(self): existing_node = create_node() when(self.inner_provider).list('cred', node_predicates.all_nodes).thenReturn([existing_node]) self.sut.shutdown("id") nodes = self.sut.list('cred') self.assertEqual(0, len(nodes))