From 265e10a036b545d9d4e15bebef17e38e4b013af3 Mon Sep 17 00:00:00 2001 From: thuva4 Date: Tue, 14 Nov 2017 15:38:56 +0530 Subject: Create functionality and e2e tests for project Implemented the create function for the projects. Wrote the e2e tests for the create function. Change-Id: Iceac650573ca31b6246350c4d60033b42e0ffb0f Signed-off-by: thuva4 --- .../opnfv_testapi/tests/unit/handlers/test_base.py | 8 ++++++ .../tests/unit/handlers/test_project.py | 30 +++++++++++++++++++--- .../tests/unit/handlers/test_result.py | 6 +---- .../tests/unit/handlers/test_testcase.py | 11 +++----- 4 files changed, 38 insertions(+), 17 deletions(-) (limited to 'testapi/opnfv_testapi/tests/unit') diff --git a/testapi/opnfv_testapi/tests/unit/handlers/test_base.py b/testapi/opnfv_testapi/tests/unit/handlers/test_base.py index b7fabb9..eb147cc 100644 --- a/testapi/opnfv_testapi/tests/unit/handlers/test_base.py +++ b/testapi/opnfv_testapi/tests/unit/handlers/test_base.py @@ -16,6 +16,7 @@ from tornado import testing from opnfv_testapi.models import base_models from opnfv_testapi.models import pod_models +from opnfv_testapi.models import project_models from opnfv_testapi.tests.unit import fake_pymongo @@ -43,6 +44,12 @@ class TestBase(testing.AsyncHTTPTestCase): _id=str(ObjectId()), owner='ValidUser', create_date=str(datetime.now())) + self.project_e = project_models.Project( + name='functest', + description='functest test', + _id=str(ObjectId()), + create_date=str(datetime.now())) + self.req_d = None self.req_e = None self.addCleanup(self._clear) @@ -53,6 +60,7 @@ class TestBase(testing.AsyncHTTPTestCase): 'groups': [ 'opnfv-testapi-users', 'opnfv-gerrit-functest-submitters', + 'opnfv-gerrit-qtip-submitters', 'opnfv-gerrit-qtip-contributors'] }) diff --git a/testapi/opnfv_testapi/tests/unit/handlers/test_project.py b/testapi/opnfv_testapi/tests/unit/handlers/test_project.py index 939cc0d..2873ab0 100644 --- a/testapi/opnfv_testapi/tests/unit/handlers/test_project.py +++ b/testapi/opnfv_testapi/tests/unit/handlers/test_project.py @@ -1,3 +1,11 @@ +############################################################################## +# Copyright (c) 2016 ZTE Corporation +# feng.xiaowei@zte.com.cn +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## import httplib import unittest @@ -10,10 +18,10 @@ from opnfv_testapi.tests.unit.handlers import test_base as base class TestProjectBase(base.TestBase): def setUp(self): super(TestProjectBase, self).setUp() - self.req_d = project_models.ProjectCreateRequest('vping', - 'vping-ssh test') - self.req_e = project_models.ProjectCreateRequest('doctor', - 'doctor test') + self.req_d = project_models.ProjectCreateRequest('qtip', + 'qtip-ssh test') + self.req_e = project_models.ProjectCreateRequest('functest', + 'functest test') self.get_res = project_models.Project self.list_res = project_models.Projects self.update_res = project_models.Project @@ -29,22 +37,32 @@ class TestProjectBase(base.TestBase): class TestProjectCreate(TestProjectBase): + + @executor.create(httplib.BAD_REQUEST, message.not_login()) + def test_notlogin(self): + return self.req_d + + @executor.mock_valid_lfid() @executor.create(httplib.BAD_REQUEST, message.no_body()) def test_withoutBody(self): return None + @executor.mock_valid_lfid() @executor.create(httplib.BAD_REQUEST, message.missing('name')) def test_emptyName(self): return project_models.ProjectCreateRequest('') + @executor.mock_valid_lfid() @executor.create(httplib.BAD_REQUEST, message.missing('name')) def test_noneName(self): return project_models.ProjectCreateRequest(None) + @executor.mock_valid_lfid() @executor.create(httplib.OK, 'assert_create_body') def test_success(self): return self.req_d + @executor.mock_valid_lfid() @executor.create(httplib.FORBIDDEN, message.exist_base) def test_alreadyExist(self): self.create_d() @@ -52,6 +70,8 @@ class TestProjectCreate(TestProjectBase): class TestProjectGet(TestProjectBase): + + @executor.mock_valid_lfid() def setUp(self): super(TestProjectGet, self).setUp() self.create_d() @@ -78,6 +98,7 @@ class TestProjectGet(TestProjectBase): class TestProjectUpdate(TestProjectBase): + @executor.mock_valid_lfid() def setUp(self): super(TestProjectUpdate, self).setUp() _, d_body = self.create_d() @@ -115,6 +136,7 @@ class TestProjectUpdate(TestProjectBase): class TestProjectDelete(TestProjectBase): + @executor.mock_valid_lfid() def setUp(self): super(TestProjectDelete, self).setUp() self.create_d() diff --git a/testapi/opnfv_testapi/tests/unit/handlers/test_result.py b/testapi/opnfv_testapi/tests/unit/handlers/test_result.py index b9f9ede..bd482a6 100644 --- a/testapi/opnfv_testapi/tests/unit/handlers/test_result.py +++ b/testapi/opnfv_testapi/tests/unit/handlers/test_result.py @@ -15,7 +15,6 @@ import urllib import unittest from opnfv_testapi.common import message -from opnfv_testapi.models import project_models from opnfv_testapi.models import result_models from opnfv_testapi.models import testcase_models from opnfv_testapi.tests.unit import executor @@ -86,15 +85,12 @@ class TestResultBase(base.TestBase): self.list_res = result_models.TestResults self.update_res = result_models.TestResult self.basePath = '/api/v1/results' - self.req_project = project_models.ProjectCreateRequest( - self.project, - 'vping test') + fake_pymongo.projects.insert(self.project_e.format()) self.req_testcase = testcase_models.TestcaseCreateRequest( self.case, '/cases/vping', 'vping-ssh test') fake_pymongo.pods.insert(self.pod_d.format()) - self.create_help('/api/v1/projects', self.req_project) self.create_help('/api/v1/projects/%s/cases', self.req_testcase, self.project) diff --git a/testapi/opnfv_testapi/tests/unit/handlers/test_testcase.py b/testapi/opnfv_testapi/tests/unit/handlers/test_testcase.py index e4c668e..d5e32e3 100644 --- a/testapi/opnfv_testapi/tests/unit/handlers/test_testcase.py +++ b/testapi/opnfv_testapi/tests/unit/handlers/test_testcase.py @@ -11,15 +11,16 @@ import httplib import unittest from opnfv_testapi.common import message -from opnfv_testapi.models import project_models from opnfv_testapi.models import testcase_models from opnfv_testapi.tests.unit import executor +from opnfv_testapi.tests.unit import fake_pymongo from opnfv_testapi.tests.unit.handlers import test_base as base class TestCaseBase(base.TestBase): def setUp(self): super(TestCaseBase, self).setUp() + self.project = 'functest' self.req_d = testcase_models.TestcaseCreateRequest('vping_1', '/cases/vping_1', 'vping-ssh test') @@ -36,7 +37,7 @@ class TestCaseBase(base.TestBase): self.list_res = testcase_models.Testcases self.update_res = testcase_models.Testcase self.basePath = '/api/v1/projects/%s/cases' - self.create_project() + fake_pymongo.projects.insert(self.project_e.format()) def assert_body(self, case, req=None): if not req: @@ -56,12 +57,6 @@ class TestCaseBase(base.TestBase): self.assertIsNotNone(new._id) self.assertIsNotNone(new.creation_date) - def create_project(self): - req_p = project_models.ProjectCreateRequest('functest', - 'vping-ssh test') - self.create_help('/api/v1/projects', req_p) - self.project = req_p.name - def create_d(self): return super(TestCaseBase, self).create_d(self.project) -- cgit 1.2.3-korg