36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using Microsoft.Extensions.Logging.Abstractions;
 | 
						|
using StellaOps.Concelier.Storage.Mongo.MergeEvents;
 | 
						|
 | 
						|
namespace StellaOps.Concelier.Storage.Mongo.Tests;
 | 
						|
 | 
						|
[Collection("mongo-fixture")]
 | 
						|
public sealed class MergeEventStoreTests : IClassFixture<MongoIntegrationFixture>
 | 
						|
{
 | 
						|
    private readonly MongoIntegrationFixture _fixture;
 | 
						|
 | 
						|
    public MergeEventStoreTests(MongoIntegrationFixture fixture)
 | 
						|
    {
 | 
						|
        _fixture = fixture;
 | 
						|
    }
 | 
						|
 | 
						|
    [Fact]
 | 
						|
    public async Task AppendAndReadMergeEvents()
 | 
						|
    {
 | 
						|
        var store = new MergeEventStore(_fixture.Database, NullLogger<MergeEventStore>.Instance);
 | 
						|
        var record = new MergeEventRecord(
 | 
						|
            Guid.NewGuid(),
 | 
						|
            "ADV-1",
 | 
						|
            new byte[] { 0x01 },
 | 
						|
            new byte[] { 0x02 },
 | 
						|
            DateTimeOffset.UtcNow,
 | 
						|
            new List<Guid> { Guid.NewGuid() },
 | 
						|
            Array.Empty<MergeFieldDecision>());
 | 
						|
 | 
						|
        await store.AppendAsync(record, CancellationToken.None);
 | 
						|
 | 
						|
        var recent = await store.GetRecentAsync("ADV-1", 10, CancellationToken.None);
 | 
						|
        Assert.Single(recent);
 | 
						|
        Assert.Equal(record.AfterHash, recent[0].AfterHash);
 | 
						|
    }
 | 
						|
}
 |