public void SortsPackageReferencesInAlphabeticalOrder(TestPackage existingPackage, TestPackage testPackageToInstall) { // Arrange var sut = new LeanSchemeProcessor(); var tracing = new TestTracing(); var project = TestFixtureHelper.CreateNuGetProject(VisualStudioProjectScheme.Lean, TestVersion.Low, existingPackage, new Dictionary <string, string> { { $"{nameof(TestPackage)}.{testPackageToInstall}", "1.0.0" } }); // Act var result = sut.InstallPackages( project.Content, project.RequestedPackages, project.InstalledPackages, project.Name, tracing); // Assert Assert.Equal( expected: @"<Project Sdk=""Microsoft.NET.Sdk""> <ItemGroup> <PackageReference Include=""TestPackage.One"" Version=""1.0.0"" /> <PackageReference Include=""TestPackage.Two"" Version=""1.0.0"" /> </ItemGroup> </Project>", actual: result); }
public void Configure_SequencStorage_When_ObjectSpace_Commits(Type objectViewType) { Tracing.Close(); var testObserver = new TestTracing().WhenException().Test(); Tracing.Initialize(); using (var application = NewApplication(Platform.Web)){ SequenceGeneratorModule(nameof(Configure_SequencStorage_When_ObjectSpace_Commits), application); SetSequences(application); var modelClass = application.Model.BOModel.GetClass(typeof(SequenceStorage)); var viewId = objectViewType == typeof(DetailView) ? modelClass.DefaultDetailView.Id : modelClass.DefaultListView.Id; var compositeView = application.NewView(application.FindModelView(viewId)); var sequenceStorage = compositeView.ObjectSpace.GetObjectsQuery <SequenceStorage>().First(); sequenceStorage.Member = null; compositeView.ObjectSpace.CommitChanges(); testObserver.Items.Count.ShouldBe(1); testObserver.Items.First().Message.ShouldContain("Cannot find the '' property within the "); compositeView.ObjectSpace.CommitChanges(); testObserver.Items.Count.ShouldBe(2); testObserver.Items.Last().Message.ShouldContain("Cannot find the '' property within the "); sequenceStorage.Member = new ObjectMember() { Name = nameof(TestObject.SequentialNumber) }; compositeView.ObjectSpace.CommitChanges(); testObserver.Items.Count.ShouldBe(2); } }
public void UpgradesPackage() { // Arrange var sut = new LeanSchemeProcessor(); var tracing = new TestTracing(); var project = TestFixtureHelper.CreateNuGetProject(VisualStudioProjectScheme.Lean, TestVersion.Low, TestPackage.One, new Dictionary <string, string> { { "TestPackage.One", "3.0.0" } }); // Act var result = sut.InstallPackages( project.Content, project.RequestedPackages, project.InstalledPackages, project.Name, tracing); // Assert Assert.Equal( expected: @"<Project Sdk=""Microsoft.NET.Sdk""> <ItemGroup> <PackageReference Include=""TestPackage.One"" Version=""3.0.0"" /> </ItemGroup> </Project>", actual: result); }
public void ConsolidateInstallsVersionsToHighestExisting() { // Arrange var tracing = new TestTracing(); var sut = TestFixtureHelper.GetNuGetInstaller(true, false); var saved = new List <(string path, string content)>(); var project1 = TestFixtureHelper.CreateProject(VisualStudioProjectScheme.Lean, TestVersion.High, TestPackage.One, new Dictionary <string, string>()); var project2 = TestFixtureHelper.CreateProject(VisualStudioProjectScheme.Lean, TestVersion.High, TestPackage.Two, new Dictionary <string, string> { { "TestPackage.One", "1.0.0" } }); var projects = new[] { project1, project2 }; // Act sut.Execute(projects, tracing, (path, content) => saved.Add((path, content))); // Assert Assert.Collection(saved, nuGetProject => { Assert.Equal(project2.FilePath, nuGetProject.path); Assert.Equal( XDocument.Parse( @"<Project Sdk=""Microsoft.NET.Sdk""> <ItemGroup> <PackageReference Include=""TestPackage.One"" Version=""2.0.0"" /> <PackageReference Include=""TestPackage.Two"" Version=""2.0.0"" /> </ItemGroup> </Project>", LoadOptions.PreserveWhitespace).ToString(), nuGetProject.content); }); }
public void UpgradesPackage() { // Arrange var sut = new VerboseWithPackageReferencesSchemeProcessor(); var tracing = new TestTracing(); var project = TestFixtureHelper.CreateNuGetProject(VisualStudioProjectScheme.VerboseWithPackageReference, TestVersion.Low, TestPackage.One, nugetPackagesToInstall: new Dictionary <string, string> { { "TestPackage.One", "3.0.0" } }); // Act var result = sut.InstallPackages( project.Content, project.RequestedPackages, project.InstalledPackages, project.Name, tracing); // Assert Assert.Equal( expected: @"<?xml version=""1.0"" encoding=""utf-8""?> <Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003""> <ItemGroup> <PackageReference Include=""TestPackage.One""> <Version>3.0.0</Version> </PackageReference> </ItemGroup> </Project>", actual: result); }
public void SortsPackageReferencesInAlphabeticalOrder(TestPackage existingPackage, TestPackage testPackageToInstall) { // Arrange var sut = new VerboseWithPackageReferencesSchemeProcessor(); var tracing = new TestTracing(); var project = TestFixtureHelper.CreateNuGetProject(NuGetScheme.VerboseWithPackageReference, TestVersion.Low, existingPackage, new Dictionary <string, string> { { $"{nameof(TestPackage)}.{testPackageToInstall}", "1.0.0" } }); // Act var result = sut.InstallPackages( project.Content, project.RequestedPackages, project.InstalledPackages, project.Name, tracing); // Assert Assert.Equal( expected: @"<?xml version=""1.0"" encoding=""utf-8""?> <Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003""> <ItemGroup> <PackageReference Include=""TestPackage.One""> <Version>1.0.0</Version> </PackageReference> <PackageReference Include=""TestPackage.Two""> <Version>1.0.0</Version> </PackageReference> </ItemGroup> </Project>", actual: result); }
public void Configure_SequenceStorage_When_ObjectSpace_Commits(Type objectViewType) { Tracing.Close(); var testObserver = new TestTracing().WhenException().Test(); Tracing.Initialize(); using var application = NewApplication(handleExceptions: false); ((WinApplication)application).CustomHandleException += (_, args) => args.Handled = true; SequenceGeneratorModule(application); SetSequences(application); var modelClass = application.Model.BOModel.GetClass(typeof(SequenceStorage)); var viewId = objectViewType == typeof(DetailView) ? modelClass.DefaultDetailView.Id : modelClass.DefaultListView.Id; var compositeView = application.NewView(application.FindModelView(viewId)); var sequenceStorage = compositeView.ObjectSpace.GetObjectsQuery <SequenceStorage>().First(); sequenceStorage.Member = null; compositeView.ObjectSpace.CommitChanges(); testObserver.Items.First().Message.ShouldContain("Cannot find the '' property within the "); compositeView.ObjectSpace.CommitChanges(); // testObserver.Items.Count.ShouldBe(2); testObserver.Items.Last().Message.ShouldContain("Cannot find the '' property within the "); sequenceStorage.Member = new ObjectString(nameof(TestObject.SequentialNumber)); compositeView.ObjectSpace.CommitChanges(); // testObserver.Items.Count.ShouldBe(2); }
public void ConsolidatationNotTriggeredWhenVersionsAreTheSame() { // Arrange var tracing = new TestTracing(); var sut = TestFixtureHelper.GetNuGetInstaller(true, false); var projects = new[] { TestFixtureHelper.CreateProject(VisualStudioProjectScheme.Lean, TestVersion.High, TestPackage.One, new Dictionary <string, string>()), TestFixtureHelper.CreateProject(VisualStudioProjectScheme.Lean, TestVersion.High, TestPackage.One, new Dictionary <string, string>()), }; // Act sut.Execute(projects, tracing, (filePath, content) => { }); // Assert Assert.Empty(tracing.InfoEntries); }
public void UpgradePackageCreatesWarning() { // Arrange var sut = new VerboseWithPackagesDotConfigSchemeProcessor(); var tracing = new TestTracing(); var project = TestFixtureHelper.CreateNuGetProject(VisualStudioProjectScheme.VerboseWithPackagesDotConfig, TestVersion.Low, TestPackage.One, nugetPackagesToInstall: new Dictionary <string, string> { { "TestPackage.One", "3.0.0" } }); // Act sut.InstallPackages( project.Content, project.RequestedPackages, project.InstalledPackages, project.Name, tracing); // Assert Assert.Collection(tracing.WarningEntries, element => Assert.Contains( "https://blog.nuget.org/20180409/migrate-packages-config-to-package-reference.html", element)); }
public void UpgradePackageCreatesWarning() { // Arrange var sut = new UnsupportedSchemeProcessor(); var tracing = new TestTracing(); var project = TestFixtureHelper.CreateNuGetProject(VisualStudioProjectScheme.Unsupported, TestVersion.Low, TestPackage.One, nugetPackagesToInstall: new Dictionary <string, string> { { "TestPackage.One", "3.0.0" } }); // Act sut.InstallPackages( project.Content, project.RequestedPackages, project.InstalledPackages, project.Name, tracing); // Assert Assert.Collection(tracing.DebugEntries, element => Assert.Contains( "Skipped", element)); }