예제 #1
0
 public IssuesClient(IApiConnection apiConnection) : base(apiConnection)
 {
     Assignee = new AssigneesClient(apiConnection);
     Events = new IssuesEventsClient(apiConnection);
     Milestone = new MilestonesClient(apiConnection);
     Comment = new IssueCommentsClient(apiConnection);
 }
            public async Task EnsuresNonNullArguments()
            {
                var client = new AssigneesClient(Substitute.For<IApiConnection>());

                await AssertEx.Throws<ArgumentNullException>(async () => await client.GetForRepository(null, "name"));
                await AssertEx.Throws<ArgumentException>(async () => await client.GetForRepository(null, ""));
                await AssertEx.Throws<ArgumentNullException>(async () => await client.GetForRepository("owner", null));
                await AssertEx.Throws<ArgumentException>(async () => await client.GetForRepository("", null));
            }
            public void RequestsCorrectUrl()
            {
                var connection = Substitute.For<IApiConnection>();
                var client = new AssigneesClient(connection);

                client.GetForRepository("fake", "repo");

                connection.Received().GetAll<User>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/assignees"));
            }
            public async Task ThrowsExceptionForInvalidStatusCode()
            {
                var response = Task.Factory.StartNew<IResponse<object>>(() =>
                    new ApiResponse<object> { StatusCode = HttpStatusCode.Conflict });
                var connection = Substitute.For<IConnection>();
                connection.GetAsync<object>(Arg.Is<Uri>(u => u.ToString() == "repos/foo/bar/assignees/cody"),
                    null, null).Returns(response);
                var apiConnection = Substitute.For<IApiConnection>();
                apiConnection.Connection.Returns(connection);
                var client = new AssigneesClient(apiConnection);

                AssertEx.Throws<ApiException>(async () => await client.CheckAssignee("foo", "bar", "cody"));
            }
            public async Task RequestsCorrectValueForStatusCode(HttpStatusCode status, bool expected)
            {
                var response = Task.Factory.StartNew<IResponse<object>>(() =>
                    new ApiResponse<object> { StatusCode = status });
                var connection = Substitute.For<IConnection>();
                connection.GetAsync<object>(Arg.Is<Uri>(u => u.ToString() == "repos/foo/bar/assignees/cody"),
                    null, null).Returns(response);
                var apiConnection = Substitute.For<IApiConnection>();
                apiConnection.Connection.Returns(connection);
                var client = new AssigneesClient(apiConnection);

                var result = await client.CheckAssignee("foo", "bar", "cody");

                Assert.Equal(expected, result);
            }
예제 #6
0
 public IssuesClient(IApiConnection apiConnection) : base(apiConnection)
 {
     Assignee = new AssigneesClient(apiConnection);
     Milestone = new MilestonesClient(apiConnection);
 }
예제 #7
0
 public IssuesClient(IApiConnection apiConnection) : base(apiConnection)
 {
     Assignee  = new AssigneesClient(apiConnection);
     Milestone = new MilestonesClient(apiConnection);
 }