Exemplo n.º 1
0
        public void Given_policy_When_try_to_delete_similar_number_several_times_Then_it_should_increment_active_count_only_once()
        {
            var policy = new SnapshotsDeletePolicy(5);

            policy.Tracking.Start(new SnapshotSelectionCriteria(3));
            policy.Tracking.Start(new SnapshotSelectionCriteria(3));
            Assert.Equal(1, policy.Tracking.InProgress);
        }
Exemplo n.º 2
0
        public void Given_policy_When_delete_complete_with_previos_delete_pending_Then_they_should_be_treated_as_completed()
        {
            var policy = new SnapshotsDeletePolicy(5);

            policy.Tracking.Start(new SnapshotSelectionCriteria(3));
            policy.Tracking.Start(new SnapshotSelectionCriteria(4));
            policy.Tracking.Complete(new SnapshotSelectionCriteria(7));
            Assert.Equal(0, policy.Tracking.InProgress);
        }
Exemplo n.º 3
0
        public void Given_policy_When_delete_fails_Then_it_should_decrement_active_count()
        {
            var policy = new SnapshotsDeletePolicy(5);

            policy.Tracking.Start(new SnapshotSelectionCriteria(3));
            Assert.Equal(1, policy.Tracking.InProgress);
            policy.Tracking.Fail(new SnapshotSelectionCriteria(3));
            Assert.Equal(0, policy.Tracking.InProgress);
        }
Exemplo n.º 4
0
        public void Given_policy_When_delete_fails_with_previos_save_pending_Then_it_should_not_finish_them()
        {
            var policy = new SnapshotsDeletePolicy(5);

            policy.Tracking.Start(new SnapshotSelectionCriteria(3));
            policy.Tracking.Start(new SnapshotSelectionCriteria(4));
            policy.Tracking.Fail(new SnapshotSelectionCriteria(4));
            Assert.Equal(1, policy.Tracking.InProgress);
        }
Exemplo n.º 5
0
        public void When_trying_to_delete_Then_should_keep_events_according_to_its_lifetime()
        {
            var policy = new SnapshotsDeletePolicy(1, TimeSpan.FromSeconds(10));

            Assert.True(policy.ShouldDelete(5, out SnapshotSelectionCriteria criteria));
            var expectedTimeStamp = BusinessDateTime.UtcNow - policy.MaxSnapshotAge;

            Assert.True((expectedTimeStamp - criteria.MaxTimeStamp) <= TimeSpan.FromMilliseconds(100));
        }