private void OnProjectionsReadEvents(HttpEntityManager http, UriTemplateMatch match) { if (_httpForwarder.ForwardRequest(http)) { return; } var envelope = new SendToHttpEnvelope <FeedReaderMessage.FeedPage>( _networkSendQueue, http, FeedPageFormatter, FeedPageConfigurator, ErrorsEnvelope(http)); http.ReadTextRequestAsync( (o, body) => { var bodyParsed = body.ParseJson <ReadEventsBody>(); var fromPosition = CheckpointTag.FromJson( new JTokenReader(bodyParsed.Position), new ProjectionVersion(0, 0, 0)); Publish( new FeedReaderMessage.ReadPage( Guid.NewGuid(), envelope, http.User, bodyParsed.Query, fromPosition.Tag, bodyParsed.MaxEvents ?? 10)); }, x => Log.DebugException(x, "Read Request Body Failed.")); }
public void stream_position_should_not_overflow() { var checkpointTag = CheckpointTag.FromStreamPosition(1, "test", 9876543210L); var json = checkpointTag.ToJsonString(); var jsonReader = new JsonTextReader(new StringReader(json)); var checkpointTagFromJson = CheckpointTag.FromJson(jsonReader, new ProjectionVersion(0, 0, 0)); Assert.AreEqual(9876543210L, checkpointTagFromJson.Tag.Streams["test"]); }
public void prepare_and_commit_positions_should_not_overflow() { var checkpointTag = CheckpointTag.FromPosition(1, 9876543210L, 9876543211L); var json = checkpointTag.ToJsonString(); var jsonReader = new JsonTextReader(new StringReader(json)); var checkpointTagFromJson = CheckpointTag.FromJson(jsonReader, new ProjectionVersion(0, 0, 0)); Assert.AreEqual(9876543210L, checkpointTagFromJson.Tag.CommitPosition); Assert.AreEqual(9876543211L, checkpointTagFromJson.Tag.PreparePosition); }
public void data_and_catalog_position_should_not_overflow() { var checkpointTag = CheckpointTag.FromByStreamPosition(1, "catalog", 9876543210L, "data", 9876543211L, 9876543212L); var json = checkpointTag.ToJsonString(); var jsonReader = new JsonTextReader(new StringReader(json)); var checkpointTagFromJson = CheckpointTag.FromJson(jsonReader, new ProjectionVersion(0, 0, 0)); Assert.AreEqual(9876543210L, checkpointTagFromJson.Tag.CatalogPosition); Assert.AreEqual(9876543211L, checkpointTagFromJson.Tag.DataPosition); }