def METHOD_NAME(self, api_mod):
    with schema_not_found():
        schema = vdsmapi.Schema.vdsm_api(strict_mode=True,
                                         with_gluster=True)
        for class_name, class_obj in self._get_api_classes(api_mod):
            apiObj = getattr(api_mod, class_name)
            ctorArgs = apiObj.ctorArgs
            ctor_defaults = []
            spec_class = class_name
            if spec_class == 'Global':
                spec_class = 'Host'
            for method_name, method_obj in inspect.getmembers(
                    class_obj, inspect.ismethod):
                cmd = '%s_%s' % (spec_class, method_name)
                if cmd in self.IGNORED_CMDS:
                    continue
                # gather default args from ctor
                if method_name == '__init__':
                    ctor_defaults = self._get_default_args(method_obj)
                    continue
                # ignore private methods
                if method_name.startswith('_'):
                    continue
                rep = vdsmapi.MethodRep(spec_class, method_name)
                try:
                    # get args from schema
                    method_args = schema.get_args(rep)
                except KeyError:
                    raise AssertionError('Missing method %s' % rep)
                # inspect apiobj and gather args and default args
                args = ctorArgs + self._get_args(method_obj)
                default_args = ctor_defaults + self._get_default_args(
                    method_obj)
                # check len equality
                if len(args) != len(method_args):
                    raise AssertionError(self._prep_msg(rep, method_args,
                                                        args))
                for marg in method_args:
                    # verify optional arg
                    if 'defaultvalue' in marg:
                        if not marg.get('name') in default_args:
                            raise AssertionError(
                                self._prep_msg(rep, method_args, args))
                        continue
                    # verify args from schema in apiobj args
                    if not marg.get('name') in args:
                        raise AssertionError(
                            self._prep_msg(rep, method_args, args))
                try:
                    # verify ret value with entry in command_info
                    ret = schema.get_ret_param(rep)
                    ret_info = Bridge.command_info.get(cmd, {}).get('ret')
                    if not ret_info and not ret:
                        continue
                    if ret_info == 'status':
                        continue
                    if not ret_info or not ret:
                        raise AssertionError('wrong return type: ' + cmd)
                except KeyError:
                    raise AssertionError('Missing ret %s' % rep.id)