コード例 #1
0
    def test_get_milestones(self):
        # Dictionary being passed to the python get_milestone function
        user_details = create_get_projects_user_details_object(
            country=True, profile_description=True)
        get_milestones_data = {
            'milestone_ids': [
                101,
                102,
            ],
            'limit': 20,
            'offset': 10,
            'user_details': user_details
        }

        self.session.session.get = Mock()
        self.session.session.get.return_value = FakeGetMilestonesGetResponse()
        response = get_milestones(self.session, **get_milestones_data)

        # Transforms the dictionary into the actual request sent by the function
        get_milestones_data.update(
            {'milestones[]': get_milestones_data['milestone_ids']})
        get_milestones_data.update(user_details)
        del (get_milestones_data['milestone_ids'])
        del (get_milestones_data['user_details'])

        self.session.session.get.assert_called_once_with(
            'https://fake-fln.com/api/projects/0.1/milestones/',
            params=get_milestones_data,
            verify=True)
        self.assertEquals(len(response['milestones']), 2)
コード例 #2
0
def sample_get_projects():
    url = os.environ.get('FLN_URL')
    oauth_token = os.environ.get('FLN_OAUTH_TOKEN')
    session = Session(oauth_token=oauth_token, url=url)

    query = create_get_projects_object(
        project_ids=[
            201,
            202,
            203,
        ],
        project_details=create_get_projects_project_details_object(
            full_description=True,
            jobs=True,
            qualifications=True,
        ),
        user_details=create_get_projects_user_details_object(
            basic=True,
            profile_description=True,
            reputation=True,
        ),
    )

    try:
        p = get_projects(session, query)
    except ProjectsNotFoundException as e:
        print('Error message: {}'.format(e.message))
        print('Server response: {}'.format(e.error_code))
        return None
    else:
        return p
コード例 #3
0
 def test_get_milestone(self):
     milestone_id = 101
     user_details = create_get_projects_user_details_object(
         country=True, profile_description=True)
     self.session.session.get = Mock()
     self.session.session.get.return_value = FakeGetMilestoneByIDGetResponse(
     )
     get_milestone_by_id(self.session, milestone_id, user_details)
     self.session.session.get.assert_called_once_with(
         'https://fake-fln.com/api/projects/0.1/milestones/{}/'.format(
             milestone_id),
         params=user_details,
         verify=True)
コード例 #4
0
    def test_create_get_projects_object(self):
        query = create_get_projects_object(
            project_ids=[
                201,
                202,
                203,
            ],
            project_details=create_get_projects_project_details_object(
                full_description=True, ),
            user_details=create_get_projects_user_details_object(basic=True, ),
        )

        self.assertIn(('projects[]', [201, 202, 203]), query.items())
コード例 #5
0
    def test_get_projects(self):
        query = create_get_projects_object(
            project_ids=[
                201,
                202,
                203,
            ],
            project_details=create_get_projects_project_details_object(
                full_description=True, ),
            user_details=create_get_projects_user_details_object(basic=True, ),
        )

        self.session.session.get = Mock()
        self.session.session.get.return_value = FakeGetProjectsGetResponse()
        get_projects(self.session, query)
        self.session.session.get.assert_called_once_with(
            'https://fake-fln.com/api/projects/0.1/projects/',
            params=query,
            verify=True)
コード例 #6
0
def sample_get_project_by_id():
    url = os.environ.get('FLN_URL')
    oauth_token = os.environ.get('FLN_OAUTH_TOKEN')
    session = Session(oauth_token=oauth_token, url=url)

    project_id = 15389177
    project_details = create_get_projects_project_details_object(
        full_description=True)
    user_details = create_get_projects_user_details_object(basic=True)

    try:
        p = get_project_by_id(session, project_id, project_details,
                              user_details)
    except ProjectsNotFoundException as e:
        print('Error message: {}'.format(e.message))
        print('Server response: {}'.format(e.error_code))
        return None
    else:
        return p
コード例 #7
0
    def test_search_projects(self):
        query = 'logo design'
        limit = 3
        offset = 0
        query_data = {
            'query': query,
            'limit': limit,
            'offset': offset,
        }
        search_filter = create_search_projects_filter(
            sort_field='time_updated',
            or_search_query=True,
        )
        project_details = create_get_projects_project_details_object(
            jobs=True, )
        user_details = create_get_projects_user_details_object(basic=True, )
        query_data.update(search_filter)
        query_data.update(project_details)
        query_data.update(user_details)
        self.session.session.get = Mock()
        self.session.session.get.return_value = FakeSearchProjectsGetResponse()
        p = search_projects(
            self.session,
            query=query,
            search_filter=search_filter,
            project_details=project_details,
            user_details=user_details,
            limit=limit,
            offset=offset,
        )

        self.session.session.get.assert_called_once_with(
            'https://fake-fln.com/api/projects/0.1/projects/all/',
            params=query_data,
            verify=True)
        self.assertEquals(len(p['projects']), query_data['limit'])