Beispiel #1
0
        public async Task MetadataToFromJsonSucceeds(string packageUrlString)
        {
            PackageURL         packageUrl     = new(packageUrlString);
            BaseProjectManager?projectManager = ProjectManagerFactory.ConstructPackageManager(packageUrl);

            if (projectManager == null)
            {
                throw new NullReferenceException("The project manager is null.");
            }

            PackageMetadata metadata = await projectManager.GetPackageMetadataAsync(packageUrl, useCache : false);

            Assert.AreEqual("lodash", metadata.Name);
            Assert.AreEqual("Lodash modular utilities.", metadata.Description);
            Assert.AreEqual("4.17.15", metadata.PackageVersion);

            string?metadataJson = metadata.ToString();

            Assert.IsTrue(metadataJson.Contains("Lodash modular utilities."));

            PackageMetadata metadataFromJson = PackageMetadata.FromJson(metadataJson) ?? throw new InvalidOperationException("Can't deserialize the metadata json.");

            Assert.AreEqual("lodash", metadataFromJson.Name);
            Assert.AreEqual("Lodash modular utilities.", metadataFromJson.Description);
            Assert.AreEqual("4.17.15", metadataFromJson.PackageVersion);
        }