|
3 | 3 |
|
4 | 4 | using System; |
5 | 5 | using System.Collections.Generic; |
| 6 | +using System.Linq; |
6 | 7 | using System.Threading; |
7 | 8 | using System.Threading.Tasks; |
8 | 9 | using Azure.Core; |
@@ -192,5 +193,86 @@ public void MonitorQueryModelFactory_LogsQueryResult_ConvertBinaryDataToJsonElem |
192 | 193 | Assert.AreEqual("PartialError", result.Error.Code); |
193 | 194 | Assert.AreEqual("There were some errors when processing your query.", result.Error.Message); |
194 | 195 | } |
| 196 | + |
| 197 | + [Test] |
| 198 | + public void ValidateMonitorModelFactoryTableCreation() |
| 199 | + { |
| 200 | + LogsTableColumn logsTableColumn0 = MonitorQueryModelFactory.LogsTableColumn("column0", LogsColumnType.Datetime); |
| 201 | + LogsTableColumn logsTableColumn1 = MonitorQueryModelFactory.LogsTableColumn("column1", LogsColumnType.Guid); |
| 202 | + LogsTableColumn logsTableColumn2 = MonitorQueryModelFactory.LogsTableColumn("column2", LogsColumnType.Int); |
| 203 | + LogsTableColumn logsTableColumn3 = MonitorQueryModelFactory.LogsTableColumn("column3", LogsColumnType.Long); |
| 204 | + LogsTableColumn logsTableColumn4 = MonitorQueryModelFactory.LogsTableColumn("column4", LogsColumnType.Real); |
| 205 | + LogsTableColumn logsTableColumn5 = MonitorQueryModelFactory.LogsTableColumn("column5", LogsColumnType.String); |
| 206 | + LogsTableColumn logsTableColumn6 = MonitorQueryModelFactory.LogsTableColumn("column6", LogsColumnType.Timespan); |
| 207 | + LogsTableColumn logsTableColumn7 = MonitorQueryModelFactory.LogsTableColumn("column7", LogsColumnType.Decimal); |
| 208 | + LogsTableColumn logsTableColumn8 = MonitorQueryModelFactory.LogsTableColumn("column8", LogsColumnType.Bool); |
| 209 | + LogsTableColumn logsTableColumn9 = MonitorQueryModelFactory.LogsTableColumn("column9", LogsColumnType.Dynamic); |
| 210 | + LogsTableColumn[] logsTableColumns = new LogsTableColumn[] { logsTableColumn0, logsTableColumn1, logsTableColumn2, logsTableColumn3, logsTableColumn4, logsTableColumn5, logsTableColumn6, logsTableColumn7, logsTableColumn8, logsTableColumn9}; |
| 211 | + Object[] rowValues = new Object[] { "2015-12-31T23:59:59.9Z", "74be27de-1e4e-49d9-b579-fe0b331d3642", 12345, 1234567890123, 12345.6789, "string value", "00:00:10", "0.10101", false, "{\u0022a\u0022:123,\u0022b\u0022:\u0022hello\u0022,\u0022c\u0022:[1,2,3],\u0022d\u0022:{}}" }; |
| 212 | + |
| 213 | + LogsTableRow logsTableRow = MonitorQueryModelFactory.LogsTableRow(logsTableColumns, rowValues); |
| 214 | + LogsTableRow[] rowArray = new LogsTableRow[] { logsTableRow }; |
| 215 | + LogsTable logsTable = MonitorQueryModelFactory.LogsTable("tester", logsTableColumns.AsEnumerable(), rowArray.AsEnumerable()); |
| 216 | + |
| 217 | + Assert.AreEqual("tester", logsTable.Name); |
| 218 | + Assert.AreEqual(1, logsTable.Rows.Count); |
| 219 | + Assert.AreEqual(10, logsTable.Columns.Count); |
| 220 | + |
| 221 | + Assert.AreEqual("column0", logsTable.Columns[0].Name); |
| 222 | + Assert.AreEqual("datetime", logsTable.Columns[0].Type.ToString()); |
| 223 | + Assert.AreEqual("column1", logsTable.Columns[1].Name); |
| 224 | + Assert.AreEqual("guid", logsTable.Columns[1].Type.ToString()); |
| 225 | + Assert.AreEqual("column2", logsTable.Columns[2].Name); |
| 226 | + Assert.AreEqual("int", logsTable.Columns[2].Type.ToString()); |
| 227 | + Assert.AreEqual("column3", logsTable.Columns[3].Name); |
| 228 | + Assert.AreEqual("long", logsTable.Columns[3].Type.ToString()); |
| 229 | + Assert.AreEqual("column4", logsTable.Columns[4].Name); |
| 230 | + Assert.AreEqual("real", logsTable.Columns[4].Type.ToString()); |
| 231 | + Assert.AreEqual("column5", logsTable.Columns[5].Name); |
| 232 | + Assert.AreEqual("string", logsTable.Columns[5].Type.ToString()); |
| 233 | + Assert.AreEqual("column6", logsTable.Columns[6].Name); |
| 234 | + Assert.AreEqual("timespan", logsTable.Columns[6].Type.ToString()); |
| 235 | + Assert.AreEqual("column7", logsTable.Columns[7].Name); |
| 236 | + Assert.AreEqual("decimal", logsTable.Columns[7].Type.ToString()); |
| 237 | + Assert.AreEqual("column8", logsTable.Columns[8].Name); |
| 238 | + Assert.AreEqual("bool", logsTable.Columns[8].Type.ToString()); |
| 239 | + Assert.AreEqual("column9", logsTable.Columns[9].Name); |
| 240 | + Assert.AreEqual("dynamic", logsTable.Columns[9].Type.ToString()); |
| 241 | + |
| 242 | + var expectedDate = DateTimeOffset.Parse("2015-12-31 23:59:59.9+00:00"); |
| 243 | + |
| 244 | + Assert.AreEqual(expectedDate, logsTable.Rows[0].GetDateTimeOffset(0)); |
| 245 | + Assert.AreEqual(expectedDate, logsTable.Rows[0].GetObject("column0")); |
| 246 | + Assert.AreEqual(false, logsTable.Rows[0].GetBoolean("column8")); |
| 247 | + Assert.AreEqual(false, logsTable.Rows[0].GetBoolean(8)); |
| 248 | + Assert.AreEqual(false, logsTable.Rows[0].GetObject("column8")); |
| 249 | + Assert.AreEqual(Guid.Parse("74be27de-1e4e-49d9-b579-fe0b331d3642"), logsTable.Rows[0].GetGuid("column1")); |
| 250 | + Assert.AreEqual(Guid.Parse("74be27de-1e4e-49d9-b579-fe0b331d3642"), logsTable.Rows[0].GetGuid(1)); |
| 251 | + Assert.AreEqual(Guid.Parse("74be27de-1e4e-49d9-b579-fe0b331d3642"), logsTable.Rows[0].GetObject("column1")); |
| 252 | + Assert.AreEqual(12345, logsTable.Rows[0].GetInt32("column2")); |
| 253 | + Assert.AreEqual(12345, logsTable.Rows[0].GetInt32(2)); |
| 254 | + Assert.AreEqual(12345, logsTable.Rows[0].GetObject("column2")); |
| 255 | + Assert.AreEqual(1234567890123, logsTable.Rows[0].GetInt64("column3")); |
| 256 | + Assert.AreEqual(1234567890123, logsTable.Rows[0].GetInt64(3)); |
| 257 | + Assert.AreEqual(1234567890123, logsTable.Rows[0].GetObject("column3")); |
| 258 | + Assert.AreEqual(12345.6789d, logsTable.Rows[0].GetDouble("column4")); |
| 259 | + Assert.AreEqual(12345.6789d, logsTable.Rows[0].GetDouble(4)); |
| 260 | + Assert.AreEqual(12345.6789d, logsTable.Rows[0].GetObject("column4")); |
| 261 | + Assert.AreEqual("string value", logsTable.Rows[0].GetString("column5")); |
| 262 | + Assert.AreEqual("string value", logsTable.Rows[0].GetString(5)); |
| 263 | + Assert.AreEqual("string value", logsTable.Rows[0].GetObject("column5")); |
| 264 | + Assert.AreEqual(TimeSpan.FromSeconds(10), logsTable.Rows[0].GetTimeSpan("column6")); |
| 265 | + Assert.AreEqual(TimeSpan.FromSeconds(10), logsTable.Rows[0].GetTimeSpan(6)); |
| 266 | + Assert.AreEqual(TimeSpan.FromSeconds(10), logsTable.Rows[0].GetObject("column6")); |
| 267 | + Assert.AreEqual(0.10101m, logsTable.Rows[0].GetDecimal("column7")); |
| 268 | + Assert.AreEqual(0.10101m, logsTable.Rows[0].GetDecimal(7)); |
| 269 | + Assert.AreEqual(0.10101m, logsTable.Rows[0].GetObject("column7")); |
| 270 | + Assert.IsFalse(logsTable.Rows[0].GetBoolean("column8")); |
| 271 | + Assert.IsFalse(logsTable.Rows[0].GetBoolean(8)); |
| 272 | + Assert.AreEqual(false, logsTable.Rows[0].GetObject("column8")); |
| 273 | + Assert.AreEqual("{\"a\":123,\"b\":\"hello\",\"c\":[1,2,3],\"d\":{}}", logsTable.Rows[0].GetDynamic(9).ToString()); |
| 274 | + Assert.AreEqual("{\"a\":123,\"b\":\"hello\",\"c\":[1,2,3],\"d\":{}}", logsTable.Rows[0].GetDynamic("column9").ToString()); |
| 275 | + Assert.AreEqual("{\"a\":123,\"b\":\"hello\",\"c\":[1,2,3],\"d\":{}}", logsTable.Rows[0].GetObject("column9").ToString()); |
| 276 | + } |
195 | 277 | } |
196 | 278 | } |
0 commit comments