Skip to content

Commit ae2b810

Browse files
committed
Added support for exported LocaleMetaData folder
1 parent 84c1323 commit ae2b810

File tree

12 files changed

+432
-489
lines changed

12 files changed

+432
-489
lines changed

src/EventLogExpert.Eventing.Tests/EventResolvers/EventProviderDatabaseEventResolverTests.cs

Lines changed: 35 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
namespace EventLogExpert.Eventing.Tests.EventResolvers;
1717

18-
public sealed class EventProviderDatabaseEventResolverTests
18+
public sealed class EventResolverDatabaseTests
1919
{
2020
[Fact]
2121
public void Constructor_WithCacheAndLogger_ShouldCreateInstance()
@@ -27,7 +27,7 @@ public void Constructor_WithCacheAndLogger_ShouldCreateInstance()
2727
var logger = Substitute.For<ITraceLogger>();
2828

2929
// Act
30-
using var resolver = new EventProviderDatabaseEventResolver(dbCollection, cache, logger);
30+
using var resolver = new EventResolver(dbCollection, cache, logger);
3131

3232
// Assert
3333
Assert.NotNull(resolver);
@@ -45,7 +45,7 @@ public void Constructor_WithLogger_ShouldLogDatabasePaths()
4545
// This will throw FileNotFoundException, but we can still check logging
4646
try
4747
{
48-
using var resolver = new EventProviderDatabaseEventResolver(dbCollection, logger: logger);
48+
using var resolver = new EventResolver(dbCollection, logger: logger);
4949
}
5050
catch (FileNotFoundException)
5151
{
@@ -66,10 +66,10 @@ public void Constructor_WithLogger_ShouldLogInstantiation()
6666
var logger = Substitute.For<ITraceLogger>();
6767

6868
// Act
69-
using var resolver = new EventProviderDatabaseEventResolver(dbCollection, logger: logger);
69+
using var resolver = new EventResolver(dbCollection, logger: logger);
7070

7171
// Assert
72-
logger.Received(1).Trace(Arg.Is<TraceLogHandler>(h => h.ToString().Contains("EventProviderDatabaseEventResolver")));
72+
logger.Received(1).Debug(Arg.Is<DebugLogHandler>(h => h.ToString().Contains("EventResolver")));
7373
}
7474

7575
[Fact]
@@ -82,7 +82,7 @@ public void Constructor_WithNonExistentDatabase_ShouldThrowFileNotFoundException
8282

8383
// Act
8484
var exception = Assert.Throws<FileNotFoundException>(() =>
85-
new EventProviderDatabaseEventResolver(dbCollection));
85+
new EventResolver(dbCollection));
8686

8787
// Assert
8888
Assert.Contains(nonExistentPath, exception.Message);
@@ -96,21 +96,20 @@ public void Constructor_WithNullCache_ShouldCreateInstance()
9696
dbCollection.ActiveDatabases.Returns([]);
9797

9898
// Act
99-
using var resolver = new EventProviderDatabaseEventResolver(dbCollection, null);
99+
using var resolver = new EventResolver(dbCollection, null);
100100

101101
// Assert
102102
Assert.NotNull(resolver);
103103
}
104104

105105
[Fact]
106-
public void Constructor_WithNullDatabaseCollection_ShouldThrowArgumentNullException()
106+
public void Constructor_WithNullDatabaseCollection_ShouldCreateInstance()
107107
{
108108
// Act
109-
var exception = Assert.Throws<ArgumentNullException>(() =>
110-
new EventProviderDatabaseEventResolver(null!));
109+
using var resolver = new EventResolver(null);
111110

112111
// Assert
113-
Assert.Equal("dbCollection", exception.ParamName);
112+
Assert.NotNull(resolver);
114113
}
115114

116115
[Fact]
@@ -121,7 +120,7 @@ public void Constructor_WithNullLogger_ShouldCreateInstance()
121120
dbCollection.ActiveDatabases.Returns([]);
122121

123122
// Act
124-
using var resolver = new EventProviderDatabaseEventResolver(dbCollection, logger: null);
123+
using var resolver = new EventResolver(dbCollection, logger: null);
125124

