示例#1
0
    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)
示例#2
0
 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.'
示例#3
0
 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."