blob: b6475f30e156979cc1d6ded20133d74d01dbb8de (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. (c) 2017 ZTE Corporation
********
Overview
********
TestAPI uses Python as primary programming language and build the framework from the following packages
======== ===============================================================================================================
Module Package
======== ===============================================================================================================
api `Tornado-Motor`_ - API applications using Motor with tornado
swagger `tornado-swagger`_ - a wrapper for tornado which enables swagger-ui-v1.2 support
web `angular`_ - a superheroic JavaScript MVW framework, the version is AngularJS v1.3.15
docs `sphinx`_ - a tool that makes it easy to create intelligent and beautiful documentation
testing `pytest`_ - a mature full-featured Python testing tool that helps you write better programs
======== ===============================================================================================================
Source Code
===========
The structure of repository is based on the recommended sample in `The Hitchhiker's Guide to Python`_
========================== ====================================================================================================
Path Content
========================== ====================================================================================================
``./3rd_party/`` third part included in TestAPI project
``./docker/`` configuration for building Docker image for TestAPI deployment
``./docs/`` user and developer documentation, design proposals
``./etc/`` configuration files used to install opnfv-testapi
``./opnfv_testapi/`` the actual package
``./opnfv_testapi/tests/`` package functional and unit tests
``./opts/`` optional components, e.g. one click deployment script
========================== ====================================================================================================
Coding Style
============
TestAPI follows `OpenStack Style Guidelines`_ for source code and commit message.
Specially, it is recommended to link each patch set with a JIRA issue. Put::
JIRA: RELENG-n
in commit message to create an automatic link.
Testing
=======
All testing related code are stored in ``./opnfv_testapi/tests/``
================== ====================================================================================================
Path Content
================== ====================================================================================================
``./tests/unit/`` unit test for each module, follow the same layout as ./opnfv_testapi/
``./conftest.py`` pytest configuration in project scope
================== ====================================================================================================
`tox`_ is used to automate the testing tasks
.. code-block:: shell
cd <project_root>
pip install tox
tox
The test cases are written in `pytest`_. You may run it selectively with
.. code-block:: shell
pytest opnfv_testapi/tests/unit/common/test_config.py
Branching
=========
Currently, no branching for TestAPI, only master branch
Releasing
=========
Currently, TestAPI does not follow community's milestones and releases
.. _Tornado-Motor: https://motor.readthedocs.io/en/stable/tutorial-tornado.html
.. _tornado-swagger: https://github.com/SerenaFeng/tornado-swagger
.. _angular: https://code.angularjs.org/1.3.15/docs/guide
.. _sphinx: http://www.sphinx-doc.org/en/stable/
.. _pytest: http://doc.pytest.org/
.. _OpenStack Style Guidelines: http://docs.openstack.org/developer/hacking/
.. _The Hitchhiker's Guide to Python: http://python-guide-pt-br.readthedocs.io/en/latest/writing/structure/
.. _tox: https://tox.readthedocs.io/
|