126125
// Assert
127126
Assert.NotNull(resolver);
@@ -145,7 +144,7 @@ public void Constructor_WithValidDatabase_ShouldLoadDatabase()
145144
dbCollection.ActiveDatabases.Returns(ImmutableList.Create(dbPath));
146145

147146
// Act
148-
using var resolver = new EventProviderDatabaseEventResolver(dbCollection);
147+
using var resolver = new EventResolver(dbCollection);
149148

150149
// Assert
151150
Assert.NotNull(resolver);
@@ -162,7 +161,7 @@ public void Dispose_CalledMultipleTimes_ShouldNotThrow()
162161
// Arrange
163162
var dbCollection = Substitute.For<IDatabaseCollectionProvider>();
164163
dbCollection.ActiveDatabases.Returns([]);
165-
var resolver = new EventProviderDatabaseEventResolver(dbCollection);
164+
var resolver = new EventResolver(dbCollection);
166165

167166
// Act & Assert
168167
resolver.Dispose();
@@ -194,7 +193,7 @@ public async Task Dispose_ConcurrentWithResolveProviderDetails_ShouldHandleThrea
194193

195194
var dbCollection = Substitute.For<IDatabaseCollectionProvider>();
196195
dbCollection.ActiveDatabases.Returns(ImmutableList.Create(dbPath));
197-
var resolver = new EventProviderDatabaseEventResolver(dbCollection);
196+
var resolver = new EventResolver(dbCollection);
198197

199198
var exceptions = new ConcurrentBag<Exception>();
200199

@@ -245,7 +244,7 @@ public void Dispose_MultipleConcurrentDisposeCalls_ShouldHandleThreadSafely()
245244
// Arrange
246245
var dbCollection = Substitute.For<IDatabaseCollectionProvider>();
247246
dbCollection.ActiveDatabases.Returns([]);
248-
var resolver = new EventProviderDatabaseEventResolver(dbCollection);
247+
var resolver = new EventResolver(dbCollection);
249248

250249
var exceptions = new ConcurrentBag<Exception>();
251250

@@ -272,7 +271,7 @@ public void Dispose_ThenResolveEvent_ShouldThrowObjectDisposedException()
272271
// Arrange
273272
var dbCollection = Substitute.For<IDatabaseCollectionProvider>();
274273
dbCollection.ActiveDatabases.Returns([]);
275-
var resolver = new EventProviderDatabaseEventResolver(dbCollection);
274+
var resolver = new EventResolver(dbCollection);
276275

277276
var eventRecord = EventUtils.CreateBasicEvent();
278277

@@ -289,7 +288,7 @@ public void Dispose_ThenResolveEventViaBaseReference_ShouldThrowObjectDisposedEx
289288
// Arrange
290289
var dbCollection = Substitute.For<IDatabaseCollectionProvider>();
291290
dbCollection.ActiveDatabases.Returns([]);
292-
EventProviderDatabaseEventResolver resolver = new EventProviderDatabaseEventResolver(dbCollection);
291+
EventResolver resolver = new EventResolver(dbCollection);
293292

294293
// Type as base class to verify override (not 'new') is used
295294
EventResolverBase baseResolver = resolver;
@@ -309,7 +308,7 @@ public void Dispose_ThenResolveProviderDetails_ShouldThrowObjectDisposedExceptio
309308
// Arrange
310309
var dbCollection = Substitute.For<IDatabaseCollectionProvider>();
311310
dbCollection.ActiveDatabases.Returns([]);
312-
var resolver = new EventProviderDatabaseEventResolver(dbCollection);
311+
var resolver = new EventResolver(dbCollection);
313312

