Beispiel #1
0
 def test_group_access(self):
     project = Project(api=self.api,
                       info=dict(INFO, permissions=GROUP_ACCESS))
     bad_project = Project(api=self.api,
                           info=dict(INFO, permissions=NONE_ACCESS))
     assert project.access_level == AccessLevel.developer
     with pytest.raises(AssertionError):
         bad_project.access_level  # pylint: disable=pointless-statement
Beispiel #2
0
    def test_fetch_by_id(self):
        api = self.api
        api.call = Mock(return_value=INFO)

        project = Project.fetch_by_id(project_id=1234, api=api)

        api.call.assert_called_once_with(GET('/projects/1234'))
        assert project.info == INFO
Beispiel #3
0
 def test_properties(self):
     project = Project(api=self.api, info=INFO)
     assert project.id == 1234
     assert project.path_with_namespace == 'cool/project'
     assert project.ssh_url_to_repo == 'ssh://blah.com/cool/project.git'
     assert project.merge_requests_enabled is True
     assert project.only_allow_merge_if_pipeline_succeeds is True
     assert project.access_level == AccessLevel.developer
Beispiel #4
0
    def test_fetch_by_path_exists(self):
        api = self.api
        prj1 = INFO
        prj2 = dict(INFO, id=1235, path_with_namespace='foo/bar')
        prj3 = dict(INFO, id=1240, path_with_namespace='foo/foo')
        api.collect_all_pages = Mock(return_value=[prj1, prj2, prj3])

        project = Project.fetch_by_path('foo/bar', api)

        api.collect_all_pages.assert_called_once_with(GET('/projects'))
        assert project and project.info == prj2
Beispiel #5
0
    def test_fetch_all_mine(self):
        prj1, prj2 = INFO, dict(INFO, id=678)

        api = self.api
        api.collect_all_pages = Mock(return_value=[prj1, prj2])

        result = Project.fetch_all_mine(api)
        api.collect_all_pages.assert_called_once_with(
            GET(
                '/projects',
                {
                    'membership': True,
                    'with_merge_requests_enabled': True
                },
            ))
        assert [prj.info for prj in result] == [prj1, prj2]
Beispiel #6
0
    def fetch_all_mine_with_permissions(self):
        prj1, prj2 = INFO, dict(INFO, id=678)

        api = self.api
        api.collect_all_pages = Mock(return_value=[prj1, prj2])
        api.version = Mock(return_value=Version.parse("11.0.0-ee"))

        result = Project.fetch_all_mine(api)
        api.collect_all_pages.assert_called_once_with(GET(
            '/projects',
            {
                'membership': True,
                'with_merge_requests_enabled': True,
            },
        ))
        assert [prj.info for prj in result] == [prj1, prj2]
        assert all(prj.access_level == AccessLevel.developer for prj in result)