Add snapshot platform tests to rainmachine (#117978)

* Add snapshot tests to rainmachine

* Add sensor and switch tests
This commit is contained in:
epenet 2024-05-23 16:29:39 +02:00 committed by GitHub
parent 0c243d699c
commit 162f5ccbde
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 2875 additions and 0 deletions

View file

@ -0,0 +1,277 @@
# serializer version: 1
# name: test_binary_sensors[binary_sensor.12345_freeze_restrictions-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'binary_sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'binary_sensor.12345_freeze_restrictions',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Freeze restrictions',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'freeze',
'unique_id': 'aa:bb:cc:dd:ee:ff_freeze',
'unit_of_measurement': None,
})
# ---
# name: test_binary_sensors[binary_sensor.12345_freeze_restrictions-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': '12345 Freeze restrictions',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.12345_freeze_restrictions',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_binary_sensors[binary_sensor.12345_hourly_restrictions-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'binary_sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'binary_sensor.12345_hourly_restrictions',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Hourly restrictions',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'hourly',
'unique_id': 'aa:bb:cc:dd:ee:ff_hourly',
'unit_of_measurement': None,
})
# ---
# name: test_binary_sensors[binary_sensor.12345_hourly_restrictions-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': '12345 Hourly restrictions',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.12345_hourly_restrictions',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_binary_sensors[binary_sensor.12345_month_restrictions-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'binary_sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'binary_sensor.12345_month_restrictions',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Month restrictions',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'month',
'unique_id': 'aa:bb:cc:dd:ee:ff_month',
'unit_of_measurement': None,
})
# ---
# name: test_binary_sensors[binary_sensor.12345_month_restrictions-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': '12345 Month restrictions',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.12345_month_restrictions',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_binary_sensors[binary_sensor.12345_rain_delay_restrictions-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'binary_sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'binary_sensor.12345_rain_delay_restrictions',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Rain delay restrictions',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'raindelay',
'unique_id': 'aa:bb:cc:dd:ee:ff_raindelay',
'unit_of_measurement': None,
})
# ---
# name: test_binary_sensors[binary_sensor.12345_rain_delay_restrictions-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': '12345 Rain delay restrictions',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.12345_rain_delay_restrictions',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_binary_sensors[binary_sensor.12345_rain_sensor_restrictions-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'binary_sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'binary_sensor.12345_rain_sensor_restrictions',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Rain sensor restrictions',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'rainsensor',
'unique_id': 'aa:bb:cc:dd:ee:ff_rainsensor',
'unit_of_measurement': None,
})
# ---
# name: test_binary_sensors[binary_sensor.12345_rain_sensor_restrictions-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': '12345 Rain sensor restrictions',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.12345_rain_sensor_restrictions',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_binary_sensors[binary_sensor.12345_weekday_restrictions-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'binary_sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'binary_sensor.12345_weekday_restrictions',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Weekday restrictions',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'weekday',
'unique_id': 'aa:bb:cc:dd:ee:ff_weekday',
'unit_of_measurement': None,
})
# ---
# name: test_binary_sensors[binary_sensor.12345_weekday_restrictions-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': '12345 Weekday restrictions',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.12345_weekday_restrictions',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---

View file

@ -0,0 +1,48 @@
# serializer version: 1
# name: test_buttons[button.12345_restart-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'button',
'entity_category': <EntityCategory.CONFIG: 'config'>,
'entity_id': 'button.12345_restart',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <ButtonDeviceClass.RESTART: 'restart'>,
'original_icon': None,
'original_name': 'Restart',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'aa:bb:cc:dd:ee:ff_reboot',
'unit_of_measurement': None,
})
# ---
# name: test_buttons[button.12345_restart-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'restart',
'friendly_name': '12345 Restart',
}),
'context': <ANY>,
'entity_id': 'button.12345_restart',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---

View file

@ -0,0 +1,60 @@
# serializer version: 1
# name: test_select_entities[select.12345_freeze_protection_temperature-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'options': list([
'0°C',
'2°C',
'5°C',
'10°C',
]),
}),
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'select',
'entity_category': <EntityCategory.CONFIG: 'config'>,
'entity_id': 'select.12345_freeze_protection_temperature',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Freeze protection temperature',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'freeze_protection_temperature',
'unique_id': 'aa:bb:cc:dd:ee:ff_freeze_protection_temperature',
'unit_of_measurement': None,
})
# ---
# name: test_select_entities[select.12345_freeze_protection_temperature-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': '12345 Freeze protection temperature',
'options': list([
'0°C',
'2°C',
'5°C',
'10°C',
]),
}),
'context': <ANY>,
'entity_id': 'select.12345_freeze_protection_temperature',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '2°C',
})
# ---

