From d8608b03854cec961f1392cb15ccfb42f11b1747 Mon Sep 17 00:00:00 2001 From: Gary Ewan Park Date: Mon, 31 May 2021 21:07:14 +0100 Subject: [PATCH] (build) Fix unit tests As a result of changes to "how" a release is found from GitHub, it is no longer the case that an exception is thrown, but rather, if a specific release can't be found, it simply returns a null value. The unit tests were updated to reflect this change in functionality. --- .../Provider/GitHubProviderTests.cs | 20 ++++++++----------- .../VcsServiceTests.cs | 6 +++--- 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/src/GitReleaseManager.Core.Tests/Provider/GitHubProviderTests.cs b/src/GitReleaseManager.Core.Tests/Provider/GitHubProviderTests.cs index 938007b5..253fa385 100644 --- a/src/GitReleaseManager.Core.Tests/Provider/GitHubProviderTests.cs +++ b/src/GitReleaseManager.Core.Tests/Provider/GitHubProviderTests.cs @@ -631,30 +631,26 @@ public async Task Should_Get_Release() var result = await _gitHubProvider.GetReleaseAsync(OWNER, REPOSITORY, TAG_NAME).ConfigureAwait(false); result.ShouldBeSameAs(release); - await _gitHubClient.Repository.Release.Received(1).Get(OWNER, REPOSITORY, TAG_NAME).ConfigureAwait(false); + await _gitHubClient.Repository.Release.Received(1).GetAll(OWNER, REPOSITORY).ConfigureAwait(false); _mapper.Received(1).Map(Arg.Any()); } [Test] - public async Task Should_Throw_An_Exception_On_Getting_Release_For_Non_Existent_Tag() + public async Task Should_Return_Null_On_Getting_Release_For_Non_Existent_Tag() { _gitHubClient.Repository.Release.Get(OWNER, REPOSITORY, TAG_NAME) .Returns(Task.FromException(_notFoundException)); - var ex = await Should.ThrowAsync(() => _gitHubProvider.GetReleaseAsync(OWNER, REPOSITORY, TAG_NAME)).ConfigureAwait(false); - ex.Message.ShouldBe(_notFoundException.Message); - ex.InnerException.ShouldBe(_notFoundException); + var release = await _gitHubProvider.GetReleaseAsync(OWNER, REPOSITORY, TAG_NAME).ConfigureAwait(false); + + release.ShouldBeNull(); } [Test] - public async Task Should_Throw_An_Exception_On_Getting_Release() + public async Task Should_Return_Null_Getting_Release() { - _gitHubClient.Repository.Release.Get(OWNER, REPOSITORY, TAG_NAME) - .Returns(Task.FromException(_exception)); - - var ex = await Should.ThrowAsync(() => _gitHubProvider.GetReleaseAsync(OWNER, REPOSITORY, TAG_NAME)).ConfigureAwait(false); - ex.Message.ShouldBe(_exception.Message); - ex.InnerException.ShouldBe(_exception); + var release = await _gitHubProvider.GetReleaseAsync(OWNER, REPOSITORY, TAG_NAME).ConfigureAwait(false); + release.ShouldBeNull(); } [Test] diff --git a/src/GitReleaseManager.Core.Tests/VcsServiceTests.cs b/src/GitReleaseManager.Core.Tests/VcsServiceTests.cs index f1d63311..09889a8f 100644 --- a/src/GitReleaseManager.Core.Tests/VcsServiceTests.cs +++ b/src/GitReleaseManager.Core.Tests/VcsServiceTests.cs @@ -302,7 +302,7 @@ public async Task Should_Create_Release_From_Milestone() .Returns(Task.FromResult(RELEASE_NOTES)); _vcsProvider.GetReleaseAsync(OWNER, REPOSITORY, MILESTONE_TITLE) - .Returns(Task.FromException(_notFoundException)); + .Returns(Task.FromResult(null)); _vcsProvider.CreateReleaseAsync(OWNER, REPOSITORY, Arg.Any()) .Returns(Task.FromResult(release)); @@ -330,7 +330,7 @@ public async Task Should_Create_Release_From_Milestone_Using_Template_File() .Returns(Task.FromResult(RELEASE_NOTES)); _vcsProvider.GetReleaseAsync(OWNER, REPOSITORY, MILESTONE_TITLE) - .Returns(Task.FromException(_notFoundException)); + .Returns(Task.FromResult(null)); _vcsProvider.CreateReleaseAsync(OWNER, REPOSITORY, Arg.Any()) .Returns(Task.FromResult(release)); @@ -434,7 +434,7 @@ public async Task Should_Create_Release_From_InputFile() var release = new Release(); _vcsProvider.GetReleaseAsync(OWNER, REPOSITORY, MILESTONE_TITLE) - .Returns(Task.FromException(_notFoundException)); + .Returns(Task.FromResult(null)); _vcsProvider.CreateReleaseAsync(OWNER, REPOSITORY, Arg.Any()) .Returns(Task.FromResult(release));