public void ProjectActionsExecuted_WhenSolutionManagerActionsExecutedEventRaised_IsRaised() { NuGetUIContext context = CreateNuGetUIContext(); var project = new TestNuGetProject(); var projectAction = NuGetProjectAction.CreateInstallProjectAction( PackageIdentity, sourceRepository: null, project); var resolvedActions = new ResolvedAction[] { new ResolvedAction(project, projectAction) }; var wasEventRaised = false; string[] expectedProjectIds = resolvedActions .Select(resolvedAction => resolvedAction.Project.GetMetadata <string>(NuGetProjectMetadataKeys.ProjectId)) .ToArray(); context.ProjectActionsExecuted += (object sender, IReadOnlyCollection <string> actualProjectIds) => { wasEventRaised = true; Assert.Equal(expectedProjectIds, actualProjectIds); }; _solutionManager.Raise(s => s.ActionsExecuted += null, new ActionsExecutedEventArgs(resolvedActions)); Assert.True(wasEventRaised); }
public TestContext(string userPackageFolder = null) { // Dependencies SourceRepository = new SourceRepository(new PackageSource("http://example/index.json"), Enumerable.Empty <INuGetResourceProvider>()); PackageIdentityA = new PackageIdentity("PackageA", NuGetVersion.Parse("1.0.0")); PackageIdentityB = new PackageIdentity("PackageB", NuGetVersion.Parse("1.0.0")); PackageIdentityC = new PackageIdentity("PackageC", NuGetVersion.Parse("1.0.0")); PackageTypes = new List <PackageType>(); MinClientVersion = new NuGetVersion(2, 0, 0); InvalidPackageType = new PackageType("Invalid", new Version(1, 2)); NuGetProject = new TestNuGetProject(new List <PackageReference>()); NuGetPathContext = new Mock <INuGetPathContext>(); NuspecReader = new Mock <NuspecReader>(new XDocument()); PackageReader = new Mock <PackageReaderBase>( new FrameworkNameProvider(new[] { DefaultFrameworkMappings.Instance }, new[] { DefaultPortableFrameworkMappings.Instance })) { CallBase = true }; // Setup NuGetPathContext .Setup(x => x.UserPackageFolder) .Returns(userPackageFolder); NuGetPathContext .Setup(x => x.FallbackPackageFolders) .Returns(Array.Empty <string>()); NuspecReader .Setup(p => p.GetIdentity()) .Returns(() => PackageIdentityA); NuspecReader .Setup(p => p.GetMinClientVersion()) .Returns(() => MinClientVersion); NuspecReader .Setup(p => p.GetPackageTypes()) .Returns(() => PackageTypes); PackageReader .Setup(p => p.GetIdentity()) .Returns(() => PackageIdentityA); PackageReader .Setup(p => p.GetMinClientVersion()) .Returns(() => MinClientVersion); PackageReader .Setup(p => p.GetPackageTypes()) .Returns(() => PackageTypes); PackageReader .Setup(p => p.NuspecReader) .Returns(() => NuspecReader.Object); Target = new InstallationCompatibility(); }
public void AddProject_AfterAddProjectRestoreInfoWithProjectId_DoesNotUpdatesCacheEntryProjectId() { // Arrange var target = new ProjectSystemCache(); var projectNames = ProjectNames.FromFullProjectPath(@"C:\src\project\project.csproj"); var originalProjectSpec = new PackageSpec() { ProjectId = Guid.NewGuid().ToString(), Name = projectNames.UniqueName, RestoreMetadata = new ProjectRestoreMetadata() { ProjectUniqueName = projectNames.UniqueName } }; var projectRestoreInfo = new DependencyGraphSpec(); var nugetProject = new TestNuGetProject(projectNames.UniqueName, new List <PackageReference>()); projectRestoreInfo.AddProject(originalProjectSpec); target.AddProjectRestoreInfo(projectNames, projectRestoreInfo); // Act target.AddProject(projectNames, vsProjectAdapter: null, nuGetProject: nugetProject); // Assert var getPackageSpecSuccess = target.TryGetProjectRestoreInfo(projectNames.FullName, out var actual); // Assert getPackageSpecSuccess.Should().BeTrue(); actual.Projects.Count.Should().Be(1); actual.Projects.First().ProjectId.Should().Be(originalProjectSpec.ProjectId); }
public void GetMetadataOrNull_TestProject_HasExpectedValue(string key, string expected) { // Arrange var project = new TestNuGetProject("test", null); // Act var result = project.GetMetadataOrNull(key); // Assert Assert.Equal(expected, result); }