Exemple #1
0
def test_get_labels(mock_Github):
    gh = GitHub(token='foo')
    gh.github = mock_Github
    repo = gh._get_user().create_repo()
    labels = gh._get_labels(repo)

    repo.get_labels.assert_called()
    assert len(labels) == 5
def test_createCard(mockGithub):
    gh = GitHub(token='foo')
    gh.github = mockGithub
    repo = gh._getUser().create_repo()
    project = gh._createProject(repo, 'testOrg', 'testBody')
    column = gh._createColumn(project, 'test')
    issue = gh._createIssue(repo, 'testMilestone', 'testTitle', 'testBody', [])
    gh._createCard(column, issue)

    column.create_card.assert_called_with(content_id=issue.id, content_type="Issue")
def test_authenticate(patched):
    patched.return_value = None

    gh = GitHub(username='******', password='******')
    patched.assert_called_with('test', 'test')

    gh = GitHub(hostname='test.com', token='test')
    patched.assert_called_with(base_url='https://test.com/api/v3', login_or_token='test')

    gh = GitHub(token='testToken')
    patched.assert_called_with('testToken')

    with pytest.raises(ValueError) as exc:
        gh = GitHub('something')  # NOQA
    assert "incorrect parameters were passed" in str(exc.value)
Exemple #4
0
def test_delete_label(mock_Github):
    gh = GitHub(token='foo')
    gh.github = mock_Github
    repo = gh._get_user().create_repo()
    label = gh._create_label(repo, 'test', '000000')
    gh._delete_label(label)

    label.delete.assert_called()
def test_createColumns(mockGithub):
    gh = GitHub(token='foo')
    gh.github = mockGithub
    repo = gh._getUser().create_repo()
    project = gh._createProject(repo, 'testOrg', 'testBody')
    gh._createColumns(project)

    assert project.create_column.call_args_list == [call('To Do'), call('In Progress'), call('Completed')]
Exemple #6
0
def test_create_column(mock_Github):
    gh = GitHub(token='foo')
    gh.github = mock_Github
    repo = gh._get_user().create_repo()
    project = gh._create_project(repo, 'testOrg', 'testBody')
    gh._create_column(project, 'test')

    project.create_column.assert_called_with('test')
Exemple #7
0
def test_delete_labels(mock_Github):
    gh = GitHub(token='foo')
    gh.github = mock_Github
    repo = gh._get_user().create_repo()
    labels = gh._get_labels(repo)
    gh._delete_labels(repo)

    for label in labels:
        label.delete.assert_called()
Exemple #8
0
def test_build_description():
    gh = GitHub(token='foo')
    task1 = Task()
    task1.title = "Test 1"
    task1.description = "This is a description 1"

    task2 = Task()
    task2.title = "Test 2"
    task2.description = "This is a description 2"

    tasks = [task1, task2]
    desc = "This is a sample feature description"

    result = gh._build_description(desc, tasks)
    assert result == "This is a sample feature description" \
                     "\n" \
                     "\n- [ ] **Test 1**" \
                     "\n      This is a description 1" \
                     "\n" \
                     "\n- [ ] **Test 2**" \
                     "\n      This is a description 2"
Exemple #9
0
def test_create_label(mock_Github):
    gh = GitHub(token='foo')
    gh.github = mock_Github
    repo = gh._get_user().create_repo()
    gh._create_label(repo, 'testLabel', '000000')

    repo.create_label.assert_called_with('testLabel', '000000')
def test_createMilestone(mockGithub):
    gh = GitHub(token='foo')
    gh.github = mockGithub
    repo = gh._getUser().create_repo()
    gh._createMilestone(repo, 'testMilestone', 'testDesc')

    repo.create_milestone.assert_called_with('testMilestone', description='testDesc')
def test_createOrgRepo(mockGithub):
    gh = GitHub(token='foo')
    gh.github = mockGithub
    org = gh._getOrg('testOrg')
    gh._createOrgRepo('testOrg', 'testRepo')

    org.create_repo.assert_called_with(name='testRepo', has_issues=True, auto_init=True, private=True)
def test_createUserRepo(mockGithub):
    gh = GitHub(token='foo')
    gh.github = mockGithub
    user = gh._getUser()
    gh._createUserRepo('testRepo')

    user.create_repo.assert_called_with(name='testRepo', has_issues=True, auto_init=True, private=True)
def test_createIssue(mockGithub):
    gh = GitHub(token='foo')
    gh.github = mockGithub
    repo = gh._getUser().create_repo()
    gh._createIssue(repo, 'testMilestone', 'testTitle', 'testBody', [])

    repo.create_issue.assert_called_with('testTitle', body='testBody', milestone='testMilestone', labels=[])
Exemple #14
0
def test_create_project(mock_Github):
    gh = GitHub(token='foo')
    gh.github = mock_Github
    repo = gh._get_user().create_repo()
    gh._create_project(repo, 'testOrg', 'testBody')

    repo.create_project.assert_called_with('testOrg', body='testBody')
