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); }
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); }
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); }
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); }
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); }
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(); }
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); }
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); }
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); }
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); }