def test_extract_projectname(self):

        names = [
            ["ssh://gitlab.server.local/group1/project", "group1/project"],
            ["gitlab.server.local/group1/project", "group1/project"],
            ["ssh://[email protected]/group1/project", "group1/project"],
            ["[email protected]/group1/project", "group1/project"],
            ["[email protected]:2222/group1/project", "group1/project"],
            [
                "ssh://[email protected]:2222/group1/project",
                "group1/project"
            ],
            [
                "ssh://gitlab.server.local:2222/group1/project",
                "group1/project"
            ], ["[email protected]:group1/project.git", "group1/project"]
        ]

        args = create_argparser(TestGitlabController.minimal_args)
        gl_client = GitlabClient(args)

        for url, name in names:
            extracted = gl_client.extract_gitlab_project_name(url)

            assert isinstance(extracted, str)
            assert extracted != ''
            assert name == extracted
    def test_create_instance(self):

        args = create_argparser(TestGitlabController.minimal_args)
        gl_client = GitlabClient(args)

        assert gl_client
        assert gl_client.baseurl == 'https://gitlab.localdomain.local'
        assert gl_client.token == 'invalidtoken'
Exemple #3
0
    def test_is_not_modified(self):

        args = create_argparser(['-g', '/tmp/gitme'])

        gc = Gitcommand()
        git = Git(args)

        assert not git.is_modified()
    def test_project_url(self):

        args = create_argparser(TestGitlabController.minimal_args)
        gl_client = GitlabClient(args)

        project_url = gl_client.project_url()

        assert isinstance(project_url, str)
        assert project_url == 'https://gitlab.localdomain.local/api/v4/projects/aufbaubank%2Fgitme'
    def test_run_command(self):

        args = create_argparser(TestGitlabController.minimal_args)
        gl_client = GitlabClient(args)

        output_str = gl_client.run_command(['echo', '123'])

        assert isinstance(output_str, str)
        assert output_str == '123\n'
Exemple #6
0
    def test_create_update_branch_new_and_untracked(self):
        args = create_argparser(['-g', '/tmp/gitme'])

        gc = Gitcommand()
        git = Git(args)

        gc.create_untracked()

        assert git.create_update_branch()
Exemple #7
0
    def test_is_modified_tracked(self):
        args = create_argparser(['-g', '/tmp/gitme'])

        gc = Gitcommand()
        git = Git(args)

        gc.create_untracked()
        gc.track_all()
        assert git.is_modified()
Exemple #8
0
    def test_mr_not_present(self, requests_mock):

        args = create_argparser(TestGitlabControllerApi.minimal_args)
        gl_client = GitlabClient(args)
        mock = Mock.Data(requests_mock)
        mock.mock_no_mrs()

        gl_client.create_update_mergerequest()

        assert gl_client
Exemple #9
0
    def test_ssh_config_user(self):
        args = create_argparser(['-g', '/tmp/gitme'])

        gc = Gitcommand()
        git = Git(args)

        git.ssh_config_user()

        assert 'gitme\n' == gc.get_user_name()
        assert 'gitme@' + socket.gethostname() + '\n' == gc.get_user_email()
        assert re.match(r'gitme@[a-zA-Z0-9.-]+\n', gc.get_user_email())
    def test_git_remote_url(self):

        url_regex = re.compile(
            '^(https://|git@)github.com[:|/]aufbaubank/gitme.git$')

        args = create_argparser(TestGitlabController.minimal_args)
        gl_client = GitlabClient(args)

        remote_url = gl_client.git_remote_url()

        assert isinstance(remote_url, str)
        assert 'github.com' in remote_url
        assert 'aufbaubank/gitme.git' in remote_url
        assert re.match(url_regex, remote_url)