コード例 #1
0
        public void PublishBasicReleaseWorksCorrectly()
        {
            // arrange
            var fixture         = new CakeOctoDeployAliasFixture();
            var responseFixture = new GitHubResponseHelper();

            OctoDeployAlias.GitHubApiBaseUrl = GitHubRequestFixture.BaseUrl;
            var httpMock = HttpMockRepository.At(GitHubRequestFixture.BaseUrl);

            responseFixture.SetupHttpMockWithValidResponseForReleaseCreation(httpMock, fixture.OctoSettingMock);

            // act
            var result = fixture.GetCakeContext.PublishRelease(GitHubRequestFixture.Tag, GitHubRequestFixture.Title, GitHubRequestFixture.ReleaseNotes,
                                                               GitHubRequestFixture.IsDraft, GitHubRequestFixture.IsPreRelease, fixture.OctoSettingMock.GetSettings);

            // assert
            result.Should().Be(GitHubResponseHelper.ReleaseId);
        }
コード例 #2
0
        public void PublishArtifactsWithReleaseNotesFileWorksCorrectly()
        {
            // arrange
            var fixture         = new CakeOctoDeployAliasFixture();
            var responseFixture = new GitHubResponseHelper($"{GitHubRequestFixture.BaseUrl}/repos/{fixture.OctoSettingMock.Owner}/{fixture.OctoSettingMock.Repository}/releases/{GitHubResponseHelper.ReleaseId}/assets{{?name,label}}");

            OctoDeployAlias.GitHubApiBaseUrl = GitHubRequestFixture.BaseUrl;
            var httpMock = HttpMockRepository.At(GitHubRequestFixture.BaseUrl);

            responseFixture.SetupHttpMockWithValidResponseForReleaseCreation(httpMock, fixture.OctoSettingMock);
            responseFixture.SetupHttpMockWithValidResponseForReleaseRetrieval(httpMock, fixture.OctoSettingMock);
            responseFixture.SetupHttpMockWithValidAssetUploadResponse(httpMock, fixture.OctoSettingMock);

            var act = new Action(() =>
            {
                fixture.GetCakeContext.PublishReleaseWithArtifacts(GitHubRequestFixture.Tag, GitHubRequestFixture.Title, GitHubRequestFixture.ReleaseNotesFilePath,
                                                                   GitHubRequestFixture.IsDraft, GitHubRequestFixture.IsPreRelease, new[] { GitHubRequestFixture.Artifact1FilePath, GitHubRequestFixture.Artifact2FilePath },
                                                                   new[] { GitHubRequestFixture.Artifact1Name, GitHubRequestFixture.Artifact2Name }, new[] { GitHubRequestFixture.MimeType, GitHubRequestFixture.MimeType }, fixture.OctoSettingMock.GetSettings);
            });

            // act
            // assert
            act.ShouldNotThrow <CakeException>();
        }