Пример #1
0
        public void Create_WithString_ReturnsKeyword()
        {
            stubDataRecord.Setup(r => r[0]).Returns("stringColumnName");
            stubDataRecord.Setup(r => r[1]).Returns("System.String");

            var fieldCapabilityElement = FieldCapabilityElementFactory.CreateFromDataRecord(stubDataRecord.Object);

            Assert.AreEqual(fieldCapabilityElement.Name, "stringColumnName");
            Assert.AreEqual(fieldCapabilityElement.Type, "keyword");
        }
Пример #2
0
        public void Create_WithSByte_ReturnsBoolean()
        {
            stubDataRecord.Setup(r => r[0]).Returns("boolColumnName");
            stubDataRecord.Setup(r => r[1]).Returns("System.SByte");

            var fieldCapabilityElement = FieldCapabilityElementFactory.CreateFromDataRecord(stubDataRecord.Object);

            Assert.AreEqual(fieldCapabilityElement.Name, "boolColumnName");
            Assert.AreEqual(fieldCapabilityElement.Type, "boolean");
        }
Пример #3
0
        public void Create_WithObject_ReturnsObject()
        {
            stubDataRecord.Setup(r => r[0]).Returns("objectColumnName");
            stubDataRecord.Setup(r => r[1]).Returns("System.Object");

            var fieldCapabilityElement = FieldCapabilityElementFactory.CreateFromDataRecord(stubDataRecord.Object);

            Assert.AreEqual(fieldCapabilityElement.Name, "objectColumnName");
            Assert.AreEqual(fieldCapabilityElement.Type, "object");
        }
Пример #4
0
        public void Create_WithInt64_ReturnsLong()
        {
            stubDataRecord.Setup(r => r[0]).Returns("longColumnName");
            stubDataRecord.Setup(r => r[1]).Returns("System.Int64");

            var fieldCapabilityElement = FieldCapabilityElementFactory.CreateFromDataRecord(stubDataRecord.Object);

            Assert.AreEqual(fieldCapabilityElement.Name, "longColumnName");
            Assert.AreEqual(fieldCapabilityElement.Type, "long");
        }
Пример #5
0
        public void Create_WithTimespan_ReturnsString()
        {
            stubDataRecord.Setup(r => r[0]).Returns("timespanColumnName");
            stubDataRecord.Setup(r => r[1]).Returns("System.TimeSpan");

            var fieldCapabilityElement = FieldCapabilityElementFactory.CreateFromDataRecord(stubDataRecord.Object);

            Assert.AreEqual(fieldCapabilityElement.Name, "timespanColumnName");
            Assert.AreEqual(fieldCapabilityElement.Type, "string");
        }
Пример #6
0
        public void Create_WithSqlDecimal_ReturnsDouble()
        {
            stubDataRecord.Setup(r => r[0]).Returns("doubleColumnName");
            stubDataRecord.Setup(r => r[1]).Returns("System.Data.SqlTypes.SqlDecimal");

            var fieldCapabilityElement = FieldCapabilityElementFactory.CreateFromDataRecord(stubDataRecord.Object);

            Assert.AreEqual(fieldCapabilityElement.Name, "doubleColumnName");
            Assert.AreEqual(fieldCapabilityElement.Type, "double");
        }
Пример #7
0
        public void Create_WithUnknownType_ThrowsArgumentException()
        {
            var dataType = "Unknown.Data.Type";

            stubDataRecord.Setup(r => r[0]).Returns("someColumnName");
            stubDataRecord.Setup(r => r[1]).Returns(dataType);

            Assert.Throws(
                Is.TypeOf <ArgumentException>()
                .And.Message.EqualTo($"Kusto Type {dataType} does not map to a known ElasticSearch type"),
                () => FieldCapabilityElementFactory.CreateFromDataRecord(stubDataRecord.Object));
        }
Пример #8
0
        private void MapFieldCaps(IDataReader kustoResults, FieldCapabilityResponse response)
        {
            while (kustoResults.Read())
            {
                var fieldCapabilityElement = FieldCapabilityElementFactory.CreateFromDataRecord(kustoResults);
                if (string.IsNullOrEmpty(fieldCapabilityElement.Type))
                {
                    Logger.LogWarning("Field: {@fieldCapabilityElement} doesn't have a type.", fieldCapabilityElement);
                }

                response.AddField(fieldCapabilityElement);

                Logger.LogDebug("Found field: {@fieldCapabilityElement}", fieldCapabilityElement);
            }
        }