def loadTestsFromFile(self, filename): with open(filename) as stream: manifest = yaml.load(stream) pkg_directory = os.path.dirname(filename) base_cloader = simple_cloader.SimpleClassLoader(self._metadata_dir) cloader = ManifestClassLoader(base_cloader, pkg_directory) system_objects.register(cloader, pkg_directory) cloader.import_class(BaseTestCase) package_classes = manifest.get("Classes", {}) for class_name, class_file in package_classes.iteritems(): class_file = os.path.join(pkg_directory, class_file) with open(class_file) as stream: class_definition = yaml.load(stream) if not self._is_test_suite(class_definition): yield None test_object = self._get_test_object(class_name, class_file) test_cases = class_definition.get("Workflow", {}) for case_name, _ in test_cases.iteritems(): yield MUnitTestCase(cloader, test_object, case_name) yield None
def loadTestsFromFile(self, filename): with open(filename) as stream: manifest = yaml.load(stream) pkg_directory = os.path.dirname(filename) base_cloader = simple_cloader.SimpleClassLoader(self._metadata_dir) cloader = ManifestClassLoader(base_cloader, pkg_directory) system_objects.register(cloader, pkg_directory) cloader.import_class(BaseTestCase) package_classes = manifest.get('Classes', {}) for class_name, class_file in package_classes.iteritems(): class_file = os.path.join(pkg_directory, class_file) with open(class_file) as stream: class_definition = yaml.load(stream) if not self._is_test_suite(class_definition): yield None test_object = self._get_test_object(class_name, class_file) test_cases = class_definition.get('Workflow', {}) for case_name, _ in test_cases.iteritems(): yield MUnitTestCase(cloader, test_object, case_name) yield None
def handle_task(context, task): s_task = token_sanitizer.TokenSanitizer().sanitize(task) LOG.info(_('Starting processing task: {task_desc}').format( task_desc=anyjson.dumps(s_task))) env = environment.Environment() env.token = task['token'] env.tenant_id = task['tenant_id'] LOG.debug('Processing new task: {0}'.format(task)) try: with package_loader.ApiPackageLoader(env.token, env.tenant_id) as \ pkg_loader: class_loader = package_class_loader.PackageClassLoader( pkg_loader) system_objects.register(class_loader, pkg_loader) exc = executor.MuranoDslExecutor(class_loader, env) obj = exc.load(task['model']) try: if obj is not None: obj.type.invoke('deploy', exc, obj, {}) except Exception as e: reporter = status_reporter.StatusReporter() reporter.initialize(obj) reporter.report_error(obj, '{0}'.format(e)) finally: s_res = results_serializer.serialize(obj, exc) rpc.api().process_result(s_res) except Exception as e: # TODO(gokrokve) report error here # TODO(slagun) code below needs complete rewrite and redesign msg_env = Environment(task['model']['Objects']['?']['id']) reporter = status_reporter.StatusReporter() reporter.initialize(msg_env) reporter.report_error(msg_env, '{0}'.format(e)) rpc.api().process_result(task['model'])