Skip to content

Commit a98fb85

Browse files
Now logs removals. Added useless test
1 parent bf906fc commit a98fb85

File tree

3 files changed

+38
-0
lines changed

3 files changed

+38
-0
lines changed

Px.Search/Indexer.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,8 @@ public void UpdateTableEntries(List<string> tables, List<string> languages, bool
214214
else
215215
{
216216
index.RemoveEntry(table);
217+
_logger.LogRemoveEntry(table, language);
218+
217219
}
218220
}
219221

Px.Search/LogMessages.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,15 @@ internal static partial void LogProgression(
8181
this ILogger logger,
8282
int count);
8383

84+
[LoggerMessage(
85+
Message = "Removing entry {table} for language {language}.",
86+
Level = LogLevel.Information,
87+
SkipEnabledCheck = false)]
88+
internal static partial void LogRemoveEntry(
89+
this ILogger logger,
90+
string table,
91+
string language);
92+
8493

8594
[LoggerMessage(
8695
Message = "Table {tableId} have already been indexed.",

PxWeb.UnitTests/Search/IndexerTests.cs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,33 @@ public void IndexDatabase_TwoOneLanguage_RunsTwice()
5656
index.Verify(b => b.EndWrite(It.IsAny<string>()), Times.Exactly(2));
5757
}
5858

59+
60+
[TestMethod]
61+
public void UpdateDatabase_OneLanguage_RunsOnce()
62+
{ // Arrange
63+
var backend = new Mock<ISearchBackend>();
64+
var index = new Mock<IIndex>();
65+
var dataSource = new Mock<IDataSource>();
66+
var logger = new Mock<ILogger>();
67+
var tableLink = new TableLink("Population in the world", "Population", "AA", "POP", "01", "World population", LinkType.Table, TableStatus.AccessibleToAll, DateTime.Now, DateTime.Now, "2000", "2005", "001", PresCategory.Official);
68+
69+
dataSource.Setup(d => d.LoadDatabaseStructure(It.IsAny<string>())).Returns(tableLink);
70+
71+
72+
backend.Setup(b => b.GetIndex()).Returns(index.Object);
73+
74+
var indexer = new Indexer(dataSource.Object, backend.Object, logger.Object);
75+
76+
// Act
77+
indexer.IndexDatabase(new List<string> { "en" });
78+
indexer.UpdateTableEntries(new List<string> { "001" }, new List<string> { "en" }, true);
79+
80+
// Assert
81+
index.Verify(b => b.BeginUpdate(It.IsAny<string>()), Times.Exactly(1));
82+
index.Verify(b => b.EndUpdate(It.IsAny<string>()), Times.Exactly(1));
83+
84+
}
85+
5986
[TestMethod]
6087
public void IndexDatabase_NoMenu_ReturnsNoException()
6188
{

0 commit comments

Comments
 (0)