View file

@ -0,0 +1,707 @@
# serializer version: 1
# name: test_sensors[sensor.12345_evening_run_completion_time-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.12345_evening_run_completion_time',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
'original_icon': None,
'original_name': 'Evening Run Completion Time',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'aa:bb:cc:dd:ee:ff_program_run_completion_time_2',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[sensor.12345_evening_run_completion_time-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'timestamp',
'friendly_name': '12345 Evening Run Completion Time',
}),
'context': <ANY>,
'entity_id': 'sensor.12345_evening_run_completion_time',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.12345_flower_box_run_completion_time-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.12345_flower_box_run_completion_time',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
'original_icon': None,
'original_name': 'Flower Box Run Completion Time',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'aa:bb:cc:dd:ee:ff_zone_run_completion_time_2',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[sensor.12345_flower_box_run_completion_time-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'timestamp',
'friendly_name': '12345 Flower Box Run Completion Time',
}),
'context': <ANY>,
'entity_id': 'sensor.12345_flower_box_run_completion_time',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.12345_landscaping_run_completion_time-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.12345_landscaping_run_completion_time',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
'original_icon': None,
'original_name': 'Landscaping Run Completion Time',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'aa:bb:cc:dd:ee:ff_zone_run_completion_time_1',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[sensor.12345_landscaping_run_completion_time-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'timestamp',
'friendly_name': '12345 Landscaping Run Completion Time',
}),
'context': <ANY>,
'entity_id': 'sensor.12345_landscaping_run_completion_time',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.12345_morning_run_completion_time-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.12345_morning_run_completion_time',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
'original_icon': None,
'original_name': 'Morning Run Completion Time',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'aa:bb:cc:dd:ee:ff_program_run_completion_time_1',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[sensor.12345_morning_run_completion_time-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'timestamp',
'friendly_name': '12345 Morning Run Completion Time',
}),
'context': <ANY>,
'entity_id': 'sensor.12345_morning_run_completion_time',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.12345_rain_sensor_rain_start-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.12345_rain_sensor_rain_start',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
'original_icon': 'mdi:weather-pouring',
'original_name': 'Rain sensor rain start',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'rain_sensor_rain_start',
'unique_id': 'aa:bb:cc:dd:ee:ff_rain_sensor_rain_start',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[sensor.12345_rain_sensor_rain_start-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'timestamp',
'friendly_name': '12345 Rain sensor rain start',
'icon': 'mdi:weather-pouring',
}),
'context': <ANY>,
'entity_id': 'sensor.12345_rain_sensor_rain_start',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.12345_test_run_completion_time-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.12345_test_run_completion_time',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
'original_icon': None,
'original_name': 'TEST Run Completion Time',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'aa:bb:cc:dd:ee:ff_zone_run_completion_time_3',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[sensor.12345_test_run_completion_time-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'timestamp',
'friendly_name': '12345 TEST Run Completion Time',
}),
'context': <ANY>,
'entity_id': 'sensor.12345_test_run_completion_time',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.12345_zone_10_run_completion_time-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.12345_zone_10_run_completion_time',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
'original_icon': None,
'original_name': 'Zone 10 Run Completion Time',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'aa:bb:cc:dd:ee:ff_zone_run_completion_time_10',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[sensor.12345_zone_10_run_completion_time-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'timestamp',
'friendly_name': '12345 Zone 10 Run Completion Time',
}),
'context': <ANY>,
'entity_id': 'sensor.12345_zone_10_run_completion_time',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.12345_zone_11_run_completion_time-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.12345_zone_11_run_completion_time',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
'original_icon': None,
'original_name': 'Zone 11 Run Completion Time',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'aa:bb:cc:dd:ee:ff_zone_run_completion_time_11',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[sensor.12345_zone_11_run_completion_time-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'timestamp',
'friendly_name': '12345 Zone 11 Run Completion Time',
}),
'context': <ANY>,
'entity_id': 'sensor.12345_zone_11_run_completion_time',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.12345_zone_12_run_completion_time-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.12345_zone_12_run_completion_time',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
'original_icon': None,
'original_name': 'Zone 12 Run Completion Time',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'aa:bb:cc:dd:ee:ff_zone_run_completion_time_12',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[sensor.12345_zone_12_run_completion_time-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'timestamp',
'friendly_name': '12345 Zone 12 Run Completion Time',
}),
'context': <ANY>,
'entity_id': 'sensor.12345_zone_12_run_completion_time',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.12345_zone_4_run_completion_time-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.12345_zone_4_run_completion_time',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
'original_icon': None,
'original_name': 'Zone 4 Run Completion Time',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'aa:bb:cc:dd:ee:ff_zone_run_completion_time_4',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[sensor.12345_zone_4_run_completion_time-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'timestamp',
'friendly_name': '12345 Zone 4 Run Completion Time',
}),
'context': <ANY>,
'entity_id': 'sensor.12345_zone_4_run_completion_time',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.12345_zone_5_run_completion_time-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.12345_zone_5_run_completion_time',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
'original_icon': None,
'original_name': 'Zone 5 Run Completion Time',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'aa:bb:cc:dd:ee:ff_zone_run_completion_time_5',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[sensor.12345_zone_5_run_completion_time-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'timestamp',
'friendly_name': '12345 Zone 5 Run Completion Time',
}),
'context': <ANY>,
'entity_id': 'sensor.12345_zone_5_run_completion_time',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.12345_zone_6_run_completion_time-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.12345_zone_6_run_completion_time',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
'original_icon': None,
'original_name': 'Zone 6 Run Completion Time',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'aa:bb:cc:dd:ee:ff_zone_run_completion_time_6',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[sensor.12345_zone_6_run_completion_time-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'timestamp',
'friendly_name': '12345 Zone 6 Run Completion Time',
}),
'context': <ANY>,
'entity_id': 'sensor.12345_zone_6_run_completion_time',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.12345_zone_7_run_completion_time-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.12345_zone_7_run_completion_time',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
'original_icon': None,
'original_name': 'Zone 7 Run Completion Time',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'aa:bb:cc:dd:ee:ff_zone_run_completion_time_7',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[sensor.12345_zone_7_run_completion_time-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'timestamp',
'friendly_name': '12345 Zone 7 Run Completion Time',
}),
'context': <ANY>,
'entity_id': 'sensor.12345_zone_7_run_completion_time',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.12345_zone_8_run_completion_time-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.12345_zone_8_run_completion_time',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
'original_icon': None,
'original_name': 'Zone 8 Run Completion Time',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'aa:bb:cc:dd:ee:ff_zone_run_completion_time_8',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[sensor.12345_zone_8_run_completion_time-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'timestamp',
'friendly_name': '12345 Zone 8 Run Completion Time',
}),
'context': <ANY>,
'entity_id': 'sensor.12345_zone_8_run_completion_time',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[sensor.12345_zone_9_run_completion_time-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.12345_zone_9_run_completion_time',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
'original_icon': None,
'original_name': 'Zone 9 Run Completion Time',
'platform': 'rainmachine',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'aa:bb:cc:dd:ee:ff_zone_run_completion_time_9',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[sensor.12345_zone_9_run_completion_time-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'timestamp',
'friendly_name': '12345 Zone 9 Run Completion Time',
}),
'context': <ANY>,
'entity_id': 'sensor.12345_zone_9_run_completion_time',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,36 @@
"""Test RainMachine binary sensors."""
from typing import Any
from unittest.mock import AsyncMock, patch
import pytest
from syrupy import SnapshotAssertion
from homeassistant.components.rainmachine import DOMAIN
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er
from homeassistant.setup import async_setup_component
from tests.common import MockConfigEntry, snapshot_platform
@pytest.mark.usefixtures("entity_registry_enabled_by_default")
async def test_binary_sensors(
hass: HomeAssistant,
entity_registry: er.EntityRegistry,
snapshot: SnapshotAssertion,
config: dict[str, Any],
config_entry: MockConfigEntry,
client: AsyncMock,
) -> None:
"""Test binary sensors."""
with (
patch("homeassistant.components.rainmachine.Client", return_value=client),
patch(
"homeassistant.components.rainmachine.PLATFORMS", [Platform.BINARY_SENSOR]
),
):
assert await async_setup_component(hass, DOMAIN, config)
await hass.async_block_till_done()
await snapshot_platform(hass, entity_registry, snapshot, config_entry.entry_id)

