def test_setup_us(self, mock_ht, mock_sc): """Test for the US setup.""" config = { CONF_USERNAME: '******', CONF_PASSWORD: '******', honeywell.CONF_REGION: 'us', } bad_pass_config = { CONF_USERNAME: '******', honeywell.CONF_REGION: 'us', } bad_region_config = { CONF_USERNAME: '******', CONF_PASSWORD: '******', honeywell.CONF_REGION: 'un', } with self.assertRaises(vol.Invalid): honeywell.PLATFORM_SCHEMA(None) with self.assertRaises(vol.Invalid): honeywell.PLATFORM_SCHEMA({}) with self.assertRaises(vol.Invalid): honeywell.PLATFORM_SCHEMA(bad_pass_config) with self.assertRaises(vol.Invalid): honeywell.PLATFORM_SCHEMA(bad_region_config) hass = mock.MagicMock() add_devices = mock.MagicMock() locations = [ mock.MagicMock(), mock.MagicMock(), ] devices_1 = [mock.MagicMock()] devices_2 = [mock.MagicMock(), mock.MagicMock] mock_sc.return_value.locations_by_id.values.return_value = \ locations locations[0].devices_by_id.values.return_value = devices_1 locations[1].devices_by_id.values.return_value = devices_2 result = honeywell.setup_platform(hass, config, add_devices) self.assertTrue(result) self.assertEqual(mock_sc.call_count, 1) self.assertEqual(mock_sc.call_args, mock.call('user', 'pass')) mock_ht.assert_has_calls([ mock.call(mock_sc.return_value, devices_1[0]), mock.call(mock_sc.return_value, devices_2[0]), mock.call(mock_sc.return_value, devices_2[1]), ])
def test_eu_setup_bad_temp(self, mock_round, mock_evo): """Test the EU setup with invalid temperature.""" config = { CONF_USERNAME: '******', CONF_PASSWORD: '******', honeywell.CONF_AWAY_TEMPERATURE: 'ponies', honeywell.CONF_REGION: 'eu', } with self.assertRaises(vol.Invalid): honeywell.PLATFORM_SCHEMA(config)
def test_setup_us(self, mock_ht, mock_sc): """Test for the US setup.""" config = { CONF_USERNAME: '******', CONF_PASSWORD: '******', honeywell.CONF_COOL_AWAY_TEMPERATURE: 18, honeywell.CONF_HEAT_AWAY_TEMPERATURE: 28, honeywell.CONF_REGION: 'us', } bad_pass_config = { CONF_USERNAME: '******', honeywell.CONF_COOL_AWAY_TEMPERATURE: 18, honeywell.CONF_HEAT_AWAY_TEMPERATURE: 28, honeywell.CONF_REGION: 'us', } bad_region_config = { CONF_USERNAME: '******', CONF_PASSWORD: '******', honeywell.CONF_COOL_AWAY_TEMPERATURE: 18, honeywell.CONF_HEAT_AWAY_TEMPERATURE: 28, honeywell.CONF_REGION: 'un', } with pytest.raises(vol.Invalid): honeywell.PLATFORM_SCHEMA(None) with pytest.raises(vol.Invalid): honeywell.PLATFORM_SCHEMA({}) with pytest.raises(vol.Invalid): honeywell.PLATFORM_SCHEMA(bad_pass_config) with pytest.raises(vol.Invalid): honeywell.PLATFORM_SCHEMA(bad_region_config) hass = mock.MagicMock() add_entities = mock.MagicMock() locations = [ mock.MagicMock(), mock.MagicMock(), ] devices_1 = [mock.MagicMock()] devices_2 = [mock.MagicMock(), mock.MagicMock] mock_sc.return_value.locations_by_id.values.return_value = \ locations locations[0].devices_by_id.values.return_value = devices_1 locations[1].devices_by_id.values.return_value = devices_2 result = honeywell.setup_platform(hass, config, add_entities) assert result assert mock_sc.call_count == 1 assert mock_sc.call_args == mock.call('user', 'pass') mock_ht.assert_has_calls([ mock.call(mock_sc.return_value, devices_1[0], 18, 28, 'user', 'pass'), mock.call(mock_sc.return_value, devices_2[0], 18, 28, 'user', 'pass'), mock.call(mock_sc.return_value, devices_2[1], 18, 28, 'user', 'pass'), ])