Exemplo n.º 1
0
            public void Should_Throw_If_Path_Is_Null()
            {
                // Given
                var fixture = new NuGetAddinContentResolverFixture(".NETStandard,Version=v1.6", Runtime.CoreClr);

                fixture.Path = null;

                // When
                var result = Record.Exception(() => fixture.GetFiles());

                // Then
                AssertEx.IsArgumentNullException(result, "path");
            }
Exemplo n.º 2
0
            public void Should_Return_Empty_Result_If_Any_Match_Is_Not_Possible(string framework, Runtime runtime)
            {
                // Given
                var fixture = new NuGetAddinContentResolverFixture(framework, runtime);

                fixture.CreateCLRAssembly("/Working/lib/net462/file.dll");
                fixture.CreateCLRAssembly("/Working/lib/netstandard2.2/file.dll");

                // When
                var result = fixture.GetFiles();

                // Then
                Assert.Equal(0, result.Count);
            }
Exemplo n.º 3
0
            public void Should_Return_From_Root_If_No_Compatible_Framework_Found(string framework, Runtime runtime)
            {
                // Given
                var fixture = new NuGetAddinContentResolverFixture(framework, runtime);

                fixture.CreateCLRAssembly("/Working/lib/net462/file.dll");
                fixture.CreateCLRAssembly("/Working/file.dll");

                // When
                var result = fixture.GetFiles();

                // Then
                Assert.Equal(1, result.Count);
                Assert.Equal($"/Working/file.dll", result.ElementAt(0).Path.FullPath);
            }
Exemplo n.º 4
0
            public void Should_Return_Only_CLR_Assemblies()
            {
                // Given
                var fixture = new NuGetAddinContentResolverFixture(".NETStandard,Version=v1.6", Runtime.CoreClr);

                fixture.CreateCLRAssembly("/Working/lib/netstandard1.6/file.dll");
                fixture.CreateNonCLRAssembly("/Working/lib/netstandard1.6/lib/native.dll");

                // When
                var result = fixture.GetFiles();

                // Then
                Assert.Equal(1, result.Count);
                Assert.Equal("/Working/lib/netstandard1.6/file.dll", result.ElementAt(0).Path.FullPath);
            }
Exemplo n.º 5
0
            public void Should_Not_Return_Ref_Assemblies(string framework, Runtime runtime)
            {
                // Given
                var fixture = new NuGetAddinContentResolverFixture(framework, runtime);

                fixture.CreateCLRAssembly("/Working/ref/netstandard1.6/file.dll");
                fixture.CreateCLRAssembly("/Working/ref/net46/file.dll");
                fixture.FileSystem.CreateFile("/Working/lib/netstandard1.6/_._");
                fixture.FileSystem.CreateFile("/Working/lib/net46/_._");

                // When
                var result = fixture.GetFiles();

                // Then
                Assert.Equal(0, result.Count);
            }
Exemplo n.º 6
0
            public void Should_Return_Exact_Framework_Even_Though_Files_Located_In_Root(string framework, Runtime runtime, string expected)
            {
                // Given
                var fixture = new NuGetAddinContentResolverFixture(framework, runtime);

                fixture.CreateCLRAssembly("/Working/lib/net461/file.dll");
                fixture.CreateCLRAssembly("/Working/lib/netstandard1.6/file.dll");
                fixture.CreateCLRAssembly("/Working/file.dll");

                // When
                var result = fixture.GetFiles();

                // Then
                Assert.Equal(1, result.Count);
                Assert.Equal($"/Working/lib/{expected}/file.dll", result.ElementAt(0).Path.FullPath);
            }