View file

@ -0,0 +1,32 @@
"""Test RainMachine buttons."""
from typing import Any
from unittest.mock import AsyncMock, patch
from syrupy import SnapshotAssertion
from homeassistant.components.rainmachine import DOMAIN
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er
from homeassistant.setup import async_setup_component
from tests.common import MockConfigEntry, snapshot_platform
async def test_buttons(
hass: HomeAssistant,
entity_registry: er.EntityRegistry,
snapshot: SnapshotAssertion,
config: dict[str, Any],
config_entry: MockConfigEntry,
client: AsyncMock,
) -> None:
"""Test buttons."""
with (
patch("homeassistant.components.rainmachine.Client", return_value=client),
patch("homeassistant.components.rainmachine.PLATFORMS", [Platform.BUTTON]),
):
assert await async_setup_component(hass, DOMAIN, config)
await hass.async_block_till_done()
await snapshot_platform(hass, entity_registry, snapshot, config_entry.entry_id)

View file

@ -0,0 +1,32 @@
"""Test RainMachine select entities."""
from typing import Any
from unittest.mock import AsyncMock, patch
from syrupy import SnapshotAssertion
from homeassistant.components.rainmachine import DOMAIN
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er
from homeassistant.setup import async_setup_component
from tests.common import MockConfigEntry, snapshot_platform
async def test_select_entities(
hass: HomeAssistant,
entity_registry: er.EntityRegistry,
snapshot: SnapshotAssertion,
config: dict[str, Any],
config_entry: MockConfigEntry,
client: AsyncMock,
) -> None:
"""Test select entities."""
with (
patch("homeassistant.components.rainmachine.Client", return_value=client),
patch("homeassistant.components.rainmachine.PLATFORMS", [Platform.SELECT]),
):
assert await async_setup_component(hass, DOMAIN, config)
await hass.async_block_till_done()
await snapshot_platform(hass, entity_registry, snapshot, config_entry.entry_id)

