def test_should_add_error_if_no_host_name_found(self):
        single_service_yaml = """
                prod:
                    services:
                        hello_world: [ web_node, web_node ]
                        mongo: [ db_node ]

                    node_provider:
                        class_name: LXCNodeProvider
                        invalid_host_name: ec2-107-20-98-18.compute-1.amazonaws.com
                        admin_user: ubuntu
                        credentials: test
                """
        lxc_node_provider = LXCNodeProvider()
        error_list = []
        lxc_node_provider.validate('prod', yaml.load(single_service_yaml)['prod']['node_provider'], error_list, all_credentials)
        self.assertEqual(len(error_list), 1)
        self.assertEqual("Key 'host_name' not found for LXC in 'prod' environment", error_list[0])
    def test_should_add_error_if_host_name_contains_only_spaces(self):
        single_service_yaml = """
                prod:
                    services:
                        hello_world: [ web_node, web_node ]
                        mongo: [ db_node ]

                    node_provider:
                        class_name: LXCNodeProvider
                        host_name:
                        admin_user: ubuntu
                        credentials: test
                """
        lxc_node_provider = LXCNodeProvider()
        error_list = []
        lxc_node_provider.validate('prod', yaml.load(single_service_yaml)['prod']['node_provider'], error_list, all_credentials)
        self.assertEqual(len(error_list), 1)
        self.assertEqual("Key 'host_name' not defined for LXC in 'prod' environment", error_list[0])
    def test_will_parse_LXC_node_environment_configuration(self):
        single_service_yaml = """
                prod:
                    services:
                        hello_world: [ web_node, web_node ]
                        mongo: [ db_node ]

                    node_provider:
                        class_name: LXCNodeProvider
                        host_name: ec2-107-20-98-18.compute-1.amazonaws.com
                        admin_user: ubuntu
                        credentials: test
                """

        lxc_node_provider = LXCNodeProvider()
        error_list = []
        lxc_node_provider.validate('prod', yaml.load(single_service_yaml)['prod']['node_provider'], error_list, all_credentials)
        self.assertEqual(len(error_list), 0)