public void EnsuresNonNullArguments() { var connection = Substitute.For <IConnection>(); var gitHubClient = new GitHubClient(connection); var client = new ObservableRepositoryContentsClient(gitHubClient); Assert.Throws <ArgumentNullException>(() => client.DeleteFile(null, "repo", "path/to/file", new DeleteFileRequest("message", "1234abc", "mybranch"))); Assert.Throws <ArgumentNullException>(() => client.DeleteFile("org", null, "path/to/file", new DeleteFileRequest("message", "1234abc", "mybranch"))); Assert.Throws <ArgumentNullException>(() => client.DeleteFile("org", "repo", null, new DeleteFileRequest("message", "1234abc", "mybranch"))); Assert.Throws <ArgumentNullException>(() => client.DeleteFile("org", "repo", "path/to/file", null)); Assert.Throws <ArgumentNullException>(() => client.DeleteFile(1, null, new DeleteFileRequest("message", "1234abc", "mybranch"))); Assert.Throws <ArgumentNullException>(() => client.DeleteFile(1, "path/to/file", null)); Assert.Throws <ArgumentException>(() => client.DeleteFile("", "repo", "path/to/file", new DeleteFileRequest("message", "1234abc", "mybranch"))); Assert.Throws <ArgumentException>(() => client.DeleteFile("org", "", "path/to/file", new DeleteFileRequest("message", "1234abc", "mybranch"))); Assert.Throws <ArgumentException>(() => client.DeleteFile("org", "repo", "", new DeleteFileRequest("message", "1234abc", "mybranch"))); Assert.Throws <ArgumentException>(() => client.DeleteFile(1, "", new DeleteFileRequest("message", "1234abc", "mybranch"))); }
public void RequestsCorrectUrlWithRepositoryId() { var connection = Substitute.For <IConnection>(); var gitHubClient = new GitHubClient(connection); var client = new ObservableRepositoryContentsClient(gitHubClient); string expectedUri = "repositories/1/contents/path/to/file"; client.DeleteFile(1, "path/to/file", new DeleteFileRequest("message", "1234abc", "mybranch")); gitHubClient.Connection.Received().Delete(Arg.Is <Uri>(u => u.ToString() == expectedUri), Arg.Any <object>()); }
public void PassesRequestObjectWithRepositoryId() { var connection = Substitute.For <IConnection>(); var gitHubClient = new GitHubClient(connection); var client = new ObservableRepositoryContentsClient(gitHubClient); client.DeleteFile(1, "path/to/file", new DeleteFileRequest("message", "1234abc", "mybranch")); gitHubClient.Connection.Received().Delete( Arg.Any <Uri>(), Arg.Is <DeleteFileRequest>(a => a.Message == "message" && a.Sha == "1234abc" && a.Branch == "mybranch")); }