private void ProcessPackageDetails(IndexWriter indexWriter, JObject catalogItem)
        {
            _logger.LogDebug("ProcessPackageDetails");

            indexWriter.DeleteDocuments(CreateDeleteQuery(catalogItem));

            var package  = CatalogPackageMetadataExtraction.MakePackageMetadata(catalogItem);
            var document = DocumentCreator.CreateDocument(package);

            indexWriter.AddDocument(document);
        }
        static void ProcessPackageDetails(IndexWriter indexWriter, JObject catalogItem)
        {
            Trace.TraceInformation("ProcessPackageDetails");

            indexWriter.DeleteDocuments(CreateDeleteQuery(catalogItem));

            var package  = CatalogPackageMetadataExtraction.MakePackageMetadata(catalogItem);
            var document = DocumentCreator.CreateDocument(package);

            indexWriter.AddDocument(document);
        }
        public void AddsFlattenedDependencies(object catalogEntry, string expected)
        {
            // Arrange
            var catalogEntryJObject = CatalogEntry(catalogEntry);

            // Act
            var metadata = CatalogPackageMetadataExtraction.MakePackageMetadata(catalogEntryJObject);

            // Assert
            Assert.Contains(MetadataConstants.FlattenedDependenciesPropertyName, metadata.Keys);
            Assert.Equal(expected, metadata[MetadataConstants.FlattenedDependenciesPropertyName]);
        }
        public void AddsSemVerLevelKey(object catalogEntry, bool expectedToContainKey, string expected)
        {
            // Arrange
            var catalogEntryJObject = CatalogEntry(catalogEntry);

            // Act
            var metadata = CatalogPackageMetadataExtraction.MakePackageMetadata(catalogEntryJObject);


            // Assert
            Assert.Equal(expectedToContainKey, metadata.Keys.Contains(MetadataConstants.SemVerLevelKeyPropertyName));
            if (expectedToContainKey)
            {
                Assert.Equal(expected, metadata[MetadataConstants.SemVerLevelKeyPropertyName]);
            }
        }
        public void AddsSupportedFrameworks(object catalogEntry, string expected)
        {
            // Arrange
            var catalogEntryJObject = CatalogEntry(catalogEntry);

            // Act
            var metadata = CatalogPackageMetadataExtraction.MakePackageMetadata(catalogEntryJObject);

            // Assert
            if (expected != null)
            {
                Assert.Contains(MetadataConstants.SupportedFrameworksPropertyName, metadata.Keys);
                Assert.Equal(expected.Split('|').OrderBy(f => f), metadata[MetadataConstants.SupportedFrameworksPropertyName].Split('|').OrderBy(f => f));
            }
            else
            {
                Assert.DoesNotContain(MetadataConstants.SupportedFrameworksPropertyName, metadata.Keys);
            }
        }
        public void AllowsMissingVerbatimVersion()
        {
            // Arrange
            // We add the invalid portable package entry folder name since this causes a failure which reads the ID and
            // version from the generated .nuspec.
            var catalogEntryJObject = JObject.FromObject(new
            {
                id             = "NuGet.Versioning",
                version        = "4.6.0",
                packageEntries = new object[]
                {
                    new { fullName = "lib/net45/something.dll" },
                    new { fullName = "lib/portable-win-wpa8/something-else.dll" },
                },
            });

            // Act
            var metadata = CatalogPackageMetadataExtraction.MakePackageMetadata(catalogEntryJObject);

            // Assert
            Assert.Equal(new[] { "id", "listed", "version" }, metadata.Keys.OrderBy(x => x));
            Assert.Equal("4.6.0", metadata["version"]);
        }