Exemplo n.º 1
0
        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();
            }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }