correct the import impl of TestAPI
[releng.git] / utils / test / testapi / opnfv_testapi / resources / project_handlers.py
index 9cf6986..be29507 100644 (file)
@@ -6,23 +6,23 @@
 # which accompanies this distribution, and is available at
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
+
+from opnfv_testapi.resources import handlers
+from opnfv_testapi.resources import project_models
 from opnfv_testapi.tornado_swagger import swagger
-from handlers import GenericApiHandler
-from opnfv_testapi.common.constants import HTTP_FORBIDDEN
-from project_models import Project
 
 
-class GenericProjectHandler(GenericApiHandler):
+class GenericProjectHandler(handlers.GenericApiHandler):
     def __init__(self, application, request, **kwargs):
         super(GenericProjectHandler, self).__init__(application,
                                                     request,
                                                     **kwargs)
         self.table = 'projects'
-        self.table_cls = Project
+        self.table_cls = project_models.Project
 
 
 class ProjectCLHandler(GenericProjectHandler):
-    @swagger.operation(nickname="List all Projects")
+    @swagger.operation(nickname="listAllProjects")
     def get(self):
         """
             @description: list all projects
@@ -31,7 +31,7 @@ class ProjectCLHandler(GenericProjectHandler):
         """
         self._list()
 
-    @swagger.operation(nickname="Create a Project")
+    @swagger.operation(nickname="createProject")
     def post(self):
         """
             @description: create a project
@@ -43,20 +43,14 @@ class ProjectCLHandler(GenericProjectHandler):
             @raise 403: project already exists
             @raise 400:  body or name not provided
         """
-        def query(data):
-            return {'name': data.name}
-
-        def error(data):
-            message = '{} already exists as a project'.format(data.name)
-            return HTTP_FORBIDDEN, message
-
-        miss_checks = ['name']
-        db_checks = [(self.table, False, query, error)]
-        self._create(miss_checks, db_checks)
+        def query():
+            return {'name': self.json_args.get('name')}
+        miss_fields = ['name']
+        self._create(miss_fields=miss_fields, query=query)
 
 
 class ProjectGURHandler(GenericProjectHandler):
-    @swagger.operation(nickname='Get a Project by project_name')
+    @swagger.operation(nickname='getProjectByName')
     def get(self, project_name):
         """
             @description: get a single project by project_name
@@ -64,9 +58,9 @@ class ProjectGURHandler(GenericProjectHandler):
             @return 200: project exist
             @raise 404: project not exist
         """
-        self._get_one({'name': project_name})
+        self._get_one(query={'name': project_name})
 
-    @swagger.operation(nickname="Update a Project by project_name")
+    @swagger.operation(nickname="updateProjectByName")
     def put(self, project_name):
         """
             @description: update a single project by project_name
@@ -80,13 +74,13 @@ class ProjectGURHandler(GenericProjectHandler):
         """
         query = {'name': project_name}
         db_keys = ['name']
-        self._update(querydb_keys)
+        self._update(query=query, db_keys=db_keys)
 
-    @swagger.operation(nickname='Delete a Project by project_name')
+    @swagger.operation(nickname='deleteProjectByName')
     def delete(self, project_name):
         """
             @description: delete a project by project_name
             @return 200: delete success
             @raise 404: project not exist
         """
-        self._delete({'name': project_name})
+        self._delete(query={'name': project_name})