Ejemplo n.º 1
0
        public void Battery_sensor_config_is_generated()
        {
            // Arrange
            var transformer = new MqttSensorConfigTransformer(new DummyConfiguration(), new DeviceTranslator());
            var definition  = new DeviceDefinition
            {
                DeviceId = "Test multisensor",
                Platform = "hubitat",
                Name     = "Test device",
                Sensors  = new[] { new SensorDefinition {
                                       Type = "battery"
                                   } },
            };
            var expectedConfig = @"
# Test multisensor battery, from hubitat via MQTT
- platform: mqtt
  name: Test multisensor battery
  device_class: battery
  state_topic: hubitat/Test multisensor/battery
  value_template: >
    {{ value | int }}
  unit_of_measurement: '%'
".Trim();

            // Action
            var result = transformer.TransformConfig(definition);

            // Assert
            Assert.AreEqual(1, result.Keys.Count, "One entity type returned");
            Assert.AreEqual("sensor", result.Keys.First(), "The type of the entity returned is correct");
            Assert.AreEqual(1, result["sensor"].Count, "Only one entity returned");

            var config = result["sensor"].First();

            Assert.AreEqual(expectedConfig, config.Entity, "Config declared as expected");
            Assert.IsEmpty(config.Customization, "Customization declared as expected");
        }
Ejemplo n.º 2
0
        public void Motion_sensor_config_is_generated()
        {
            // Arrange
            var transformer = new MqttSensorConfigTransformer(new DummyConfiguration(), new DeviceTranslator());
            var definition  = new DeviceDefinition
            {
                DeviceId = "Test multisensor",
                Platform = "hubitat",
                Name     = "Test device",
                Sensors  = new[] { new SensorDefinition {
                                       Type = "motion"
                                   } },
            };
            var expectedConfig = @"
# Test device motion, from hubitat via MQTT
- platform: mqtt
  name: Test device motion
  device_class: motion
  state_topic: hubitat/Test multisensor/motion
  payload_on: active
  payload_off: inactive
".Trim();

            // Action
            var result = transformer.TransformConfig(definition);

            // Assert
            Assert.AreEqual(1, result.Keys.Count, "One entity type returned");
            Assert.AreEqual("binary_sensor", result.Keys.First(), "The type of the entity returned is correct");
            Assert.AreEqual(1, result["binary_sensor"].Count, "Only one entity returned");

            var config = result["binary_sensor"].First();

            Assert.AreEqual(expectedConfig, config.Entity, "Config declared as expected");
            Assert.IsEmpty(config.Customization, "Customization declared as expected");
        }