Пример #1
0
		public void prepare_position_based_checkpoint_tag() {
			CheckpointTag tag = CheckpointTag.FromPreparePosition(1, 1234);
			byte[] bytes = tag.ToJsonBytes(_version);
			string instring = Helper.UTF8NoBom.GetString(bytes);
			Console.WriteLine(instring);

			CheckpointTag back = instring.ParseCheckpointTagJson();
			Assert.AreEqual(tag, back);
		}
Пример #2
0
		public void phase_based_checkpoint_tag_completed() {
			CheckpointTag tag = CheckpointTag.FromPhase(2, completed: false);
			byte[] bytes = tag.ToJsonBytes(_version);
			string instring = Helper.UTF8NoBom.GetString(bytes);
			Console.WriteLine(instring);

			CheckpointTag back = instring.ParseCheckpointTagJson();
			Assert.AreEqual(tag, back);
		}
Пример #3
0
		public void by_stream_based_checkpoint_tag_zero() {
			CheckpointTag tag = CheckpointTag.FromByStreamPosition(0, "catalog", -1, null, -1, 12345);
			byte[] bytes = tag.ToJsonBytes(_version);
			string instring = Helper.UTF8NoBom.GetString(bytes);
			Console.WriteLine(instring);

			CheckpointTag back = instring.ParseCheckpointTagJson();
			Assert.AreEqual(tag, back);
		}
Пример #4
0
		public void event_by_type_index_based_checkpoint_tag() {
			CheckpointTag tag = CheckpointTag.FromEventTypeIndexPositions(
				0, new TFPos(100, 50), new Dictionary<string, long> {{"a", 1}, {"b", 2}});
			byte[] bytes = tag.ToJsonBytes(_version);
			string instring = Helper.UTF8NoBom.GetString(bytes);
			Console.WriteLine(instring);

			CheckpointTag back = instring.ParseCheckpointTagJson();
			Assert.AreEqual(tag, back);
		}
Пример #5
0
		public void streams_based_checkpoint_tag() {
			CheckpointTag tag = CheckpointTag.FromStreamPositions(1, new Dictionary<string, long> {{"a", 1}, {"b", 2}});
			byte[] bytes = tag.ToJsonBytes(_version);
			string instring = Helper.UTF8NoBom.GetString(bytes);
			Console.WriteLine(instring);

			CheckpointTag back = instring.ParseCheckpointTagJson();
			Assert.AreEqual(tag, back);
			Assert.IsNull(back.CommitPosition);
		}
Пример #6
0
		public void stream_based_checkpoint_tag() {
			CheckpointTag tag = CheckpointTag.FromStreamPosition(1, "$ce-account", 12345);
			byte[] bytes = tag.ToJsonBytes(_version);
			string instring = Helper.UTF8NoBom.GetString(bytes);
			Console.WriteLine(instring);

			CheckpointTag back = instring.ParseCheckpointTagJson();
			Assert.AreEqual(tag, back);
			Assert.IsNull(back.CommitPosition);
		}
 protected override void BeginWriteCheckpoint(
     CheckpointTag requestedCheckpointPosition, string requestedCheckpointState)
 {
     _requestedCheckpointPosition = requestedCheckpointPosition;
     _inCheckpointWriteAttempt = 1;
     //TODO: pass correct expected version
     _checkpointEventToBePublished = new Event(
         Guid.NewGuid(), "ProjectionCheckpoint", true,
         requestedCheckpointState == null ? null : Encoding.UTF8.GetBytes(requestedCheckpointState),
         requestedCheckpointPosition.ToJsonBytes());
     PublishWriteCheckpointEvent();
 }
 public void BeginWriteCheckpoint(IEnvelope envelope,
     CheckpointTag requestedCheckpointPosition, string requestedCheckpointState)
 {
     _envelope = envelope;
     _requestedCheckpointPosition = requestedCheckpointPosition;
     _inCheckpointWriteAttempt = 1;
     //TODO: pass correct expected version
     _checkpointEventToBePublished = new Event(
         Guid.NewGuid(), ProjectionNamesBuilder.EventType_ProjectionCheckpoint, true,
         requestedCheckpointState == null ? null : Helper.UTF8NoBom.GetBytes(requestedCheckpointState),
         requestedCheckpointPosition.ToJsonBytes(projectionVersion: _projectionVersion));
     PublishWriteStreamMetadataAndCheckpointEvent();
 }
Пример #9
0
        public void position_based_checkpoint_tag()
        {
            CheckpointTag tag = CheckpointTag.FromPosition(-1, 0);

            byte[] bytes    = tag.ToJsonBytes();
            string instring = Encoding.UTF8.GetString(bytes);

            Console.WriteLine(instring);

            var back = instring.ParseJson <CheckpointTag>();

            Assert.AreEqual(tag, back);
        }
Пример #10
0
        public void stream_based_checkpoint_tag()
        {
            CheckpointTag tag = CheckpointTag.FromStreamPosition("$ce-account", 12345);

            byte[] bytes    = tag.ToJsonBytes();
            string instring = Encoding.UTF8.GetString(bytes);

            Console.WriteLine(instring);

            var back = instring.ParseJson <CheckpointTag>();

            Assert.AreEqual(tag, back);
            Assert.IsNull(back.CommitPosition);
        }
Пример #11
0
		public void extra_metadata_are_preserved() {
			CheckpointTag tag = CheckpointTag.FromPosition(0, -1, 0);
			var extra = new Dictionary<string, JToken> {{"$$a", new JRaw("\"b\"")}, {"$$c", new JRaw("\"d\"")}};
			byte[] bytes = tag.ToJsonBytes(_version, extra);
			string instring = Helper.UTF8NoBom.GetString(bytes);
			Console.WriteLine(instring);

			CheckpointTagVersion back = instring.ParseCheckpointTagVersionExtraJson(_version);
			Assert.IsNotNull(back.ExtraMetadata);
			JToken v;
			Assert.IsTrue(back.ExtraMetadata.TryGetValue("$$a", out v));
			Assert.AreEqual("b", (string)((JValue)v).Value);
			Assert.IsTrue(back.ExtraMetadata.TryGetValue("$$c", out v));
			Assert.AreEqual("d", (string)((JValue)v).Value);
		}
Пример #12
0
        public void streams_based_checkpoint_tag()
        {
            CheckpointTag tag = CheckpointTag.FromStreamPositions(new Dictionary <string, int> {
                { "a", 1 }, { "b", 2 }
            });

            byte[] bytes    = tag.ToJsonBytes();
            string instring = Encoding.UTF8.GetString(bytes);

            Console.WriteLine(instring);

            var back = instring.ParseJson <CheckpointTag>();

            Assert.AreEqual(tag, back);
            Assert.IsNull(back.CommitPosition);
        }