Merge "keep methods' name/docstring after decorator"
authorSerena Feng <feng.xiaowei@zte.com.cn>
Wed, 29 Mar 2017 09:08:50 +0000 (09:08 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Wed, 29 Mar 2017 09:08:50 +0000 (09:08 +0000)
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)