Пример #1
0
        public void CallingGetOpenPRsByGhUserRepo_WithNonNullOrWsParams_ReturnsNon0int_ShouldPass()
        {
            // Arrange
            var mockHttpClientProvider = new Mock <IHttpClientProvider>();

            mockHttpClientProvider.Setup(o => o.GetHttpClientInstance()).Returns(new HttpClient());

            var mockHCAuthConfigr = new Mock <IHttpClientAuthorizeConfigurator>();

            mockHCAuthConfigr.Setup(o => o.AddBasicAuthorizationHeaderValue(
                                        It.IsAny <HttpClient>(),
                                        It.IsAny <string>(),
                                        It.IsAny <string>())).Returns(true);

            var mockGHReposSvc = new Mock <IGitHubRepos>();
            var mockGHPRsSvc   = new Mock <IGitHubPullReqs>();

            // The apiCallServices.GetOpenPRsByGhUserRepo() method calls
            // async Task<int> GetGitHubRepoOpenPRCountAsync(HttpClient, string, string)
            // which is the method that actually makes the GitHub API call,
            // so it definitely needs to be mocked out.
            mockGHPRsSvc.Setup(o => o.GetGitHubRepoOpenPRCountAsync(
                                   It.IsAny <HttpClient>(),
                                   It.IsAny <string>(),
                                   It.IsAny <string>()
                                   )).ReturnsAsync(2);

            // Act
            GitHubApiCallServices apiCallServices = new GitHubApiCallServices(
                mockHttpClientProvider.Object,
                mockHCAuthConfigr.Object,
                mockGHReposSvc.Object,
                mockGHPRsSvc.Object,
                mockCredentialsReader.Object);

            var methodCallResultTask = apiCallServices.GetOpenPRsByGhUserRepo("username", "TestGhRepoName");
            var methodCallResult     = methodCallResultTask.Result;

            // Assert
            Assert.IsInstanceOfType(methodCallResult, typeof(int));
            Assert.AreEqual(2, methodCallResult);
        }
Пример #2
0
        public async Task CallingGetOpenPRsByGhUserRepo_WithNullOrWsRepoNameParam_ShouldThrow()
        {
            // Arrange
            var mockHttpClientProvider = new Mock <IHttpClientProvider>();
            var mockHCAuthConfigr      = new Mock <IHttpClientAuthorizeConfigurator>();
            var mockGHReposSvc         = new Mock <IGitHubRepos>();
            var mockGHPRsSvc           = new Mock <IGitHubPullReqs>();

            // Act
            GitHubApiCallServices apiCallServices = new GitHubApiCallServices(
                mockHttpClientProvider.Object,
                mockHCAuthConfigr.Object,
                mockGHReposSvc.Object,
                mockGHPRsSvc.Object,
                mockCredentialsReader.Object);

            var taskOfListOfGhUserRepos =
                await apiCallServices.GetOpenPRsByGhUserRepo("NonNullValue", " ");

            // Should have thrown.
        }
Пример #3
0
        public async Task IfGetGitHubRepoOpenPRCount_ThrowsException_GetOpenPRsShouldAlso()
        {
            // Arrange
            var mockHttpClientProvider = new Mock <IHttpClientProvider>();

            mockHttpClientProvider.Setup(o => o.GetHttpClientInstance()).Returns(new HttpClient());

            var mockHCAuthConfigr = new Mock <IHttpClientAuthorizeConfigurator>();

            mockHCAuthConfigr.Setup(o => o.AddBasicAuthorizationHeaderValue(
                                        It.IsAny <HttpClient>(),
                                        It.IsAny <string>(),
                                        It.IsAny <string>())).Returns(true);

            var mockGHReposSvc = new Mock <IGitHubRepos>();
            var mockGHPRsSvc   = new Mock <IGitHubPullReqs>();

            // The apiCallServices.GetOpenPRsByGhUserRepo() method calls
            // async Task<int> GetGitHubRepoOpenPRCountAsync(HttpClient, string, string)
            // which is the method that actually makes the GitHub API call,
            // so it definitely needs to be mocked out.
            mockGHPRsSvc.Setup(o => o.GetGitHubRepoOpenPRCountAsync(
                                   It.IsAny <HttpClient>(),
                                   It.IsAny <string>(),
                                   It.IsAny <string>()
                                   )).ThrowsAsync(new Exception());

            // Act
            GitHubApiCallServices apiCallServices = new GitHubApiCallServices(
                mockHttpClientProvider.Object,
                mockHCAuthConfigr.Object,
                mockGHReposSvc.Object,
                mockGHPRsSvc.Object,
                mockCredentialsReader.Object);

            var methodCallResultTask =
                await apiCallServices.GetOpenPRsByGhUserRepo("username", "TestGhRepoName");

            // should have thrown
        }