View file

@ -0,0 +1,34 @@
"""Test RainMachine sensors."""
from typing import Any
from unittest.mock import AsyncMock, patch
import pytest
from syrupy import SnapshotAssertion
from homeassistant.components.rainmachine import DOMAIN
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er
from homeassistant.setup import async_setup_component
from tests.common import MockConfigEntry, snapshot_platform
@pytest.mark.usefixtures("entity_registry_enabled_by_default")
async def test_sensors(
hass: HomeAssistant,
entity_registry: er.EntityRegistry,
snapshot: SnapshotAssertion,
config: dict[str, Any],
config_entry: MockConfigEntry,
client: AsyncMock,
) -> None:
"""Test sensors."""
with (
patch("homeassistant.components.rainmachine.Client", return_value=client),
patch("homeassistant.components.rainmachine.PLATFORMS", [Platform.SENSOR]),
):
assert await async_setup_component(hass, DOMAIN, config)
await hass.async_block_till_done()
await snapshot_platform(hass, entity_registry, snapshot, config_entry.entry_id)

View file

@ -0,0 +1,34 @@
"""Test RainMachine switches."""
from typing import Any
from unittest.mock import AsyncMock, patch
import pytest
from syrupy import SnapshotAssertion
from homeassistant.components.rainmachine import DOMAIN
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er
from homeassistant.setup import async_setup_component
from tests.common import MockConfigEntry, snapshot_platform
@pytest.mark.usefixtures("entity_registry_enabled_by_default")
async def test_switches(
hass: HomeAssistant,
entity_registry: er.EntityRegistry,
snapshot: SnapshotAssertion,
config: dict[str, Any],
config_entry: MockConfigEntry,
client: AsyncMock,
) -> None:
"""Test switches."""
with (
patch("homeassistant.components.rainmachine.Client", return_value=client),
patch("homeassistant.components.rainmachine.PLATFORMS", [Platform.SWITCH]),
):
assert await async_setup_component(hass, DOMAIN, config)
await hass.async_block_till_done()
await snapshot_platform(hass, entity_registry, snapshot, config_entry.entry_id)