[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/malmor/python-gitlab/main/tests/functional/api/test_groups.py [Back]  [Original]

import pytest

import gitlab


def test_groups(gl):
    # TODO: This one still needs lots of work
    user = gl.users.create(
        {
            "email": "user@test.com",
            "username": "user",
            "name": "user",
            "password": "E4596f8be406Bc3a14a4ccdb1df80587#!1",
        }
    )
    user2 = gl.users.create(
        {
            "email": "user2@test.com",
            "username": "user2",
            "name": "user2",
            "password": "E4596f8be406Bc3a14a4ccdb1df80587#!#2",
        }
    )
    group1 = gl.groups.create(
        {"name": "gitlab-test-group1", "path": "gitlab-test-group1"}
    )
    group2 = gl.groups.create(
        {"name": "gitlab-test-group2", "path": "gitlab-test-group2"}
    )

    p_id = gl.groups.list(search="gitlab-test-group2")[0].id
    group3 = gl.groups.create(
        {"name": "gitlab-test-group3", "path": "gitlab-test-group3", "parent_id": p_id}
    )
    group4 = gl.groups.create(
        {"name": "gitlab-test-group4", "path": "gitlab-test-group4"}
    )

    assert {group1, group2, group3, group4}  15 or (
        gitlab_version.major == 15 and gitlab_version.minor >= 9
    )

    p_b = group.protectedbranches.create(
        {"name": "*-stable", "allow_force_push": False}
    )
    assert p_b.name == "*-stable"
    assert not p_b.allow_force_push
    assert p_b in group.protectedbranches.list()

    if can_update_prot_branch:
        p_b.allow_force_push = True
        p_b.save()

    p_b = group.protectedbranches.get("*-stable")
    if can_update_prot_branch:
        assert p_b.allow_force_push

        p_b.delete()


def test_group_transfer(gl, group):
    transfer_group = gl.groups.create(
        {"name": "transfer-test-group", "path": "transfer-test-group"}
    )
    transfer_group = gl.groups.get(transfer_group.id)
    assert transfer_group.parent_id != group.id

    transfer_group.transfer(group.id)

    transferred_group = gl.groups.get(transfer_group.id)
    assert transferred_group.parent_id == group.id

    transfer_group.transfer()

    transferred_group = gl.groups.get(transfer_group.id)
    assert transferred_group.path == transferred_group.full_path


@pytest.mark.gitlab_premium
@pytest.mark.xfail(reason="need to setup an identity provider or it's mock")
def test_group_saml_group_links(group):
    group.saml_group_links.create(
        {"saml_group_name": "saml-group-1", "access_level": 10}
    )


@pytest.mark.gitlab_premium
def test_group_service_account(group):
    service_account = group.service_accounts.create(
        {"name": "gitlab-service-account", "username": "gitlab-service-account"}
    )
    assert service_account.name == "gitlab-service-account"
    assert service_account.username == "gitlab-service-account"

Web Proxy Viewer  |  New URL  |  Original Page