314313
var eventRecord = new EventRecord
315314
{
@@ -347,7 +346,7 @@ public void ResolveProviderDetails_CalledTwiceForSameProvider_ShouldResolveOnlyO
347346
dbCollection.ActiveDatabases.Returns(ImmutableList.Create(dbPath));
348347
var logger = Substitute.For<ITraceLogger>();
349348

350-
using var resolver = new EventProviderDatabaseEventResolver(dbCollection, logger: logger);
349+
using var resolver = new EventResolver(dbCollection, logger: logger);
351350

352351
var eventRecord = new EventRecord
353352
{
@@ -394,7 +393,7 @@ public void ResolveProviderDetails_ConcurrentCalls_ShouldHandleThreadSafely()
394393
var dbCollection = Substitute.For<IDatabaseCollectionProvider>();
395394
dbCollection.ActiveDatabases.Returns(ImmutableList.Create(dbPath));
396395

397-
using var resolver = new EventProviderDatabaseEventResolver(dbCollection);
396+
using var resolver = new EventResolver(dbCollection);
398397

399398
// Act
400399
var exception = Record.Exception(() =>
@@ -458,7 +457,7 @@ public void ResolveProviderDetails_MultipleConcurrentProvidersFromDifferentDatab
458457
var dbCollection = Substitute.For<IDatabaseCollectionProvider>();
459458
dbCollection.ActiveDatabases.Returns(ImmutableList.Create(dbPath1, dbPath2));
460459

461-
using var resolver = new EventProviderDatabaseEventResolver(dbCollection);
460+
using var resolver = new EventResolver(dbCollection);
462461

463462
// Act
464463
var exception = Record.Exception(() =>
@@ -509,7 +508,7 @@ public void ResolveProviderDetails_WithCaseInsensitiveProviderName_ShouldResolve
509508
dbCollection.ActiveDatabases.Returns(ImmutableList.Create(dbPath));
510509
var logger = Substitute.For<ITraceLogger>();
511510

512-
using var resolver = new EventProviderDatabaseEventResolver(dbCollection, logger: logger);
511+
using var resolver = new EventResolver(dbCollection, logger: logger);
513512

514513
var eventRecord = new EventRecord
515514
{
@@ -565,7 +564,7 @@ public void ResolveProviderDetails_WithFirstDatabaseContainingProvider_ShouldUse
565564
dbCollection.ActiveDatabases.Returns(ImmutableList.Create(dbPath1, dbPath2));
566565
var logger = Substitute.For<ITraceLogger>();
567566

568-
using var resolver = new EventProviderDatabaseEventResolver(dbCollection, logger: logger);
567+
using var resolver = new EventResolver(dbCollection, logger: logger);
569568

570569
var eventRecord = new EventRecord
571570
{
@@ -614,7 +613,7 @@ public void ResolveProviderDetails_WithKnownProvider_ShouldResolveFromDatabase()
614613
dbCollection.ActiveDatabases.Returns(ImmutableList.Create(dbPath));
615614
var logger = Substitute.For<ITraceLogger>();
616615

617-
using var resolver = new EventProviderDatabaseEventResolver(dbCollection, logger: logger);
616+
using var resolver = new EventResolver(dbCollection, logger: logger);
618617

619618
var eventRecord = new EventRecord
620619
{
@@ -671,7 +670,7 @@ public void ResolveProviderDetails_WithMultipleDatabases_ShouldCheckAllDatabases
671670
var dbCollection = Substitute.For<IDatabaseCollectionProvider>();
672671
dbCollection.ActiveDatabases.Returns(ImmutableList.Create(dbPath1, dbPath2));
673672

674-
using var resolver = new EventProviderDatabaseEventResolver(dbCollection);
673+
using var resolver = new EventResolver(dbCollection);
675674

676675
var eventRecord1 = new EventRecord { ProviderName = "Provider1", Id = 1000 };
677676
var eventRecord2 = new EventRecord { ProviderName = "Provider2", Id = 2000 };
@@ -723,7 +722,7 @@ public void ResolveProviderDetails_WithProviderInLaterDatabase_ShouldFindProvide
723722
dbCollection.ActiveDatabases.Returns(ImmutableList.Create(dbPath1, dbPath2));
724723
var logger = Substitute.For<ITraceLogger>();
725724

726-
using var resolver = new EventProviderDatabaseEventResolver(dbCollection, logger: logger);
725+
using var resolver = new EventResolver(dbCollection, logger: logger);
727726

728727
var eventRecord = new EventRecord
729728
{
@@ -753,7 +752,7 @@ public void ResolveProviderDetails_WithUnknownProvider_ShouldAddEmptyDetails()
753752
var dbCollection = Substitute.For<IDatabaseCollectionProvider>();
754753
dbCollection.ActiveDatabases.Returns([]);
755754

756-
using var resolver = new EventProviderDatabaseEventResolver(dbCollection);
755+
using var resolver = new EventResolver(dbCollection);
757756

758757
var eventRecord = new EventRecord
759758
{
@@ -785,7 +784,7 @@ public void SortDatabases_PreservesDirectory_ShouldReturnFullPaths()
785784
};
786785

787786
// Act
788-
var sorted = EventProviderDatabaseEventResolver.SortDatabases(databases).ToList();
787+
var sorted = EventResolver.SortDatabases(databases).ToList();
789788

790789
// Assert
791790
Assert.All(sorted, path => Assert.True(Path.IsPathRooted(path)));
@@ -805,7 +804,7 @@ public void SortDatabases_WithComplexVersionStrings_ShouldHandleCorrectly()
805804
};
806805

807806
// Act
808-
var sorted = EventProviderDatabaseEventResolver.SortDatabases(databases).ToList();
807+
var sorted = EventResolver.SortDatabases(databases).ToList();
809808

810809
// Assert
811810
Assert.Equal(3, sorted.Count);
@@ -819,7 +818,7 @@ public void SortDatabases_WithComplexVersionStrings_ShouldHandleCorrectly()
819818
public void SortDatabases_WithEmptyList_ShouldReturnEmptyList()
820819
{
821820
// Act
822-
var sorted = EventProviderDatabaseEventResolver.SortDatabases([]);
821+
var sorted = EventResolver.SortDatabases([]);
823822

824823
// Assert
825824
Assert.Empty(sorted);
@@ -838,7 +837,7 @@ public void SortDatabases_WithMixedVersionsAndNoVersions_ShouldSortCorrectly()
838837
};
839838

840839
// Act
841-
var sorted = EventProviderDatabaseEventResolver.SortDatabases(databases).ToList();
840+
var sorted = EventResolver.SortDatabases(databases).ToList();
842841

843842
// Assert
844843
Assert.Equal(4, sorted.Count);
@@ -860,7 +859,7 @@ public void SortDatabases_WithNoVersion_ShouldSortByProductName()
860859
};
861860

862861
// Act
863-
var sorted = EventProviderDatabaseEventResolver.SortDatabases(databases).ToList();
862+
var sorted = EventResolver.SortDatabases(databases).ToList();
864863

865864
// Assert
866865
Assert.Equal(3, sorted.Count);
@@ -881,7 +880,7 @@ public void SortDatabases_WithNumericVersions_ShouldSortDescending()
881880
};
882881

883882
// Act
884-
var sorted = EventProviderDatabaseEventResolver.SortDatabases(databases).ToList();
883+
var sorted = EventResolver.SortDatabases(databases).ToList();
885884

886885
// Assert
887886
// Numeric comparison (descending): 20 > 10 > 2
@@ -904,7 +903,7 @@ public void SortDatabases_WithProductNameAndVersion_ShouldSortByProductAscending
904903
};
905904

906905
// Act
907-
var sorted = EventProviderDatabaseEventResolver.SortDatabases(databases).ToList();
906+
var sorted = EventResolver.SortDatabases(databases).ToList();
908907

909908
// Assert
910909
Assert.Equal(4, sorted.Count);
@@ -921,7 +920,7 @@ public void SortDatabases_WithSingleDatabase_ShouldReturnSameDatabase()
921920
var databases = new[] { @"C:\Test\Windows 2019.db" };
922921

923922
// Act
924-
var sorted = EventProviderDatabaseEventResolver.SortDatabases(databases).ToList();
923+
var sorted = EventResolver.SortDatabases(databases).ToList();
925924

926925
// Assert
927926
Assert.Single(sorted);

0 commit comments

Comments
 (0)