protected async Task ValidateDataFilterInRange(string deviceId, DataStream stream, IDataStreamConnector connector) { var startDate = DateTime.UtcNow.AddDays(-1).ToJSONString(); var endDate = DateTime.UtcNow.AddDays(1).ToJSONString(); var getResult = await connector.GetItemsAsync(deviceId, new Core.Models.UIMetaData.ListRequest() { PageIndex = 0, PageSize = 30, StartDate = startDate, EndDate = endDate, }); Assert.IsTrue(getResult.Successful, getResult.Successful ? "Success" : $"Could not get result {getResult.Errors.First().Message}"); Console.WriteLine($"All Date Values should be larger than {startDate} and smaller than {endDate}"); WriteResult(getResult); Assert.IsTrue(getResult.Successful); Assert.AreEqual(getResult.PageSize, getResult.Model.Count(), "Page size should match model count"); Assert.IsFalse(getResult.HasMoreRecords); Assert.AreEqual(10, getResult.PageSize); Assert.IsFalse(getResult.Model.Where(rec => String.Compare(rec.Timestamp, startDate) < 0 && String.Compare(rec.Timestamp, endDate) > 0).Any()); }
public async Task <ListResponse <DataStreamResult> > GetStreamDataAsync(DataStream stream, IDataStreamConnector connector, string deviceId, EntityHeader org, EntityHeader user, ListRequest request) { await AuthorizeAsync(stream, AuthorizeResult.AuthorizeActions.Read, user, org, "ReadDeviceData"); await connector.InitAsync(stream); return(await connector.GetItemsAsync(deviceId, request)); }
protected async Task ValidatePaginatedRecordSet(string deviceId, IDataStreamConnector connector) { var getResult = await connector.GetItemsAsync(deviceId, new Core.Models.UIMetaData.ListRequest() { PageIndex = 0, PageSize = 15 }); Assert.IsTrue(getResult.Successful); Assert.AreEqual("99", getResult.Model.ToArray()[0].Where(fld => fld.Key == "pointIndex").First().Value.ToString()); Assert.IsTrue(getResult.HasMoreRecords, "Should Have Records"); WriteResult(getResult); getResult = await connector.GetItemsAsync(deviceId, new Core.Models.UIMetaData.ListRequest() { PageIndex = 2, PageSize = 15 }); Assert.AreEqual("84", getResult.Model.ToArray()[0].Where(fld => fld.Key == "pointIndex").First().Value.ToString()); Assert.IsTrue(getResult.Successful); Assert.IsTrue(getResult.HasMoreRecords); WriteResult(getResult); getResult = await connector.GetItemsAsync(deviceId, new Core.Models.UIMetaData.ListRequest() { PageIndex = 7, PageSize = 15 }); Assert.AreEqual("9", getResult.Model.ToArray()[0].Where(fld => fld.Key == "pointIndex").First().Value.ToString()); Assert.AreEqual(10, getResult.PageSize); Assert.IsTrue(getResult.Successful); Assert.IsFalse(getResult.HasMoreRecords); WriteResult(getResult); getResult = await connector.GetItemsAsync(deviceId, new Core.Models.UIMetaData.ListRequest() { PageIndex = 8, PageSize = 15 }); Assert.AreEqual(0, getResult.PageSize); Assert.IsTrue(getResult.Successful); Assert.IsFalse(getResult.HasMoreRecords); WriteResult(getResult); }