public void EnsuresNonNullArguments() { var releasesClient = new ObservableReleasesClient(Substitute.For <IGitHubClient>()); Assert.Throws <ArgumentNullException>(() => releasesClient.GetAll(null, "name")); Assert.Throws <ArgumentNullException>(() => releasesClient.GetAll("owner", null)); }
public void EnsuresNonNullArguments() { var client = new ObservableReleasesClient(Substitute.For <IGitHubClient>()); Assert.Throws <ArgumentNullException>(() => client.DeleteAsset(null, "name", 1)); Assert.Throws <ArgumentException>(() => client.DeleteAsset("", "name", 1)); Assert.Throws <ArgumentNullException>(() => client.DeleteAsset("owner", null, 1)); Assert.Throws <ArgumentException>(() => client.DeleteAsset("owner", "", 1)); }
public void CallsIntoClient() { var gitHubClient = Substitute.For <IGitHubClient>(); var client = new ObservableReleasesClient(gitHubClient); client.GetLatest("fake", "repo"); gitHubClient.Repository.Release.Received(1).GetLatest("fake", "repo"); }
public void RequestsTheCorrectUrlWithRepositoryId() { var gitHubClient = Substitute.For <IGitHubClient>(); var client = new ObservableReleasesClient(gitHubClient); client.GetAsset(1, 1); gitHubClient.Repository.Release.Received(1).GetAsset(1, 1); }
public void RequestsTheCorrectUrl() { var gitHubClient = Substitute.For <IGitHubClient>(); var client = new ObservableReleasesClient(gitHubClient); client.Delete("fake", "repo", 1); gitHubClient.Repository.Release.Received(1).Delete("fake", "repo", 1); }
public void RequestsTheCorrectUrl() { var gitHubClient = Substitute.For <IGitHubClient>(); var client = new ObservableReleasesClient(gitHubClient); client.GetAll("fake", "repo"); gitHubClient.Connection.Received(1).Get <List <Release> >( new Uri("repos/fake/repo/releases", UriKind.Relative), null, null); }
public void EnsuresArgumentsNotNull() { var releasesClient = new ObservableReleasesClient(Substitute.For <IGitHubClient>()); var data = new NewRelease("fake-tag"); Assert.Throws <ArgumentNullException>(() => new NewRelease(null)); Assert.Throws <ArgumentNullException>(() => releasesClient.Create(null, "name", data)); Assert.Throws <ArgumentNullException>(() => releasesClient.Create("owner", null, data)); Assert.Throws <ArgumentNullException>(() => releasesClient.Create("owner", "name", null)); }
public void RequestsTheCorrectUrl() { var gitHubClient = Substitute.For <IGitHubClient>(); var releasesClient = new ObservableReleasesClient(gitHubClient); var data = new ReleaseUpdate("fake-tag"); releasesClient.EditRelease("fake", "repo", data); gitHubClient.Release.Received(1).EditRelease("fake", "repo", data); }
public void RequestsTheCorrectUrlWithRepositoryId() { var gitHubClient = Substitute.For <IGitHubClient>(); var client = new ObservableReleasesClient(gitHubClient); client.DeleteAsset(1, 1); gitHubClient.Connection.Delete( new Uri("repositories/1/releases/assets/1", UriKind.Relative)); }
public void RequestsTheCorrectUrlWithRepositoryId() { var gitHubClient = Substitute.For <IGitHubClient>(); var client = new ObservableReleasesClient(gitHubClient); var data = new ReleaseAssetUpdate("asset"); client.EditAsset(1, 1, data); gitHubClient.Repository.Release.Received(1).EditAsset(1, 1, data); }
public void RequestsTheCorrectUrl() { var gitHubClient = Substitute.For <IGitHubClient>(); var client = new ObservableReleasesClient(gitHubClient); client.DeleteAsset("fake", "repo", 1); gitHubClient.Connection.Delete( new Uri("repos/fake/repo/releases/assets/1", UriKind.Relative)); }
public void EnsuresArgumentsNotNull() { var releasesClient = new ObservableReleasesClient(Substitute.For <IGitHubClient>()); var release = new Release("https://uploads.github.com/anything"); var uploadData = new ReleaseAssetUpload("good", "good/good", Stream.Null, null); Assert.Throws <ArgumentNullException>(() => releasesClient.UploadAsset(null, uploadData)); Assert.Throws <ArgumentNullException>(() => releasesClient.UploadAsset(release, null)); }
public void RequestsTheCorrectUrl() { var gitHubClient = Substitute.For <IGitHubClient>(); var client = new ObservableReleasesClient(gitHubClient); client.GetAllAssets("fake", "repo", 1); gitHubClient.Connection.Received(1).Get <List <ReleaseAsset> >( new Uri("repos/fake/repo/releases/1/assets", UriKind.Relative), Args.EmptyDictionary, null); }
public void RequestsTheCorrectUrlWithRepositoryId() { var gitHubClient = Substitute.For <IGitHubClient>(); var client = new ObservableReleasesClient(gitHubClient); client.GetAll(1); gitHubClient.Connection.Received(1).Get <List <Release> >( new Uri("repositories/1/releases", UriKind.Relative), Args.EmptyDictionary, null); }
public void RequestsTheCorrectUrlWithRepositoryId() { var gitHubClient = Substitute.For <IGitHubClient>(); var releasesClient = new ObservableReleasesClient(gitHubClient); var data = new NewRelease("fake-tag"); releasesClient.Create(1, data); gitHubClient.Repository.Release.Received(1).Create(1, data); }
public void CallsIntoClient() { var gitHubClient = Substitute.For <IGitHubClient>(); var releasesClient = new ObservableReleasesClient(gitHubClient); var data = new NewRelease("fake-tag"); releasesClient.Create("fake", "repo", data); gitHubClient.Repository.Release.Received(1).Create("fake", "repo", data); }
public void EnsuresNonNullArguments() { var releasesClient = new ObservableReleasesClient(Substitute.For <IGitHubClient>()); var update = new ReleaseUpdate("tag"); Assert.Throws <ArgumentNullException>(() => releasesClient.EditRelease(null, "name", update)); Assert.Throws <ArgumentException>(() => releasesClient.EditRelease("", "name", update)); Assert.Throws <ArgumentNullException>(() => releasesClient.EditRelease("owner", null, update)); Assert.Throws <ArgumentException>(() => releasesClient.EditRelease("owner", "", update)); Assert.Throws <ArgumentNullException>(() => releasesClient.EditRelease("owner", "name", null)); }
public void RequestsTheCorrectUrl() { var gitHubClient = Substitute.For <IGitHubClient>(); var releasesClient = new ObservableReleasesClient(gitHubClient); var release = new Release("https://uploads.test.dev/does/not/matter/releases/1/assets{?name}"); var rawData = Substitute.For <Stream>(); var upload = new ReleaseAssetUpload("example.zip", "application/zip", rawData, null); releasesClient.UploadAsset(release, upload); gitHubClient.Repository.Release.Received(1).UploadAsset(release, upload); }
public void RequestsTheCorrectUrlWithRepositoryId() { var gitHubClient = Substitute.For <IGitHubClient>(); var releasesClient = new ObservableReleasesClient(gitHubClient); var data = new ReleaseUpdate { TagName = "fake-tag" }; releasesClient.Edit(1, 1, data); gitHubClient.Repository.Release.Received(1).Edit(1, 1, data); }
public void EnsuresArgumentsNotNull() { var releasesClient = new ObservableReleasesClient(Substitute.For <IGitHubClient>()); var release = new Release { UploadUrl = "https://uploads.github.com/anything" }; var uploadData = new ReleaseAssetUpload { FileName = "good", ContentType = "good/good", RawData = Stream.Null }; Assert.Throws <ArgumentNullException>(() => releasesClient.UploadAsset(null, uploadData)); Assert.Throws <ArgumentNullException>(() => releasesClient.UploadAsset(release, null)); }
public void CallsIntoClient() { var gitHubClient = Substitute.For <IGitHubClient>(); var releasesClient = new ObservableReleasesClient(gitHubClient); var release = new Release { UploadUrl = "https://uploads.test.dev/does/not/matter/releases/1/assets{?name}" }; var rawData = Substitute.For <Stream>(); var upload = new ReleaseAssetUpload { FileName = "example.zip", ContentType = "application/zip", RawData = rawData }; releasesClient.UploadAsset(release, upload); gitHubClient.Release.Received(1).UploadAsset(release, upload); }
public void RequestsTheCorrectUrlWithRepositoryIdWithApiOptions() { var gitHubClient = Substitute.For <IGitHubClient>(); var client = new ObservableReleasesClient(gitHubClient); var options = new ApiOptions { PageCount = 1, PageSize = 1, StartPage = 1 }; client.GetAll(1, options); gitHubClient.Connection.Received(1).Get <List <Release> >( new Uri("repositories/1/releases", UriKind.Relative), Arg.Is <IDictionary <string, string> >(d => d.Count == 2), null); }
public void RequestsTheCorrectUrlWithRepositoryIdWithApiOptions() { var expectedUrl = "repositories/1/releases/1/assets"; var gitHubClient = Substitute.For <IGitHubClient>(); var client = new ObservableReleasesClient(gitHubClient); var options = new ApiOptions { StartPage = 1, PageCount = 1, PageSize = 1 }; client.GetAllAssets(1, 1, options); gitHubClient.Connection.Received(1).Get <List <ReleaseAsset> >( Arg.Is <Uri>(u => u.ToString() == expectedUrl), Arg.Is <IDictionary <string, string> >(dictionary => dictionary.Count == 2), null); }
public TheGetMethod() { var github = Helper.GetAuthenticatedClient(); _releaseClient = new ObservableReleasesClient(github); }