Exemple #15
0
def test_create_user_repo(mock_Github):
    gh = GitHub(token='foo')
    gh.github = mock_Github
    user = gh._get_user()
    gh._create_user_repo('testRepo', 'foobar')

    user.create_repo.assert_called_with(name='testRepo',
                                        description='foobar',
                                        has_issues=True,
                                        auto_init=True,
                                        private=True)
Exemple #16
0
def test_build_initialize_repo(fs, mock_Github):
    MockedFiles._mock_correct_file_system(fs)

    gh = GitHub(token='foo')
    gh.github = mock_Github
    repo = gh._get_user().create_repo()

    gh._initialize_repo(repo, './workitems/correct', [
        './workitems/correct/README.md',
        './workitems/correct/feature_01/attachment.doc'
    ])
def test_createLabels(mockGithub):
    def mock_createLabel(*args, **kwargs):
        return Noniterable_str(args[1])

    gh = GitHub(token='foo')
    gh.github = mockGithub
    repo = gh._getUser().create_repo()
    gh._createLabel = MagicMock(side_effect=mock_createLabel)

    names = ['test1', 'test2']
    labels = gh._createLabels(repo, names)

    assert len(labels) == 2
    assert labels[0] == 'test1'
    assert labels[1] == "test2"
Exemple #18
0
def test_get_org(mock_Github):
    gh = GitHub(token='foo')
    gh.github = mock_Github
    gh._get_org('test')

    mock_Github.get_organization.assert_called_with('test')
Exemple #19
0
def test_get_user(mock_Github):
    gh = GitHub(token='foo')
    gh.github = mock_Github
    gh._get_user()

    mock_Github.get_user.assert_called_with()
Exemple #20
0
def test_deploy_with_repo(fs):
    MockedFiles._mock_correct_file_system(fs)

    def mock_return_None(*args, **kwargs):
        return None

    gh = GitHub(token='foo')
    gh._create_org_repo = MagicMock(return_value=mock_return_None)
    gh._create_user_repo = MagicMock(return_value=mock_return_None)
    gh._initialize_repo = MagicMock(return_value=mock_return_None)
    gh._create_labels = MagicMock(return_value=mock_return_None)
    gh._delete_labels = MagicMock(return_value=mock_return_None)
    gh._create_project = MagicMock(return_value=mock_return_None)
    gh._create_columns = MagicMock(return_value=mock_return_None)
    gh._create_milestone = MagicMock(return_value=mock_return_None)
    gh._create_issue = MagicMock(return_value=mock_return_None)
    gh._create_card = MagicMock(return_value=mock_return_None)
    gh._build_description = MagicMock(return_value=mock_return_None)

    backlog = Backlog()
    config = backlog._get_config('workitems/correct', 'github')
    config["_repository_path"] = 'workitems/correct'
    work_items = backlog._build_work_items(
        MockedFiles._mock_parsed_file_list(), config)

    args = argparse.Namespace()
    args.org = None
    args.repo = 'testUser'
    args.project = 'testProject'
    args.backlog = 'correct'

    gh.deploy(args, work_items, config, [])
    gh._create_user_repo.assert_called_with('testProject',
                                            'Sample description')

    gh._delete_labels.assert_called()
    assert gh._create_project.call_count == 4
    assert gh._create_columns.call_count == 4
    assert gh._create_milestone.call_count == 6
    assert gh._create_issue.call_count == 4
    assert gh._create_card.call_count == 4
def test_deploy_withRepo(fs):
    MockedFiles._mockCorrectFileSystem(fs)

    def mock_returnNone(*args, **kwargs):
        return None

    gh = GitHub(token='foo')
    gh._createOrgRepo = MagicMock(return_value=mock_returnNone)
    gh._createUserRepo = MagicMock(return_value=mock_returnNone)
    gh._deleteLabels = MagicMock(return_value=mock_returnNone)
    gh._createProject = MagicMock(return_value=mock_returnNone)
    gh._createColumns = MagicMock(return_value=mock_returnNone)
    gh._createMilestone = MagicMock(return_value=mock_returnNone)
    gh._createIssue = MagicMock(return_value=mock_returnNone)
    gh._createCard = MagicMock(return_value=mock_returnNone)
    gh._buildDescription = MagicMock(return_value=mock_returnNone)

    backlog = Backlog()
    config = backlog._getConfig('workitems/correct')
    workItems = backlog._buildWorkItems(MockedFiles._mockParsedFileList(), config)

    args = argparse.Namespace()
    args.org = None
    args.repo = 'testUser'
    args.project = 'testProject'
    args.backlog = 'correct'

    gh.deploy(args, workItems)
    gh._createUserRepo.assert_called_with('testProject')

    gh._deleteLabels.assert_called()
    assert gh._createProject.call_count == 4
    assert gh._createColumns.call_count == 4
    assert gh._createMilestone.call_count == 6
    assert gh._createIssue.call_count == 4
    assert gh._createCard.call_count == 4