diff --git a/mistralclient/commands/v2/environments.py b/mistralclient/commands/v2/environments.py index 90bc1c5f..241aae9a 100644 --- a/mistralclient/commands/v2/environments.py +++ b/mistralclient/commands/v2/environments.py @@ -66,9 +66,14 @@ def format(environment=None): ) if environment: - data = ( - environment.name, - environment.description, + data = (environment.name,) + + if hasattr(environment, 'description'): + data += (environment.description or '',) + else: + data += (None,) + + data += ( json.dumps(environment.variables, indent=4), environment.scope, environment.created_at, diff --git a/mistralclient/tests/functional/cli/v2/cli_tests_v2.py b/mistralclient/tests/functional/cli/v2/cli_tests_v2.py index 2415d32c..8c4379aa 100644 --- a/mistralclient/tests/functional/cli/v2/cli_tests_v2.py +++ b/mistralclient/tests/functional/cli/v2/cli_tests_v2.py @@ -627,6 +627,29 @@ class EnvironmentCLITests(base_v2.MistralClientTestBase): envs = self.mistral_admin('environment-list') self.assertNotIn(env_name, [en['Name'] for en in envs]) + def test_environment_create_without_description(self): + self.create_file('env_without_des.yaml', + 'name: env\n' + 'variables:\n' + ' var: "value"') + + env = self.mistral_admin('environment-create', + params='env_without_des.yaml') + + env_name = self.get_value_of_field(env, 'Name') + env_desc = self.get_value_of_field(env, 'Description') + + self.assertTableStruct(env, ['Field', 'Value']) + + envs = self.mistral_admin('environment-list') + self.assertIn(env_name, [en['Name'] for en in envs]) + self.assertIn(env_desc, 'None') + + self.mistral_admin('environment-delete', params='env') + + envs = self.mistral_admin('environment-list') + self.assertNotIn(env_name, [en['Name'] for en in envs]) + def test_environment_update(self): env = self.environment_create('env.yaml') env_name = self.get_value_of_field(env, 'Name')