public void Resolve_WhenPackageDoesNotExists_ReturnsFailedSdkResultAndLogsError() { using (var pathContext = new SimpleTestPathContext()) { var sdkReference = new SdkReference(PackageA, VersionOnePointZero, minimumVersion: null); var sdkResolverContext = new MockSdkResolverContext(pathContext.WorkingDirectory); var sdkResultFactory = new MockSdkResultFactory(); var sdkResolver = new NuGetSdkResolver(); MockSdkResult result = sdkResolver.Resolve(sdkReference, sdkResolverContext, sdkResultFactory) as MockSdkResult; result.Should().NotBeNull(); result.Success.Should().BeFalse(); result.Path.Should().BeNull(); result.Version.Should().BeNull(); result.Errors.Should().BeEquivalentTo(new[] { $"Unable to find package {sdkReference.Name}. No packages exist with this id in source(s): source" }); result.Warnings.Should().BeEmpty(); } }
public void Resolve_WhenPackageExists_ReturnsSucceededSdkResult() { using (var pathContext = new SimpleTestPathContext()) { var sdkReference = new SdkReference(PackageA, VersionOnePointZero, minimumVersion: null); var package = new SimpleTestPackageContext(sdkReference.Name, sdkReference.Version); package.AddFile("Sdk/Sdk.props", "<Project />"); package.AddFile("Sdk/Sdk.targets", "<Project />"); SimpleTestPackageUtility.CreateFolderFeedV3Async(pathContext.PackageSource, PackageSaveMode.Defaultv3, package).Wait(); var sdkResolverContext = new MockSdkResolverContext(pathContext.WorkingDirectory); var sdkResultFactory = new MockSdkResultFactory(); var sdkResolver = new NuGetSdkResolver(); MockSdkResult result = sdkResolver.Resolve(sdkReference, sdkResolverContext, sdkResultFactory) as MockSdkResult; result.Should().NotBeNull(); result.Success.Should().BeTrue(); result.Path.Should().Be(Path.Combine(pathContext.UserPackagesFolder, sdkReference.Name.ToLowerInvariant(), sdkReference.Version, "Sdk")); result.Version.Should().Be(sdkReference.Version); result.Errors.Should().BeEmpty(); result.Warnings.Should().BeEmpty(); } }