From: SerenaFeng Date: Tue, 28 Mar 2017 06:30:49 +0000 (+0800) Subject: keep methods' name/docstring after decorator X-Git-Tag: danube.1.0~37^2~1 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?p=releng.git;a=commitdiff_plain;h=f36fc889cfc92f50a4f053661f9ea841e4a5b045 keep methods' name/docstring after decorator applying functools.wraps() to keep the name and docstring of the original function which is decorated Change-Id: Id612039921566dd48f8d8797abe30f23aaf99301 Signed-off-by: SerenaFeng --- diff --git a/utils/test/testapi/opnfv_testapi/resources/scenario_handlers.py b/utils/test/testapi/opnfv_testapi/resources/scenario_handlers.py index 083bf59fc..4c31a6f0f 100644 --- a/utils/test/testapi/opnfv_testapi/resources/scenario_handlers.py +++ b/utils/test/testapi/opnfv_testapi/resources/scenario_handlers.py @@ -1,3 +1,5 @@ +import functools + from opnfv_testapi.common import constants from opnfv_testapi.resources import handlers import opnfv_testapi.resources.scenario_models as models @@ -158,18 +160,21 @@ class ScenarioGURHandler(GenericScenarioHandler): return data.format() def _iter_installers(xstep): + @functools.wraps(xstep) def magic(self, data): [xstep(self, installer) for installer in self._filter_installers(data.installers)] return magic def _iter_versions(xstep): + @functools.wraps(xstep) def magic(self, installer): [xstep(self, version) for version in (self._filter_versions(installer.versions))] return magic def _iter_projects(xstep): + @functools.wraps(xstep) def magic(self, version): [xstep(self, project) for project in (self._filter_projects(version.projects))] diff --git a/utils/test/testapi/opnfv_testapi/tests/unit/test_scenario.py b/utils/test/testapi/opnfv_testapi/tests/unit/test_scenario.py index 7a6e94a93..a5a4fb30f 100644 --- a/utils/test/testapi/opnfv_testapi/tests/unit/test_scenario.py +++ b/utils/test/testapi/opnfv_testapi/tests/unit/test_scenario.py @@ -1,5 +1,6 @@ from copy import deepcopy from datetime import datetime +import functools import json import os @@ -140,6 +141,7 @@ class TestScenarioUpdate(TestScenarioBase): self.scenario = self.create_return_name(self.req_d) def _execute(set_update): + @functools.wraps(set_update) def magic(self): update, scenario = set_update(self, deepcopy(self.req_d)) self._update_and_assert(update, scenario)