public async Task TestBuildIntegratedNuGetPackageSpecNameMatchesFilePath() { // Arrange var packageIdentity = new PackageIdentity("packageA", new NuGetVersion("1.0.0")); using (var randomTestPackageSourcePath = TestDirectory.Create()) using (var randomPackagesFolderPath = TestDirectory.Create()) using (var randomProjectFolderPath = TestDirectory.Create()) { var randomConfig = Path.Combine(randomProjectFolderPath, "project.json"); var token = CancellationToken.None; CreateConfigJson(randomConfig); var projectTargetFramework = NuGetFramework.Parse("netcore50"); var testNuGetProjectContext = new TestNuGetProjectContext(); var msBuildNuGetProjectSystem = new TestMSBuildNuGetProjectSystem( projectTargetFramework, testNuGetProjectContext, randomProjectFolderPath, "msbuildName"); var projectFilePath = Path.Combine(randomProjectFolderPath, "fileName.csproj"); var buildIntegratedProject = new ProjectJsonNuGetProject(randomConfig, projectFilePath); var spec = await buildIntegratedProject.GetPackageSpecsAsync(new DependencyGraphCacheContext()); // Assert Assert.Equal(projectFilePath, buildIntegratedProject.MSBuildProjectPath); Assert.Equal("fileName", buildIntegratedProject.ProjectName); Assert.Equal("fileName", spec.Single().Name); } }
public async Task BuildIntegratedNuGetProject_GetPackageSpec_UAPWithImports() { // Arrange var configJson = @" { ""dependencies"": { }, ""frameworks"": { ""uap10.0"": { ""imports"": ""netstandard1.3"", ""warn"": false } } }"; using (var randomProjectFolderPath = TestDirectory.Create()) { var projectJsonPath = Path.Combine(randomProjectFolderPath, "project.json"); File.WriteAllText(projectJsonPath, configJson); var FallbackTargetFramework = NuGetFramework.Parse("netstandard1.3"); var projectTargetFramework = NuGetFramework.Parse("uap10.0"); var testNuGetProjectContext = new TestNuGetProjectContext(); var msBuildNuGetProjectSystem = new TestMSBuildNuGetProjectSystem(projectTargetFramework, testNuGetProjectContext, randomProjectFolderPath); var projectFilePath = Path.Combine(randomProjectFolderPath, $"{msBuildNuGetProjectSystem.ProjectName}.csproj"); var buildIntegratedProject = new ProjectJsonNuGetProject(projectJsonPath, projectFilePath); var referenceContext = new DependencyGraphCacheContext(new TestLogger(), NullSettings.Instance); // Act var actual = (await buildIntegratedProject.GetPackageSpecsAsync(referenceContext)).SingleOrDefault(); // Assert Assert.NotNull(actual); Assert.Equal(msBuildNuGetProjectSystem.ProjectName, actual.Name); Assert.Equal(projectJsonPath, actual.FilePath); Assert.NotNull(actual.RestoreMetadata); Assert.Equal(ProjectStyle.ProjectJson, actual.RestoreMetadata.ProjectStyle); Assert.Equal(projectFilePath, actual.RestoreMetadata.ProjectPath); Assert.Equal(msBuildNuGetProjectSystem.ProjectName, actual.RestoreMetadata.ProjectName); Assert.Equal(projectFilePath, actual.RestoreMetadata.ProjectUniqueName); Assert.Equal(1, actual.TargetFrameworks.Count); Assert.Equal(projectTargetFramework, actual.TargetFrameworks[0].FrameworkName); Assert.Equal(1, actual.TargetFrameworks[0].Imports.Count); Assert.Equal(FallbackTargetFramework, actual.TargetFrameworks[0].Imports[0]); Assert.Empty(actual.Dependencies); Assert.Empty(actual.TargetFrameworks[0].Dependencies); Assert.Empty(actual.RestoreMetadata.TargetFrameworks.SelectMany(e => e.ProjectReferences)); } }
public async Task BuildIntegratedNuGetProject_GetPackageSpecForRestore_NoReferences() { // Arrange using (var randomProjectFolderPath = TestDirectory.Create()) { var projectJsonPath = Path.Combine(randomProjectFolderPath, "project.json"); CreateConfigJson(projectJsonPath); var projectTargetFramework = NuGetFramework.Parse("netcore50"); var testNuGetProjectContext = new TestNuGetProjectContext(); var msBuildNuGetProjectSystem = new TestMSBuildNuGetProjectSystem(projectTargetFramework, testNuGetProjectContext, randomProjectFolderPath); var projectFilePath = Path.Combine(randomProjectFolderPath, $"{msBuildNuGetProjectSystem.ProjectName}.csproj"); var buildIntegratedProject = new ProjectJsonNuGetProject(projectJsonPath, projectFilePath); var referenceContext = new DependencyGraphCacheContext(new TestLogger(), NullSettings.Instance); // Act var actual = (await buildIntegratedProject.GetPackageSpecsAsync(referenceContext)).SingleOrDefault(); // Assert Assert.NotNull(actual); Assert.Equal(msBuildNuGetProjectSystem.ProjectName, actual.Name); Assert.Equal(projectJsonPath, actual.FilePath); Assert.NotNull(actual.RestoreMetadata); Assert.Equal(ProjectStyle.ProjectJson, actual.RestoreMetadata.ProjectStyle); Assert.Equal(projectFilePath, actual.RestoreMetadata.ProjectPath); Assert.Equal(msBuildNuGetProjectSystem.ProjectName, actual.RestoreMetadata.ProjectName); Assert.Equal(projectFilePath, actual.RestoreMetadata.ProjectUniqueName); Assert.Equal(1, actual.TargetFrameworks.Count); Assert.Equal(projectTargetFramework, actual.TargetFrameworks[0].FrameworkName); Assert.Empty(actual.TargetFrameworks[0].Imports); Assert.Empty(actual.Dependencies); Assert.Empty(actual.TargetFrameworks[0].Dependencies); Assert.Empty(actual.RestoreMetadata.TargetFrameworks.SelectMany(e => e.ProjectReferences)); } }