def init_on_load(self): """Loads all necessary fields upon Action being loaded from database""" if not self.errors: errors = [] try: self._run, self._arguments_api = get_app_action_api(self.app_name, self.action_name) get_app_action(self.app_name, self._run) except UnknownApp: errors.append('Unknown app {}'.format(self.app_name)) except UnknownAppAction: errors.append('Unknown app action {}'.format(self.action_name)) self.errors = errors self._last_status = None self._execution_id = 'default' self._resolved_device_id = -1
def init_on_load(self): """Loads all necessary fields upon Action being loaded from database""" if not self.errors: errors = [] try: self._run, self._arguments_api = get_app_action_api( self.app_name, self.action_name) get_app_action(self.app_name, self._run) except UnknownApp: errors.append('Unknown app {}'.format(self.app_name)) except UnknownAppAction: errors.append('Unknown app action {}'.format(self.action_name)) self.errors = errors self._last_status = None self._execution_id = 'default' self._resolved_device_id = -1
def validate(self): """Validates the object""" errors = [] try: self._run, self._arguments_api = get_app_action_api(self.app_name, self.action_name) self._action_executable = get_app_action(self.app_name, self._run) if is_app_action_bound(self.app_name, self._run) and not self.device_id: message = 'App action is bound but no device ID was provided.'.format(self.name) errors.append(message) validate_app_action_parameters(self._arguments_api, self.arguments, self.app_name, self.action_name) except UnknownApp: errors.append('Unknown app {}'.format(self.app_name)) except UnknownAppAction: errors.append('Unknown app action {}'.format(self.action_name)) except InvalidArgument as e: errors.extend(e.errors) self.errors = errors
def validate(self): """Validates the object""" errors = [] try: self._run, self._arguments_api = get_app_action_api(self.app_name, self.action_name) get_app_action(self.app_name, self._run) if is_app_action_bound(self.app_name, self._run) and not self.device_id: message = 'App action is bound but no device ID was provided.'.format(self.name) errors.append(message) validate_app_action_parameters(self._arguments_api, self.arguments, self.app_name, self.action_name) except UnknownApp: errors.append('Unknown app {}'.format(self.app_name)) except UnknownAppAction: errors.append('Unknown app action {}'.format(self.action_name)) except InvalidArgument as e: errors.extend(e.errors) self.errors = errors
def test_get_app_action_api_invalid_app(self): with self.assertRaises(UnknownApp): get_app_action_api('InvalidApp', 'pause')
def test_get_app_action_api_invalid_action(self): with self.assertRaises(UnknownAppAction): get_app_action_api('HelloWorld', 'invalid')
def test_get_app_action_api_invalid_app(self): with self.assertRaises(UnknownApp): get_app_action_api('InvalidApp', 'pause')
def test_get_app_action_api_invalid_action(self): with self.assertRaises(UnknownAppAction): get_app_action_api('HelloWorld', 'invalid')