User Tools

Site Tools


collection_of_test_results

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
collection_of_test_results [2015/10/09 21:49]
Morgan Richomme [Test projects]
collection_of_test_results [2016/01/08 13:57] (current)
Nauman Ahad
Line 1: Line 1:
 +====== Test Result Collection Api ======
 +
 +
 ====== Description ====== ====== Description ======
 The mission of this project is to provide a common way for gathering all the results of OPNFV tests projects into a single place. It should expose a REST API for the collect of results and push them into a MongoDB database. The mission of this project is to provide a common way for gathering all the results of OPNFV tests projects into a single place. It should expose a REST API for the collect of results and push them into a MongoDB database.
Line 33: Line 36:
 [ [
   {   {
-    "​id": ​1+    "​id": ​""​
-    "​name":​ "functest", ​   ​+    "​name":​ "", 
 +    "​creation_date":​ "​YYYY-MM-DD HH:MM:SS", ​   ​
     "​description":""​     "​description":""​
   },   },
Line 44: Line 48:
 <code json> <code json>
 [ [
 +
   {   {
-    "​id":​1.1,+    "​id": ​""​,
     "​name":"",​     "​name":"",​
-    "testproject": "1", +    "creation_date": "YYYY-MM-DD HH:MM:SS",
-    "​test"​"",+
     "​description":​ "",​     "​description":​ "",​
     "​url":""​     "​url":""​
Line 61: Line 65:
 [ [
   {   {
-    "​_id":​ "55fc09a0514bc52b173a2826", +    "​_id":​ "",​ 
-    "​project_name":​ "functest", +    "​project_name":​ "",​ 
-    "​pod_name":​ "opnfv-jump-2", +    "​pod_name":​ "",​ 
-    "​version":​ "Arno-R1", +    "​version":​ "",​ 
-    "​installer":​ "fuel",+    "​installer":​ "",​
     "​description":​ "",​     "​description":​ "",​
-    "​creation_date":​ "2015-09-18 12:54:56.059000", +    "​creation_date":​ "YYYY-MM-DD HH:MM:SS", 
-    "​case_name":​ "vPing"+    "​case_name":​ ""​
     "​details":​{     "​details":​{
        <- the results to be put here ->        <- the results to be put here ->
Line 91: Line 95:
 ^Method ^Path ^Description ^ ^Method ^Path ^Description ^
 | GET | /pods | Get the list of declared PODs | | GET | /pods | Get the list of declared PODs |
-| POST | /pods | Create a new POD  \\ {  \\ "​name":​ "​pod-foo", ​ \\ "​creation_date":​ "​YYYY-MM-DD HH:​MM:​SS"​ \\ } |+| POST | /pods | Create a new POD  ​\\ Content-Type:​ application/​json ​\\ {  \\ "​name":​ "​pod-foo", ​ \\ "​creation_date":​ "​YYYY-MM-DD HH:​MM:​SS"​ \\ } |
  
  
Line 99: Line 103:
 | GET | /​test_projects | Give the list of test projects | | GET | /​test_projects | Give the list of test projects |
 | GET | /​test_projects/​{project_name} | Give details on the selected project | | GET | /​test_projects/​{project_name} | Give details on the selected project |
-| POST | /​test_projects | Add a Test project \\ {  \\ "​name":​ "​project-foo", ​ \\ "​description":​ "​Example with project foo" \\ } |+| POST | /​test_projects | Add a Test project ​\\ Content-Type:​ application/​json ​\\ {  \\ "​name":​ "​project-foo", ​ \\ "​description":​ "​Example with project foo" \\ } |
 | PUT | /​test_projects/​{project_name} | Update project ​ \\ { \\ <the field(s) you want to modify> \\ } | | PUT | /​test_projects/​{project_name} | Update project ​ \\ { \\ <the field(s) you want to modify> \\ } |
-| DELETE | /​test_projects/​{project_name} | Delete project \\ { \\ } |+| DELETE | /​test_projects/​{project_name} | Delete project ​\\ Content-Type:​ application/​json ​\\ { \\ } |
  
  
Line 108: Line 112:
 ^Method ^Path ^Description ^ ^Method ^Path ^Description ^
 | GET | /​test_projects/​{project_name}/​cases | Give details on the testcases of the foo project | | GET | /​test_projects/​{project_name}/​cases | Give details on the testcases of the foo project |
-| POST | /​test_projects/​{project_name}/​cases | Add test cases  \\ {  \\  "​url":​ "<​the url detailing the testcase>", ​ \\ "​creation_date":​ "​YYYY-MM-DD HH:​MM:​SS", ​ \\ "​name":​ "​vFoo", ​ \\ "​description":​ "vFoo use case" \\ } |+| POST | /​test_projects/​{project_name}/​cases | Add test cases  ​\\ Content-Type:​ application/​json ​\\ {  \\  "​url":​ "<​the url detailing the testcase>", ​ \\ "​creation_date":​ "​YYYY-MM-DD HH:​MM:​SS", ​ \\ "​name":​ "​vFoo", ​ \\ "​description":​ "vFoo use case" \\ } 
 +| PUT | /​test_projects/​{project_name}?​case_name={case_name} | Modify a test case \\ Content-Type:​ application/​json ​ \\ { \\ < the field(s) to be modified > \\ } | 
 +| DELETE | | Remove a test case \\ Content-Type:​ application/​json  ​|
  
 ==== test results ==== ==== test results ====
  
 +^Method ^Path ^Description ^
 +| GET | /results | Get all the test results |
 +| GET | /​results/​project={test_project_name} | Get all the results of the test project {test_project_name} |
 +| GET | /​results/​case={test_case_name} | Get all the results of the test case {test_case_name} |
 +| GET | /​results?​pod={pod_name} | Get all the results executed on pod {pod_name} ​ |
 +| GET | /​results?​installer={installer_name} | Get all the results done with installer {installer_name} ​ |
 +| GET | /​results?​version={version_name} | Get all the results done with version {version_name} ​ |
 +| GET | /​results?​period={days} | Get all the results stored since {Days} days  |
 +| GET | /​results?​project={test_project_name}&​case={case_name}[&​installer={installer_name}&​version={version_name}&​pod={pod_name}&​period={days}] | Get all the results of the test case {case_name} of the project {project_name} with version {version_name} installed by installer {installer_name} on POD {pod_name} stored since {days} days \\ {project_name} and {case_name} are mandatory, the other parameters are optional ​ |
 +| POST |/​results ​ | Add test result in the Database ​ \\ Content-Type:​ application/​json ​ \\ {  \\ "​project_name":​ {project_name}, ​ \\ "​case_name":​ {case_name}, ​ \\ "​pod_name":​ {pod_name}, ​ \\ "​installer":​ {installer_name}, ​ \\ "​version":​{version_name}, ​ \\ "​details":​ { <your results> }  \\ } |
  
 +==== test results ====
  
- +^Method ^Path ^Description ^ 
-Here are the key functions : +| GET | /dashboard | Get all the test projects ​providing dashboard ready results ​| 
- +| GET | dashboard?project={project_name}&​case={case_name}[&​pod={pod_name}&​installer={installer_name}&​version={version_name}&​period={days}] | Get all the results ​(in dashboard ready format) of the test case {case_name} ​of the project {project_name} with version {version_name} installed by installer {installer_name} on POD [pod_name} stored since {days} days \\ {project_name} and {case_name} are mandatory, the other parameters are optional ​|
-**Test projects** +
-  * List all test projects ​ +
-  * Details on a specific test project +
-  * Create a test project +
-  * Update a test project +
- +
-**Test cases** +
-Specifiying a test project : +
-  * List all test cases +
-  * Details on a test case +
-  * Create a test case +
-  * Update a test case +
- +
-**Test ​results** +
-Specfiying both test project ​and test case +
-  * List all test results +
-  * Details on a test result +
-  * Push a test result +
-  * Remove a test result +
- +
-This API will rely on JSON to represent states ​of REST resources. ​  +
-See the full API specification ​[[collection_api|here]]. +
collection_of_test_results.1444427368.txt.gz · Last modified: 2015/10/09 21:49 by Morgan Richomme