Пример #1
0
        public void ItContainsValidDepsJson()
        {
            var depsFilePath = Path.Combine(TestData.GetMetadataOutput(), "Microsoft.AspNetCore.App.deps.json");

            var target       = $".NETCoreApp,Version=v{TestData.GetPackageVersion().Substring(0, 3)}/{_expectedRid}";
            var ridPackageId = $"runtime.{_expectedRid}.Microsoft.AspNetCore.App";

            AssertEx.FileExists(depsFilePath);

            var depsFile = JObject.Parse(File.ReadAllText(depsFilePath));

            Assert.Equal(target, (string)depsFile["runtimeTarget"]["name"]);
            Assert.NotNull(depsFile["compilationOptions"]);
            Assert.Empty(depsFile["compilationOptions"]);
            Assert.NotEmpty(depsFile["runtimes"][_expectedRid]);
            Assert.All(depsFile["libraries"], item =>
            {
                var prop = Assert.IsType <JProperty>(item);
                var lib  = Assert.IsType <JObject>(prop.Value);
                Assert.Equal("package", lib["type"].Value <string>());
                Assert.Empty(lib["sha512"].Value <string>());
            });

            Assert.NotNull(depsFile["libraries"][$"Microsoft.AspNetCore.App/{TestData.GetPackageVersion()}"]);
            Assert.NotNull(depsFile["libraries"][$"runtime.{_expectedRid}.Microsoft.AspNetCore.App/{TestData.GetPackageVersion()}"]);
            Assert.Equal(2, depsFile["libraries"].Values().Count());

            var targetLibraries = depsFile["targets"][target];

            Assert.Equal(2, targetLibraries.Values().Count());
            var metapackage = targetLibraries[$"Microsoft.AspNetCore.App/{TestData.GetPackageVersion()}"];

            Assert.Null(metapackage["runtime"]);
            Assert.Null(metapackage["native"]);

            var runtimeLibrary = targetLibraries[$"{ridPackageId}/{TestData.GetPackageVersion()}"];

            Assert.Null(runtimeLibrary["dependencies"]);
            Assert.All(runtimeLibrary["runtime"], item =>
            {
                var obj = Assert.IsType <JProperty>(item);
                Assert.StartsWith($"runtimes/{_expectedRid}/lib/{_expectedTfm}/", obj.Name);
                Assert.NotEmpty(obj.Value["assemblyVersion"].Value <string>());
                Assert.NotEmpty(obj.Value["fileVersion"].Value <string>());
            });

            if (_expectedRid.StartsWith("win", StringComparison.Ordinal) && !_expectedRid.Contains("arm"))
            {
                Assert.All(runtimeLibrary["native"], item =>
                {
                    var obj = Assert.IsType <JProperty>(item);
                    Assert.StartsWith($"runtimes/{_expectedRid}/native/", obj.Name);
                });
            }
            else
            {
                Assert.Null(runtimeLibrary["native"]);
            }
        }
Пример #2
0
        public void ItContainsVersionFile()
        {
            var versionFile = Path.Combine(TestData.GetMetadataOutput(), ".version");

            AssertEx.FileExists(versionFile);
            var lines = File.ReadAllLines(versionFile);

            Assert.Equal(2, lines.Length);
            Assert.Equal(TestData.GetRepositoryCommit(), lines[0]);
            Assert.Equal(TestData.GetPackageVersion(), lines[1]);
        }
Пример #3
0
        public void ItContainsValidRuntimeConfigFile()
        {
            var runtimeConfigFilePath = Path.Combine(TestData.GetMetadataOutput(), "Microsoft.AspNetCore.App.runtimeconfig.json");

            AssertEx.FileExists(runtimeConfigFilePath);
            AssertEx.FileDoesNotExists(Path.Combine(TestData.GetMetadataOutput(), "Microsoft.AspNetCore.App.runtimeconfig.dev.json"));

            var runtimeConfig = JObject.Parse(File.ReadAllText(runtimeConfigFilePath));

            Assert.Equal("Microsoft.NETCore.App", (string)runtimeConfig["runtimeOptions"]["framework"]["name"]);
            Assert.Equal(_expectedTfm, (string)runtimeConfig["runtimeOptions"]["tfm"]);

            Assert.Equal(TestData.GetMicrosoftNETCoreAppPackageVersion(), (string)runtimeConfig["runtimeOptions"]["framework"]["version"]);
        }