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 CallsIntoClient() { 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 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 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 UploadsToCorrectUrl() { 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.Connection.PostAsync<ReleaseAsset>( new Uri("https://uploads.test.dev/does/not/matter/releases/1/assets?name=example.zip", UriKind.Absolute), rawData, "application/vnd.github.v3", Arg.Is<string>(contentType => contentType == "application/zip")); }