def take_action(self, parsed_args): api = AtmosphereAPI(self.app_args.auth_token, base_url=self.app_args.base_url, timeout=self.app_args.api_server_timeout, verify=self.app_args.verify_cert) payload = { "name": parsed_args.name, "description": parsed_args.description, "owner": parsed_args.owner } self.log.debug('INPUT: {}'.format(json.dumps(payload))) data = api.create_project(json.dumps(payload)) project = () column_headers = ('id', 'uuid', 'name', 'description', 'owner', 'start_date') if data.ok: message = data.message project = (message['id'], message['uuid'], message['name'], message['description'], message['owner']['name'], message['start_date']) else: self.app.stdout.write( 'Error, project not created! Make sure to supply a name, description, and owner (group name).' ) return (column_headers, project)
def test_creating_project_when_response_is_not_ok(self): api = AtmosphereAPI('token', base_url=self.mock_users_base_url) payload = { 'name': '', 'description': 'my first project', 'owner': 'eriksf' } response = api.create_project(json.dumps(payload)) assert not response.ok assert response.message['name'][0] == 'This field may not be blank.'
def test_creating_project_when_owner_is_invalid(self): api = AtmosphereAPI('token', base_url=self.mock_users_base_url) payload = { 'name': 'myfirstproject', 'description': 'my first project', 'owner': 'xxxxx' } response = api.create_project(json.dumps(payload)) assert not response.ok assert response.message['owner'][ 0] == "Group with Field: name 'xxxxx' does not exist."