public async Task CatchupReplicationDiffEnumerator_MoveNext_Future_False() { Http.HttpHandler.Default = new ReplicationServerMockHttpHandler(); var enumerator = new CatchupReplicationDiffEnumerator( new DateTime(2020, 01, 01)); Assert.False(await enumerator.MoveNext()); }
static async Task Main(string[] args) { // enable logging. Logger.LogAction = (origin, level, message, parameters) => { var formattedMessage = $"{origin} - {message}"; switch (level) { case "critical": Log.Fatal(formattedMessage); break; case "error": Log.Error(formattedMessage); break; case "warning": Log.Warning(formattedMessage); break; case "verbose": Log.Verbose(formattedMessage); break; case "information": Log.Information(formattedMessage); break; default: Log.Debug(formattedMessage); break; } }; Log.Logger = new LoggerConfiguration() .MinimumLevel.Verbose() .WriteTo.Console() .CreateLogger(); var thePast = DateTime.Now.AddHours(-2).AddDays(-5); var catchupEnumerator = new CatchupReplicationDiffEnumerator(thePast); while (await catchupEnumerator.MoveNext()) { var current = catchupEnumerator.State; Log.Information($"State: {current}"); } }
public async Task CatchupReplicationDiffEnumerator_MoveNext_FirstMinuteThenHourThenDayThenHourThenMinute() { Http.HttpHandler.Default = new ReplicationServerMockHttpHandler(); var enumerator = new CatchupReplicationDiffEnumerator( new DateTime(2019, 09, 22, 20, 55, 0, DateTimeKind.Utc)); // first minutes will happen. Assert.True(await enumerator.MoveNext()); Assert.Equal(3683288, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(3683289, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(3683290, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(3683291, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(3683292, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(3683293, enumerator.State.SequenceNumber); // then hours will happen. Assert.True(await enumerator.MoveNext()); Assert.Equal(61599, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(61600, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(61601, enumerator.State.SequenceNumber); // then days will happen. Assert.True(await enumerator.MoveNext()); Assert.Equal(2568, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(2569, enumerator.State.SequenceNumber); // then hours again. Assert.True(await enumerator.MoveNext()); Assert.Equal(61650, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(61651, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(61652, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(61653, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(61654, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(61655, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(61656, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(61657, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(61658, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(61659, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(61660, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(61661, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(61662, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(61663, enumerator.State.SequenceNumber); // then minutes again. Assert.True(await enumerator.MoveNext()); Assert.Equal(3687190, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(3687191, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(3687192, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(3687193, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(3687194, enumerator.State.SequenceNumber); Assert.True(await enumerator.MoveNext()); Assert.Equal(3687195, enumerator.State.SequenceNumber); Assert.False(await enumerator.MoveNext()); }