def test_release_force_with_changelog_base(github, request): test_utils.create_release(github.api, request, 'cf2d64132f00c849ae1bb62ffb2e32b719b6cbac', '1.0.0') github.api.set_version(value='1.0.0', branch='release') # run another release with a changelog generated from a sha prior to existing release # this should cause another major version bump github.run('release --branch release --force --changelog-base 4772c5708ff25a69f1f6c8106c7fe863c6686459') expected_release_title = '2.0.0' github_release = github.api.repo.get_release(id=expected_release_title) assert github_release
def test_delete_tag(github, request): release = test_utils.create_release(github.api, request, LAST_COMMIT) github.run('delete-tag --name {}'.format(release.title)) with pytest.raises(UnknownObjectException): github.api.repo.get_git_ref('tags/{}'.format(release.title))
def test_close_issue_issue_doesnt_exist(github, request): release = test_utils.create_release(github.api, request, LAST_COMMIT) expected_output = 'Issue 100 not found' result = github.run('close-issue --number=100 --release={}'.format(release.title), catch_exceptions=True) assert expected_output in result.std_out
def test_close_issue(github, request): release = test_utils.create_release(github.api, request, LAST_COMMIT) github.run('close-issue --number=7 --release {}'.format(release.title)) expected_status = 'closed' expected_comment = 'This issue is part of release [{}]({})'.format( release.title, release.html_url) issue = github.api.repo.get_issue(number=7) issue_comments = [comment.body for comment in issue.get_comments()] assert expected_status == issue.state assert expected_comment in issue_comments
def test_upload_asset(github, request, temp_dir): release = test_utils.create_release(github.api, request, LAST_COMMIT) asset_file = os.path.join(temp_dir, 'asset') with open(asset_file, 'w') as stream: stream.write('asset') result = github.run('upload-asset --asset {} --release {}'.format(asset_file, release.title)) expected_output = 'Uploaded asset: https://github.com/{}/releases/download/{}/asset'.format( REPO_UNDER_TEST, release.title) assets = [asset.name for asset in github.api.repo.get_release(id=release.title).get_assets()] assert 'asset' in assets assert expected_output in result.std_out
def test_upload_changelog(github, request, temp_dir): release = test_utils.create_release(github.api, request, LAST_COMMIT) changelog_file = os.path.join(temp_dir, 'changelog') changelog_content = 'changelog' with open(changelog_file, 'w') as stream: stream.write(changelog_content) result = github.run('upload-changelog --changelog {} --release {}' .format(changelog_file, release.title), catch_exceptions=True) expected_output = 'Uploaded changelog to release {}'.format(release.title) release_body = github.api.repo.get_release(id=release.title).body assert changelog_content == release_body assert expected_output in result.std_out