Exemplo n.º 7
0
            public void Should_Return_Compatible_Netstandard_If_An_Exact_Match_Is_Not_Possible()
            {
                // Given
                var fixture = new NuGetAddinContentResolverFixture(".NETFramework,Version=v4.6");

                fixture.CreateCLRAssembly("/Working/lib/netstandard1.0/file.dll");
                fixture.CreateCLRAssembly("/Working/lib/netstandard1.3/file.dll");
                fixture.CreateCLRAssembly("/Working/lib/netstandard2.0/file.dll");

                // When
                var result = fixture.GetFiles();

                // Then
                Assert.Equal(1, result.Count);
                Assert.Equal($"/Working/lib/netstandard1.3/file.dll", result.ElementAt(0).Path.FullPath);
            }
            public void Should_Return_Native_Runtimes_Assemblies_If_CoreCLR()
            {
                // Given
                var framework = ".NETCoreApp,Version=v2.0";
                var runtime   = Runtime.CoreClr;
                var fixture   = new NuGetAddinContentResolverFixture(framework, runtime);

                fixture.CreateCLRAssembly("/Working/runtimes/win/native/file.dll");
                fixture.CreateCLRAssembly("/Working/runtimes/linux/native/file.so");
                fixture.CreateCLRAssembly("/Working/runtimes/osx/native/file.dylib");

                // When
                var result = fixture.GetFiles();

                // Then
                Assert.Equal(1, result.Count);
            }
Exemplo n.º 9
0
            public void Should_Return_Files_When_Located_In_Root(string framework, Runtime runtime)
            {
                // Given
                var fixture = new NuGetAddinContentResolverFixture(framework, runtime);

                fixture.CreateCLRAssembly("/Working/file1.dll");
                fixture.CreateCLRAssembly("/Working/file2.dll");
                fixture.CreateCLRAssembly("/Working/file3.dll");

                // When
                var result = fixture.GetFiles();

                // Then
                Assert.Equal(3, result.Count);
                Assert.Equal("/Working/file1.dll", result.ElementAt(0).Path.FullPath);
                Assert.Equal("/Working/file2.dll", result.ElementAt(1).Path.FullPath);
                Assert.Equal("/Working/file3.dll", result.ElementAt(2).Path.FullPath);
            }
Exemplo n.º 10
0
            public void Should_Return_Nearest_Compatible_Framework_If_An_Exact_Match_Is_Not_Possible(string framework, Runtime runtime, string expected)
            {
                // Given
                var fixture = new NuGetAddinContentResolverFixture(framework, runtime);

                fixture.CreateCLRAssembly("/Working/lib/net45/file.dll");
                fixture.CreateCLRAssembly("/Working/lib/net451/file.dll");
                fixture.CreateCLRAssembly("/Working/lib/net452/file.dll");
                fixture.CreateCLRAssembly("/Working/lib/net462/file.dll");
                fixture.CreateCLRAssembly("/Working/lib/netstandard1.5/file.dll");

                // When
                var result = fixture.GetFiles();

                // Then
                Assert.Equal(1, result.Count);
                Assert.Equal($"/Working/lib/{expected}/file.dll", result.ElementAt(0).Path.FullPath);
            }
            public void Should_Not_Return_Runtimes_Assemblies_If_Clr()
            {
                // Given
                var framework = ".NETFramework,Version=v4.6.1";
                var runtime   = Runtime.Clr;
                var fixture   = new NuGetAddinContentResolverFixture(framework, runtime);

                fixture.CreateCLRAssembly("/Working/runtimes/win/lib/netstandard1.6/file.dll");
                fixture.CreateCLRAssembly("/Working/runtimes/unix/lib/netstandard1.6/file.dll");
                fixture.FileSystem.CreateFile("/Working/lib/netstandard1.6/_._");
                fixture.FileSystem.CreateFile("/Working/lib/net46/_._");

                // When
                var result = fixture.GetFiles();

                // Then
                Assert.Equal(0, result.Count);
            }
Exemplo n.º 12
0
            public void Should_Log_Warning_For_Files_Located_In_Root(string framework, Runtime runtime)
            {
                // Given
                var fixture = new NuGetAddinContentResolverFixture(framework, runtime);

                fixture.CreateCLRAssembly("/Working/file.dll");
                fixture.CreateCLRAssembly("/Working/file2.dll");
                fixture.CreateCLRAssembly("/Working/file3.dll");

                // When
                fixture.GetFiles();

                // Then
                var entries = fixture.Log.Entries.Where(x => x.Level == LogLevel.Warning &&
                                                        x.Message.Equals($"Could not find any assemblies compatible with {framework} in NuGet package {fixture.Package.Package}. " +
                                                                         "Falling back to using root folder of NuGet package."))
                              .ToList();

                Assert.Single(entries);
            }