Exemplo n.º 1
0
        public void SnapshotStore_should_delete_a_single_snapshot_identified_by_SequenceNr_in_snapshot_metadata()
        {
            var snapshotMetadata = _metadata[2];
            var metadata         =
                new SnapshotMetadata(snapshotMetadata.PersistenceId, snapshotMetadata.SequenceNr);
            var message   = new DeleteSnapshot(metadata);
            var testProbe = CreateTestProbe();

            Subscribe <DeleteSnapshot>(testProbe.Ref);
            SnapshotStore.Tell(message, _senderProbe.Ref);
            testProbe.ExpectMsg(message, new TimeSpan?());
            _senderProbe.ExpectMsg <DeleteSnapshotSuccess>(new TimeSpan?());
            SnapshotStore.Tell(
                new LoadSnapshot(Pid, new SnapshotSelectionCriteria(metadata.SequenceNr),
                                 long.MaxValue), _senderProbe.Ref);
            _senderProbe.ExpectMsg((Predicate <LoadSnapshotResult>)(result =>
            {
                if (result.ToSequenceNr == long.MaxValue && result.Snapshot != null &&
                    result.Snapshot.Metadata.Equals(_metadata[1]))
                {
                    return(result.Snapshot.Snapshot.ToString() == "s-2");
                }
                return(false);
            }), new TimeSpan?());
        }
Exemplo n.º 2
0
        public void SnapshotStore_should_delete_a_single_snapshot_identified_by_snapshot_metadata()
        {
            var md      = Metadata[2];
            var command = new DeleteSnapshot(md);
            var sub     = CreateTestProbe();

            Subscribe <DeleteSnapshot>(sub.Ref);
            SnapshotStore.Tell(command);
            sub.ExpectMsg(command);

            SnapshotStore.Tell(new LoadSnapshot(Pid, new SnapshotSelectionCriteria(md.SequenceNr, md.Timestamp), long.MaxValue), _senderProbe.Ref);
            _senderProbe.ExpectMsg <LoadSnapshotResult>(result =>
                                                        result.ToSequenceNr == long.MaxValue &&
                                                        result.Snapshot != null &&
                                                        result.Snapshot.Metadata.Equals(Metadata[1]) &&
                                                        result.Snapshot.Snapshot.ToString() == "s-2");
        }
Exemplo n.º 3
0
        public void SnapshotStore_should_delete_a_single_snapshot_identified_by_SequenceNr_in_snapshot_metadata()
        {
            var md = Metadata[2];
            md = new SnapshotMetadata(md.PersistenceId, md.SequenceNr); // don't care about timestamp for delete of a single snap
            var command = new DeleteSnapshot(md);
            var sub = CreateTestProbe();

            Subscribe<DeleteSnapshot>(sub.Ref);
            SnapshotStore.Tell(command, _senderProbe.Ref);
            sub.ExpectMsg(command);
            _senderProbe.ExpectMsg<DeleteSnapshotSuccess>();

            SnapshotStore.Tell(new LoadSnapshot(Pid, new SnapshotSelectionCriteria(md.SequenceNr), long.MaxValue), _senderProbe.Ref);
            _senderProbe.ExpectMsg<LoadSnapshotResult>(result =>
                result.ToSequenceNr == long.MaxValue
                && result.Snapshot != null
                && result.Snapshot.Metadata.Equals(Metadata[1])
                && result.Snapshot.Snapshot.ToString() == "s-2");
        }