def test_should_return_empty_running_environment_if_nothing_is_running(self): mock_command_helper = mock() when(mock_command_helper).run_command("sudo lxc-ls -c1").thenReturn("") provider = LXCNodeProvider(None, None, mock_command_helper) environment = provider.get_running_environment("test", "test", all_credentials) self.assertIsNotNone(environment) self.assertEqual(0, len(environment.get_locations()))
def test_should_return_a_list_of_nodes_from_a_running_environment(self): mock_command_helper = mock() tags1 = """ 'services' : 'apache': {80: 80} 'credentials_name': 'test' 'env_name' : 'test' 'env_def_name' : 'Single-AZ Deployment' """ tags2 = """ 'services' : 'mongo': {81: 82} 'credentials_name': 'test' 'env_name' : 'test' 'env_def_name' : 'Single-AZ Deployment' """ when(mock_command_helper).run_command("sudo lxc-ls -c1").thenReturn("123\n124") when(mock_command_helper).run_command("if sudo [ -f /var/lib/lxc/123/tags ]; then sudo cat /var/lib/lxc/123/tags; else echo '{}'; fi").thenReturn(tags1) when(mock_command_helper).run_command("if sudo [ -f /var/lib/lxc/124/tags ]; then sudo cat /var/lib/lxc/124/tags; else echo '{}'; fi").thenReturn(tags2) when(mock_command_helper).run_command("sudo lxc-info -n 123").thenReturn("state: RUNNING") when(mock_command_helper).run_command("sudo lxc-info -n 124").thenReturn("state: RUNNING") provider = LXCNodeProvider(all_credentials, 'test_host', mock_command_helper) environment = provider.get_running_environment("test", "Single-AZ Deployment", all_credentials) self.assertIsNotNone(environment) self.assertEquals(1, len(environment.get_locations())) self.assertIsNotNone(environment.get_locations()[0].get_nodes()) self.assertEquals('test_host', environment.get_locations()[0].get_name()) node1 = environment.get_locations()[0].get_nodes()[0] self.assertIsNotNone(node1.get_services()) self.assertEquals({'apache' : {80 : 80}}, node1.get_services()) node2 = environment.get_locations()[0].get_nodes()[1] self.assertIsNotNone(node2.get_services()) self.assertEquals({'mongo' : {81 : 82}}, node2.get_services())