public void ReadHits_WithValidKustoResponse_ReturnsAllHitsParsed() { using var hitsTable = GetTestTable(); var query = new QueryData("query", "index"); var stubKustoResponse = new Mock <KustoResponseDataSet>(); var kustoTableData = new KustoResponseDataTable(hitsTable, WellKnownDataSet.PrimaryResult); var logger = new Mock <ILogger <KustoResponseParser> >(); stubKustoResponse.Setup(res => res["hits"]).Returns(kustoTableData); var kustoResponseParser = new KustoResponseParser(logger.Object, false, stubMetric); var result = kustoResponseParser.ReadHits(stubKustoResponse.Object, query).ToList(); Assert.AreEqual(2, result.Count); Assert.AreEqual(result[0].Index, "index"); Assert.AreEqual(result[1].Index, "index"); var expectedHitSource1 = new JObject { { "column1", "r1c1" }, { "column2", "r1c2" }, }; Assert.AreEqual(result[0].Source, expectedHitSource1); var expectedHitSource2 = new JObject { { "column1", "r2c1" }, { "column2", "r2c2" }, }; Assert.AreEqual(result[1].Source, expectedHitSource2); }
public void ReadHits_WithNoHitsInKustoResponse_ReturnsEmptyHits() { using var anyTable = GetTestTable(); anyTable.TableName = "not_hits"; var query = new QueryData("query", "index"); var stubKustoResponse = new Mock <KustoResponseDataSet>(); var logger = new Mock <ILogger <KustoResponseParser> >(); var kustoTableData = new KustoResponseDataTable(anyTable, WellKnownDataSet.PrimaryResult); stubKustoResponse.SetupGet(ds => ds["no_hits"]).Returns(kustoTableData); var kustoResponseParser = new KustoResponseParser(logger.Object, false, stubMetric); var result = kustoResponseParser.ReadHits(stubKustoResponse.Object, query).ToList(); Assert.AreEqual(0, result.Count); }