keep methods' name/docstring after decorator 89/31989/1
authorSerenaFeng <feng.xiaowei@zte.com.cn>
Tue, 28 Mar 2017 06:30:49 +0000 (14:30 +0800)
committerSerenaFeng <feng.xiaowei@zte.com.cn>
Tue, 28 Mar 2017 06:30:49 +0000 (14:30 +0800)
applying functools.wraps() to keep the name and docstring
of the original function which is decorated

Change-Id: Id612039921566dd48f8d8797abe30f23aaf99301
Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
utils/test/testapi/opnfv_testapi/resources/scenario_handlers.py
utils/test/testapi/opnfv_testapi/tests/unit/test_scenario.py

index 083bf59..4c31a6f 100644 (file)
@@ -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))]
index 7a6e94a..a5a4fb3 100644 (file)
@@ -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)