public async Task Session_Insert_Find() { // Arrange var insertSessionJsonDto = new InsertSessionJsonDto() { ProducerId = "1111", RequestId = "2222", SessionId = 3333, Timestamp = 444444444444 }; // Act await _jsonApiController.Insert(insertSessionJsonDto); // Assert var findSessionJsonDto = new FindSessionJsonDto() { RequestId = insertSessionJsonDto.RequestId, SessionId = insertSessionJsonDto.SessionId }; var findActionResult = await _jsonApiController.Find(findSessionJsonDto); var userSession = (UserSession)((OkObjectResult)findActionResult).Value; Assert.Equal(insertSessionJsonDto.ProducerId, userSession.Player.ToString()); Assert.Equal(insertSessionJsonDto.RequestId, userSession.RequestId); Assert.Equal(insertSessionJsonDto.SessionId, userSession.SessionId); Assert.Equal(insertSessionJsonDto.Timestamp, userSession.Timestamp); // Asserts for StatisticsApiController var getSessionsActionResult = (await _statisticsApiController.GetSessions(insertSessionJsonDto.ProducerId)).Result; var sessions = (List <long>)((OkObjectResult)getSessionsActionResult).Value; Assert.Single(sessions); Assert.Equal(insertSessionJsonDto.SessionId, sessions[0]); }
public async Task <ActionResult> Insert(InsertSessionJsonDto sessionCommand) { var userSession = new UserSession() { RequestId = sessionCommand.RequestId, Player = int.Parse(sessionCommand.ProducerId), SessionId = sessionCommand.SessionId, Timestamp = sessionCommand.Timestamp }; (_, var isNew) = await _sessionService.CreateSession(userSession, _sessionConfiguration.TTL); if (!isNew) { return(Ok(new JsonApiError() { ErrorCode = ErrorCodeEnum.SessionAlreadyExists })); } await _statisticsService.LogSessionPerUser(sessionCommand.ProducerId, sessionCommand.SessionId, DateTimeOffset.Now.ToUnixTimeSeconds() + _sessionConfiguration.TTL); return(Ok()); }