summaryrefslogtreecommitdiffstats
path: root/testapi/opnfv_testapi
AgeCommit message (Collapse)AuthorFilesLines
2017-11-14Create functionality and e2e tests for projectthuva411-26/+402
Implemented the create function for the projects. Wrote the e2e tests for the create function. Change-Id: Iceac650573ca31b6246350c4d60033b42e0ffb0f Signed-off-by: thuva4 <tharma.thuva@gmail.com>
2017-11-03Merge "add simple e2e tests for PodsCotroller"Serena Feng3-0/+220
2017-11-01add simple e2e tests for PodsCotrollerthuva43-0/+220
Change-Id: I9baa04ff062f36569c1e143014239931de64cf32 Signed-off-by: thuva4 <tharma.thuva@gmail.com>
2017-10-31remove components out side of 3rd_partySerenaFeng18-0/+2336
components are implemented by TestAPI team, they are not the third party code, put them under opnfv_testapi/ui directory Change-Id: Ia0f5e2afe4bcb12bcb74d3a8d78fb28fe1432bec Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-10-27divide resources into handlers and modelsSerenaFeng34-227/+106
divide resources into handlers&models put ui handlers into handlers directory put User into user_models.py Change-Id: I3d9e260097205213c3ea8d4eac08b9019e017f71 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-10-27bugfix: E722 do not use bare exceptSerenaFeng3-4/+4
new added pep8 check: https://build.opnfv.org/ci/job/testapi-verify-master/435/console Change-Id: I29c1ffbb534babf55ec2fe675001cc85b9e2e922 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-10-23Merge "allow authentication to be disabled"Serena Feng4-7/+16
2017-10-20allow authentication to be disabledSerenaFeng4-7/+16
in local deployment situation, authentication can be disabled by setting authenticate=False of ui section in config.ini JIRA: RELENG-324 Change-Id: I9157d1723851feb12435033dbdd59035e3eb5777 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-10-20criteria field must be 'PASS/FAIL'SerenaFeng5-2/+33
criteria must be fix with 'PASS/FAIL', case insensitive or else, BADREQUEST exception will be raises JIRA: RELENG-327 Change-Id: Ic648b9d38937fc63924e42cfdf5345cdaa32e1ed Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-09-18Bug Fix: Using library for urlencodeutkarshrai981-19/+18
Changes to method call _set_query Change-Id: I95837df57cc98c21ff5d95d9753269490c025dd3 Signed-off-by: utkarshrai98 <utkarshrai98@gmail.com>
2017-09-16Merge "testing for raise in config.py"Serena Feng1-0/+9
2017-09-12leverage LFID authentication to pod creationSerenaFeng9-23/+127
only valid linux foundation user is allowed to create the new pod add owner field in pods to track the pod creator Change-Id: Icada07152069f7c826bfa6122cb86db8c4e3bf68 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-09-12leverage token_check only when posting resultsSerenaFeng3-77/+17
In this patch begin to consider the LFID authentication, token check only effects results, the permission of other resources(pods/projects...) will be checked by LFID. Change-Id: I20f6f221e3bd75ebf06dcd91012898b913f1d0be Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-09-12testing for raise in config.pyutkarshrai981-0/+9
Change-Id: I3b4f21307af55c8f32332502ddcb9315074b7202 Signed-off-by: utkarshrai98 <utkarshrai98@gmail.com> Testing for the raise in test_config.py Change-Id: Iea7ae53b5eac51d3e3eaf9f23d6e8cd79919f103 Signed-off-by: utkarshrai98 <utkarshrai98@gmail.com>
2017-09-11add case-insensitive for find pods querythuva43-4/+23
Now user can't create the pods with the same name. Just like "Demo" , "deMo" and "demo" Add unit test for case-insensitive query Change-Id: Ifddc7b70a38d8504e5fe105fa5cc1a77bf0e39a9 Signed-off-by: thuva4 <tharma.thuva@gmail.com>
2017-09-06hide cas ticket from web portalSerenaFeng5-47/+47
In the previous implementation, when login the url will shown as: http://localhost:8000/?ticket=ST-5WzYs6SD2A#/ this patch aims to hide the ticket mechanism. 1) add /api/v1/auth/signin_return to process login verify 2) refactor code, leverage SignBaseHanlder() to manage casclient Change-Id: I62e23eb69ee52304c30753e861b4f0a4e0d45541 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-09-05Merge "bugfix: leverage data_files to stop hacking setup.py"Serena Feng4-7/+3
2017-09-05bugfix: container start failed due to config_file set to NonetypeSerenaFeng1-1/+1
Traceback (most recent call last): File "/usr/local/bin/opnfv-testapi", line 6, in <module> from opnfv_testapi.cmd.server import main File "/usr/local/lib/python2.7/dist-packages/opnfv_testapi/cmd/server.py", line 34, in <module> from opnfv_testapi.common.config import CONF File "/usr/local/lib/python2.7/dist-packages/opnfv_testapi/common/config.py", line 67, in <module> CONF = Config() File "/usr/local/lib/python2.7/dist-packages/opnfv_testapi/common/config.py", line 21, in __init__ self._parse() File "/usr/local/lib/python2.7/dist-packages/opnfv_testapi/common/config.py", line 29, in _parse if not os.path.exists(self.config_file): File "/usr/lib/python2.7/genericpath.py", line 18, in exists os.stat(path) TypeError: coercing to Unicode: need string or buffer, NoneType found Change-Id: Ifa26b5b52e7f1c19a773b02ecc1c45b59b5dc09b Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-09-05Merge "improve: discard venv support for official product"Serena Feng1-13/+2
2017-09-04bugfix: leverage data_files to stop hacking setup.pySerenaFeng4-7/+3
1) leverage data_files to distribute ui related files, and dispatch them under /usr/local/share/opnfv_testapi 2) delete hacking coding, no more extra processes 3) utilize MANIFEST.in to include 3rd_party when producing a source distribution Change-Id: Idb83a02be11f6b24610191e9f85e0db80d92e972 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-09-04improve: discard venv support for official productSerenaFeng1-13/+2
virtual env is only to facilitate the development, not be used in official product, thus delete the support, let the developer manage their own development env. Change-Id: I33af882ab257e88b1e7a316d1d78197d6279933d Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-09-04clarify obsoleted test configuration filesSerenaFeng7-83/+3
delete noparam.ini/nosection.ini/notboolean.ini/notint.ini/normal.ini substitute normal.ini with etc/config.ini Change-Id: I7e2fa331736a2f9bf807814416a3118be5f613e5 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-08-31leverage LFID as AuthenticationSerenaFeng9-155/+89
delete openid authentication add LFID authentication Change-Id: Iead144b5130bce51448024e65092fdea3bb2f07a Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-08-25update scenario nameSerenaFeng3-1/+37
url PUT /api/v1/scenarios/<scenario_name> if new_name already exist, return Forbidden if new_name == name, return Forbidden Change-Id: If3b82b3df4a763d60dad110caca2659c5f39ab50 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-08-25update installer under scenarioSerenaFeng3-9/+132
1. post, add one or more new installers 2. update, replace existed installers as a totality 3. delete, delete one or more installers by name 4. in post&update, if schema is not consistent with ScenarioInstaller model, BadRequest will be raised(only extra keys will be detected currently) 5. in post, if installer already exist, return Conflict with already exist message 6. in update, if a installer appears more than once, also return Conflict with already exist message Change-Id: I830dba3bcf5f1a9d1c93513b4aae59009f69dc8f Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-08-25simplify unit tests implementation of update scenarioSerenaFeng1-88/+79
1. delete useless input arguments 2. update on and assert with self.req_d directly delete intermediate variable 'scenario' Change-Id: I3eda1df4893c890bb23ccf05b45ce2de5fa9dd93 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-08-25update versions under scenarioSerenaFeng4-34/+190
1. post, add one or more new versions 2. update, replace existed version as a totality 3. delete, delete one or more versions by name 4. in post&update, if schema is not consistent with ScenarioVersion model, BadRequest will be raised(only extra keys will be detected currently) 5. in post, if project already exist, return Conflict with already exist message 6. in update, if a version appears more than once, also return Conflict with already exist message 7. add update with conflict unittest for projects Change-Id: I0d2c8a5567f3abce7b0313a64e18303af02cc002 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-08-25bugfix: fail to generate APIs document patchSerenaFeng1-2/+2
Change-Id: Iac5bb851514f0f688fcb72deb5f07488bc071225 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-08-24bugfix: fail to generate APIs documentSerenaFeng3-3/+10
Change-Id: I13c91fb34e190cd62400eccec6b755419aad89d1 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-08-23bugfix: malfunction of scenario equal checkSerenaFeng3-13/+26
1. bugfix equal check with[] will return list[false, true], and always True in next step check 2. in assert_res() leverage '==' will never assert even if they are not equal Change-Id: I683e3489d45b98b508f8ab8b6ef268ca9a1ebd5f Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-08-22Merge "bugfix: OperationFailure: the limit must be positive"Serena Feng1-15/+16
2017-08-22Merge "change scenario owner"Serena Feng4-4/+51
2017-08-22Merge "update projects in scenario"Serena Feng6-5/+247
2017-08-22Merge "in swagger operation parameter supports array type"Serena Feng1-5/+12
2017-08-22Merge "update customs in scenario"Serena Feng5-30/+222
2017-08-21bugfix: OperationFailure: the limit must be positiveSerenaFeng1-15/+16
in cursor.aggregate(), set limit=0 is not allowed, in this patch, if no records to be listed, return empty list directly, no more aggregate() JIRA: RELENG-293 Change-Id: I7317892875da9c0f785ba010b55715032dee31ce Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-08-21change scenario ownerSerenaFeng4-4/+51
1 bugfix owner must be explicit in ScenarioVersion model 2 change owner of scenario 3. usage: PUT /api/v1/scenarios/<scenario_name>/owner? \ installer=<installer_name>& \ version=<version_name> body: new owner Change-Id: I261468cd8445030b61e37e0f804b699d6205bdb0 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-08-21update projects in scenarioSerenaFeng7-10/+259
1. post, add one or more new projects 2. update, replace existed projects wholly 3. delete, delete one or more projects by name 4. in post&update, if schema is not consistent with ScenarioProject model, BadRequest will be raised(only extra keys will be detected currently) 5. in post, if project already exist, return Conflict with already exist message Change-Id: Iead585f787a4acc61abce6c9d38a036739b498d6 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-08-18in swagger operation parameter supports array typeSerenaFeng1-5/+12
it will be used in scenario update process later Change-Id: Ic44023169f1c0da0946e5e60339ce58076fc8807 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-08-18update customs in scenarioSerenaFeng5-30/+222
1) post to add one or multiple test cases 2) update to substitute all the test cases 3) delete with body to delete one or multiple test cases 4) to facilitate the process and response body usually useless, if update success all updates(scores/trust_indicators/customs), return 200 with no response body Change-Id: I5148f172989fa8e0e70ffed92ee383c0520dbb41 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-08-18Merge "bugfix: testapi is killed because of oom_kill"Serena Feng2-17/+19
2017-08-17impl update trust_indicator in scenarioSerenaFeng3-22/+98
Change-Id: I1afe38412926778bc84d178dbbfc3fe0cde15f69 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-08-16bugfix: testapi is killed because of oom_killSerenaFeng2-17/+19
if page is not provided, return page 1 to avoid large memory consume, further more to kill testapi: Out of memory: Kill process 30842 (opnfv-testapi) score 519 or sacrifice child Killed process 30842 (opnfv-testapi) total-vm:4739716kB, anon-rss:3974612kB, file-rss:0kB JIRA: RELENG-291 Change-Id: Id0e144c030aee390cc41cff8a48e3c997de4ad84 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-08-15update scenario scoresSerenaFeng4-6/+190
update score url: POST /api/v1/scenarios/<scenario_name>/scores? \ installer=<installer_name>& \ version=<version_name>& \ project=<project_name> add new score record interface add unit test add swagger specification Change-Id: Ib7bb31f303a9a9402325476bfdadb58aa0df560e Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-08-14delete obsolete scenario update codeSerenaFeng3-410/+10
1) update scenario will be subsitituted with new methods, in this patch delete the obsolete code first to make clean room 2) test_queryCombination() will fail randomly, in this patch disable it first, reopen when problem solved Change-Id: I1939876465934ea09894255712057a78f120be71 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-07-26merge swagger_base_url with ui_urlSerenaFeng7-12/+12
TestAPI used to have only one webpage, which is swagger_ui, now a new one webportal is added, and the base url is the same (http://testresults.opnfv.org/test)for them both. This patch aim to unify the urls. Change-Id: I15295975fb05f7e8c8d413e12b2b5c0784f0799a Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-07-21query date from oldest to newestSerenaFeng1-11/+20
Change-Id: I3d0345bb85967f48617c485bbee1dfe6fa04a644 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-07-21separate db methods from handler.pySerenaFeng9-54/+60
db methods are mingled in handler, which is not well structured Change-Id: I639679d3fc05a0b6528158186b8bf89e0cd10596 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-07-20decouple the mutual-dependence of config.py and server.pySerenaFeng11-68/+75
Currently server.py relies on CONF while starting the service, and config.py's config_fie is set in server.py, which is wrongly bi-depended this patch aims to let Config parse the sys.argv personally, just as oslo.config do, so that decouple the mutual-dependency Change-Id: I46887d122a98d478caebe9eeb7ab038941ce1f6b Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-07-20role based access control and result uploadgrakiss10-17/+147
1. add role for user 2. user can upload test results Change-Id: I1c5370be7818edb0394f05e8b81f975deb98b286 Signed-off-by: grakiss <grakiss.wanglei@huawei.com>