summaryrefslogtreecommitdiffstats
path: root/docs/com/pres/framework
diff options
context:
space:
mode:
authorMorgan Richomme <morgan.richomme@orange.com>2017-10-09 13:53:25 +0200
committerCedric Ollivier <cedric.ollivier@orange.com>2017-10-10 13:24:02 +0000
commitb523d5d7e64f6c6134363f21a158bb893fc18e3b (patch)
tree98c4595132e80a17bd2f248946e78b65e0acc05f /docs/com/pres/framework
parentf39a901913177ff7d764714357a07ef5b8c1c9fe (diff)
Complete framework documentation part for VNF
Change-Id: I4c59adfe1cfec278e0b267cc7a05e8addd45d034 Signed-off-by: Morgan Richomme <morgan.richomme@orange.com> (cherry picked from commit ee2eb17dbe52418f6bdc6201f78b9f1e8858fdcc)
Diffstat (limited to 'docs/com/pres/framework')
-rw-r--r--docs/com/pres/framework/framework.md97
1 files changed, 92 insertions, 5 deletions
diff --git a/docs/com/pres/framework/framework.md b/docs/com/pres/framework/framework.md
index dfd7a2155..7979beded 100644
--- a/docs/com/pres/framework/framework.md
+++ b/docs/com/pres/framework/framework.md
@@ -306,15 +306,102 @@ run:
-## Euphrates
+## class VNF
+bases: TestCase
+
+base model for VNF onboarding testing
+
+
+### methods
+
+| Method | Purpose |
+|-----------------------|---------------------------------------------------|
+| prepare() | prepare VNF env (user, tenant, security group,..) |
+| run(**kwargs) | run VNF test case |
+| deploy_orchestrator() | deploy cloudify, ONAP, OpenBaton,... (optional) |
+| deploy_vnf() | deploy the VNF |
+| test_vnf() | run tests on the VNF |
+
+
+### run(**kwargs)
+
+- deploys an orchestrator if needed (e.g. heat, OpenBaton, Cloudify, ONAP, Juju)
+- deploys the VNF
+- performs tests on the VNF
+
+
+### prepare()
+
+- creates a user
+- creates a Tenant/Project
+- allocates admin role to the user on this tenant
+
+
+### deploy_orchestrator()
+
+- deploys an orchestrator (optional)
+- if this function is overridden then raise orchestratorDeploymentException if error during orchestrator deployment
+
+
+### deploy_vnf()
+
+- **MUST be implemented** by vnf test cases. The details section MAY be updated in the vnf test cases.
+- The deployment can be executed via a specific orchestrator or using build-in orchestrators such as heat, openbaton, cloudify, juju, ONAP, ...
+- returns:
+ True if the VNF is properly deployed
+ False if the VNF is not deployed
+- raises VnfDeploymentException if error during VNF deployment
+
+
+### test_vnf()
+
+- **MUST be implemented** by vnf test cases. The details section MAY be updated in the vnf test cases.
+- Once a VNF is deployed, it is assumed that specific test suite can be run to validate the VNF.
+- returns:
+ True if VNF tests are PASS
+ False if test suite is FAIL
+- raises VnfTestException if error during VNF tests
+
+
+## Your fifth test case
-### Next actions
-- __to finish VNF abstraction (coverage + pylint)__
-- to publish doc API
+### fifth.py
-Please see [Functest Euphrates page](https://wiki.opnfv.org/display/functest/Functest+Euphrates+page) for more details
+```python
+#!/usr/bin/env python
+
+from functest.core import vnf
+
+class Vnf(vnf.VnfOnBoarding):
+
+ def deploy_vnf(self):
+ print "Deploy your VNF here"
+ print "Feed orchestrator with VNF descriptor"
+ return 0
+
+ def test_vnf(self):
+ print "Test your VNF here"
+ return 0
+```
+
+
+### functest/ci/testcases.yaml
+
+```yaml
+case_name: fifth
+project_name: functest
+criteria: 100
+blocking: true
+description: ''
+dependencies:
+ installer: ''
+ scenario: ''
+run:
+ module: 'fifth'
+ class: 'Vnf'
+```