def test_template_service_call(self): """Test service call with tempating.""" config = { 'service_template': '{{ \'test_domain.test_service\' }}', 'entity_id': 'hello.world', 'data_template': { 'hello': '{{ \'goodbye\' }}', 'data': { 'value': '{{ \'complex\' }}', 'simple': 'simple' }, 'list': ['{{ \'list\' }}', '2'], }, } runs = [] decor = service.service('test_domain', 'test_service') decor(lambda x, y: runs.append(y)) service.call_from_config(self.hass, config) self.hass.pool.block_till_done() self.assertEqual('goodbye', runs[0].data['hello']) self.assertEqual('complex', runs[0].data['data']['value']) self.assertEqual('simple', runs[0].data['data']['simple']) self.assertEqual('list', runs[0].data['list'][0])
def test_template_service_call(self): """Test service call with tempating.""" config = { 'service_template': '{{ \'test_domain.test_service\' }}', 'entity_id': 'hello.world', 'data_template': { 'hello': '{{ \'goodbye\' }}', 'data': { 'value': '{{ \'complex\' }}', 'simple': 'simple' }, 'list': ['{{ \'list\' }}', '2'], }, } runs = [] decor = service.service('test_domain', 'test_service') decor(lambda x, y: runs.append(y)) service.call_from_config(self.hass, config) self.hass.block_till_done() self.assertEqual('goodbye', runs[0].data['hello']) self.assertEqual('complex', runs[0].data['data']['value']) self.assertEqual('simple', runs[0].data['data']['simple']) self.assertEqual('list', runs[0].data['list'][0])
def test_service(self): """Test service registration decorator.""" runs = [] decor = service.service('test', 'test') decor(lambda x, y: runs.append(1)) self.hass.services.call('test', 'test') self.hass.pool.block_till_done() self.assertEqual(1, len(runs))
def test_template_service_call(self): """Test service call with tempating.""" config = { 'service_template': '{{ \'test_domain.test_service\' }}', 'entity_id': 'hello.world', 'data_template': { 'hello': '{{ \'goodbye\' }}', }, } runs = [] decor = service.service('test_domain', 'test_service') decor(lambda x, y: runs.append(y)) service.call_from_config(self.hass, config) self.hass.pool.block_till_done() self.assertEqual('goodbye', runs[0].data['hello'])
def test_passing_variables_to_templates(self): """Test passing variables to templates.""" config = { 'service_template': '{{ var_service }}', 'entity_id': 'hello.world', 'data_template': { 'hello': '{{ var_data }}', }, } runs = [] decor = service.service('test_domain', 'test_service') decor(lambda x, y: runs.append(y)) service.call_from_config(self.hass, config, variables={ 'var_service': 'test_domain.test_service', 'var_data': 'goodbye', }) self.hass.pool.block_till_done() self.assertEqual('goodbye', runs[0].data['hello'])