/// <summary> /// Post location and other information for tracking a user. /// </summary> /// <param name="tracking">Contains location and other information to track a user.</param> /// <returns>Relevant information about the user route.</returns> public TrackingResponseModel Post([FromBody] TrackingModel tracking) { /* * var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); * return epoch.AddSeconds(unixTime); */ var response = new TrackingResponseModel(); ZoneResponse zoneResponse = _zoneService.GetZone(11, 11); if (zoneResponse.HasError) { response.HasError = true; response.Error = zoneResponse.Error; } else { response.Zones.Add(new ZoneModel() { Name = zoneResponse.Name, Number = zoneResponse.Number }); } return(response); }
private ReqHubMerchantMiddleware CreateMiddleware(bool isSuccessStatusCode = true) { var merchantClientMock = new Mock <IMerchantClient>(); var statusCode = isSuccessStatusCode ? HttpStatusCode.OK : HttpStatusCode.UnavailableForLegalReasons; var httpResponse = new HttpResponseMessage(statusCode); var responseModel = new TrackingResponseModel { ClientId = "5" }; httpResponse.Content = new StringContent(JsonConvert.SerializeObject(responseModel), Encoding.UTF8, "application/json"); merchantClientMock.Setup(x => x.TrackAsync(It.IsAny <string>(), It.IsAny <IDictionary <string, string> >(), It.IsAny <CancellationToken>())) .ReturnsAsync(httpResponse); merchantClientMock.Setup(x => x.CreateReqHubIdentity(It.IsAny <TrackingResponseModel>())) .Returns(new ClaimsIdentity()); RequestDelegate requestDelegate = (context) => Task.CompletedTask; var middleware = new ReqHubMerchantMiddleware(requestDelegate, merchantClientMock.Object); return(middleware); }
public void TestCreateReqHubIdentity() { var service = this.CreateService(); var trackingResponse = new TrackingResponseModel { ClientId = "test" }; var result = service.CreateReqHubIdentity(trackingResponse); Assert.Equal("test", result.FindFirst(ReqHubClaimTypes.ClientId).Value); }