def test_create_config_environment_existing(self):
        mock_mistral = mock.Mock()
        environment = collections.namedtuple('environment', ['name'])
        mock_mistral.environments.get.return_value = environment(
            name='overcloud')
        env = {
            "UNDERCLOUD_CEILOMETER_SNMPD_PASSWORD": "******"
        }

        undercloud._create_mistral_config_environment(env, mock_mistral)
        mock_mistral.executions.create.assert_not_called()
    def test_create_config_environment(self):
        mock_mistral = mock.Mock()
        mock_mistral.environments.get.side_effect = (
            mistralclient_base.APIException)

        env = {
            "UNDERCLOUD_CEILOMETER_SNMPD_PASSWORD": "******"
        }
        json_string = '{"undercloud_ceilometer_snmpd_password": "******"}'

        undercloud._create_mistral_config_environment(env, mock_mistral)

        mock_mistral.environments.create.assert_called_once_with(
            name="tripleo.undercloud-config",
            variables=json_string)