public QueryMultiAnalysisIntervalGroupAsync ( string collection, IEnumerable |
||
collection | string | |
analysisParams | IEnumerable |
|
timeframe | QueryTimeframe | |
interval | Keen.Core.Query.QueryInterval | |
filters | IEnumerable |
|
groupBy | string | |
timezone | string | |
return | string>>>>>>.Task |
public async void MultiAnalysis_ValidIntervalGroupBy_Success() { var client = new KeenClient(settingsEnv); var timeframe = QueryRelativeTimeframe.PreviousNDays(3); var interval = QueryInterval.Daily(); var groupby = "field1"; IEnumerable<MultiAnalysisParam> param = new List<MultiAnalysisParam>() { new MultiAnalysisParam("first", MultiAnalysisParam.Metric.Count()), new MultiAnalysisParam("second", MultiAnalysisParam.Metric.Maximum("field1")), new MultiAnalysisParam("third", MultiAnalysisParam.Metric.Minimum("field1")), }; var dict = new Dictionary<string, string>(); dict.Add("second", "fff"); dict.Add("third", "aaa"); dict.Add("first", "123"); dict.Add(groupby, "123"); IEnumerable<QueryIntervalValue<IEnumerable<QueryGroupValue<IDictionary<string, string>>>>> result = new List<QueryIntervalValue<IEnumerable<QueryGroupValue<IDictionary<string, string>>>>>() { new QueryIntervalValue<IEnumerable<QueryGroupValue<IDictionary<string, string>>>>( new List<QueryGroupValue<IDictionary<string,string>>>(){ new QueryGroupValue<IDictionary<string,string>>(dict, groupby), new QueryGroupValue<IDictionary<string,string>>(dict, groupby) }, DateTime.Now, DateTime.Now.AddSeconds(2) ), new QueryIntervalValue<IEnumerable<QueryGroupValue<IDictionary<string, string>>>>( new List<QueryGroupValue<IDictionary<string,string>>>(){ new QueryGroupValue<IDictionary<string,string>>(dict, groupby), new QueryGroupValue<IDictionary<string,string>>(dict, groupby) }, DateTime.Now, DateTime.Now.AddSeconds(2) ), }; Mock<IQueries> queryMock = null; if (UseMocks) { queryMock = new Mock<IQueries>(); queryMock.Setup(m => m.MultiAnalysis( It.Is<string>(c => c == testCol), It.Is<IEnumerable<MultiAnalysisParam>>(p => p == param), It.Is<QueryTimeframe>(t => t == timeframe), It.Is<QueryInterval>(i=>i==interval), It.Is<IEnumerable<QueryFilter>>(f => f == null), It.Is<string>(g => g == groupby), It.Is<string>(tz => tz == "") )) .Returns(Task.FromResult(result)); client.Queries = queryMock.Object; } var reply = (await client.QueryMultiAnalysisIntervalGroupAsync(testCol, param, timeframe, interval, null, groupby, "")).ToList(); if (null != queryMock) queryMock.VerifyAll(); }