public void When_packageUrl_is_null_Then_it_throws_an_exception_with_a_useful_message() { var packageAgent = new PackageAgent(); Action getPackageAction = () => packageAgent.GetPackage(null).Wait(); getPackageAction .ShouldThrow <ArgumentNullException>("Because the packageUrl cannot be null") .WithMessage("Value cannot be null.\r\nParameter name: packageUri"); }
public void When_packageUrl_is_inaccessible_it_throws_an_exception_with_a_useful_message() { var packageAgent = new PackageAgent(); var packageName = Any.Word() + ".nupkg"; using (var mockService = new MockService() .OnRequest(r => r.Path.ToString() == "/" + packageName) .RespondWith(r => r.StatusCode = 403)) { var packageUri = new Uri(mockService.GetBaseAddress() + packageName); Action getPackageAction = () => packageAgent.GetPackage(packageUri).Wait(); getPackageAction .ShouldThrow <HttpRequestException>("Because the packageUrl cannot be null") .WithMessage("Response status code does not indicate success: 403 (Forbidden)."); } }
public async void When_packageUrl_is_valid_Then_it_returns_the_package() { var packageAgent = new PackageAgent(); var packageName = Any.Word() + ".nupkg"; Package package; using (var mockService = new MockService() .OnRequest(r => r.Path.ToString() == "/" + packageName) .RespondWith(r => r.WriteAsync(Resources.Microsoft_Bcl_1_1_8))) { var packageUri = new Uri(mockService.GetBaseAddress() + packageName); package = await packageAgent.GetPackage(packageUri); } package.Should().NotBeNull("Because it should be retrieved"); package.GetParts() .Should() .HaveCount(92, "Because that is how many package parts are in the Microsoft.Bcl.1.1.8 package"); }