aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docker/Dockerfile17
-rw-r--r--upper-constraints.txt19
-rw-r--r--xtesting/ci/logging.ini2
-rw-r--r--xtesting/ci/testcases.yaml414
-rw-r--r--xtesting/samples/HelloWorld.txt3
-rw-r--r--xtesting/samples/__init__.py0
-rw-r--r--xtesting/samples/first.py24
-rw-r--r--xtesting/samples/fourth.py19
-rw-r--r--xtesting/samples/second.py19
-rw-r--r--xtesting/samples/testcases.yaml66
10 files changed, 187 insertions, 396 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile
new file mode 100644
index 00000000..32e38778
--- /dev/null
+++ b/docker/Dockerfile
@@ -0,0 +1,17 @@
+FROM alpine:3.7
+
+ARG BRANCH=master
+ARG OPENSTACK_TAG=stable/pike
+
+RUN apk --no-cache add --update \
+ python libffi libssl1.0 libjpeg-turbo py-pip bash \
+ grep sed wget ca-certificates git && \
+ git clone https://gerrit.opnfv.org/gerrit/functest-xtesting /src/functest-xtesting && \
+ (cd /src/functest-xtesting && git fetch origin $BRANCH && git checkout FETCH_HEAD) && \
+ pip install --no-cache-dir --src /src \
+ -chttps://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=$OPENSTACK_TAG \
+ -chttps://git.opnfv.org/functest-xtesting/plain/upper-constraints.txt?h=$BRANCH \
+ /src/functest-xtesting && \
+ rm -r /src/functest-xtesting && \
+ bash -c "mkdir -p /home/opnfv/xtesting/results/robot"
+CMD ["run_tests", "-t", "all"]
diff --git a/upper-constraints.txt b/upper-constraints.txt
index 4bd83c4a..a884d02b 100644
--- a/upper-constraints.txt
+++ b/upper-constraints.txt
@@ -1,20 +1 @@
-git+https://gerrit.opnfv.org/gerrit/releng#egg=opnfv&subdirectory=modules
-git+https://gerrit.opnfv.org/gerrit/snaps#egg=snaps
-git+https://gerrit.opnfv.org/gerrit/barometer#egg=baro_tests
-git+https://gerrit.opnfv.org/gerrit/sdnvpn#egg=sdnvpn
-git+https://gerrit.opnfv.org/gerrit/sfc#egg=sfc
--e git+https://gerrit.opnfv.org/gerrit/promise#egg=promise
--e git+https://gerrit.opnfv.org/gerrit/doctor#egg=doctor-tests
-git+https://gerrit.opnfv.org/gerrit/domino#egg=domino
-git+https://gerrit.opnfv.org/gerrit/parser#egg=nfv-heattranslator&subdirectory=tosca2heat/heat-translator
-git+https://gerrit.opnfv.org/gerrit/parser#egg=nfv-toscaparser&subdirectory=tosca2heat/tosca-parser
--e git+https://gerrit.opnfv.org/gerrit/parser#egg=nfv-parser
-cloudify-rest-client===4.0
-openbaton-cli===2.2.1b7
robotframework===3.0.2
-robotframework-httplibrary===0.4.2
-robotframework-requests===0.4.7
-robotframework-sshlibrary===2.1.3;python_version=='2.7'
-IPy===0.83
-ansible===2.3.2.0
-flasgger===0.6.6
diff --git a/xtesting/ci/logging.ini b/xtesting/ci/logging.ini
index ab82073f..b1365f1e 100644
--- a/xtesting/ci/logging.ini
+++ b/xtesting/ci/logging.ini
@@ -1,5 +1,5 @@
[loggers]
-keys=root,xtesting,api,ci,cli,core,energy,opnfv_tests,utils
+keys=root,xtesting,ci,core,energy,utils
[handlers]
keys=console,wconsole,file,null
diff --git a/xtesting/ci/testcases.yaml b/xtesting/ci/testcases.yaml
index c338f57e..9c1cb506 100644
--- a/xtesting/ci/testcases.yaml
+++ b/xtesting/ci/testcases.yaml
@@ -1,424 +1,86 @@
---
tiers:
-
- name: healthcheck
- order: 0
- ci_loop: '(daily)|(weekly)'
- description: >-
- First tier to be executed to verify the basic
- operations in the VIM.
- testcases:
- -
- case_name: connection_check
- project_name: xtesting
- criteria: 100
- blocking: true
- description: >-
- This test case verifies the retrieval of OpenStack clients:
- Keystone, Glance, Neutron and Nova and may perform some
- simple queries. When the config value of
- snaps.use_keystone is True, xtesting must have access to
- the cloud's private network.
- dependencies:
- installer: '^((?!netvirt).)*$'
- scenario: ''
- run:
- module:
- 'xtesting.opnfv_tests.openstack.snaps.connection_check'
- class: 'ConnectionCheck'
-
- -
- case_name: api_check
- project_name: xtesting
- criteria: 100
- blocking: true
- description: >-
- This test case verifies the retrieval of OpenStack clients:
- Keystone, Glance, Neutron and Nova and may perform some
- simple queries. When the config value of
- snaps.use_keystone is True, xtesting must have access to
- the cloud's private network.
- dependencies:
- installer: '^((?!netvirt).)*$'
- scenario: '^((?!lxd).)*$'
- run:
- module: 'xtesting.opnfv_tests.openstack.snaps.api_check'
- class: 'ApiCheck'
-
- -
- case_name: snaps_health_check
- project_name: xtesting
- criteria: 100
- blocking: true
- description: >-
- This test case creates executes the SimpleHealthCheck
- Python test class which creates an, image, flavor, network,
- and Cirros VM instance and observes the console output to
- validate the single port obtains the correct IP address.
- dependencies:
- installer: ''
- scenario: '^((?!lxd).)*$'
- run:
- module: 'xtesting.opnfv_tests.openstack.snaps.health_check'
- class: 'HealthCheck'
-
- -
- name: smoke
+ name: samples
order: 1
- ci_loop: '(daily)|(weekly)'
- description: >-
- Set of basic Functional tests to validate the OPNFV scenarios.
+ ci_loop: 'daily'
+ description: ''
testcases:
-
- case_name: vping_ssh
+ case_name: first
project_name: xtesting
criteria: 100
blocking: true
- description: >-
- This test case verifies: 1) SSH to an instance using
- floating IPs over the public network. 2) Connectivity
- between 2 instances over a private network.
+ clean_flag: false
+ description: ''
dependencies:
installer: ''
- scenario: '^((?!odl_l3|odl-bgpvpn|gluon).)*$'
+ scenario: ''
run:
- module: 'xtesting.opnfv_tests.openstack.vping.vping_ssh'
- class: 'VPingSSH'
+ module: 'xtesting.samples.first'
+ class: 'Test'
-
- case_name: vping_userdata
+ case_name: second
project_name: xtesting
criteria: 100
blocking: true
- description: >-
- This test case verifies: 1) Boot a VM with given userdata.
- 2) Connectivity between 2 instances over a private network.
+ clean_flag: false
+ description: ''
dependencies:
installer: ''
- scenario: '^((?!lxd).)*$'
- run:
- module:
- 'xtesting.opnfv_tests.openstack.vping.vping_userdata'
- class: 'VPingUserdata'
-
- -
- case_name: tempest_smoke_serial
- project_name: xtesting
- criteria: 100
- blocking: false
- description: >-
- This test case runs the smoke subset of the OpenStack
- Tempest suite. The list of test cases is generated by
- Tempest automatically and depends on the parameters of
- the OpenStack deplopyment.
- dependencies:
- installer: '^((?!netvirt).)*$'
scenario: ''
run:
- module: 'xtesting.opnfv_tests.openstack.tempest.tempest'
- class: 'TempestSmokeSerial'
+ module: 'xtesting.samples.second'
+ class: 'Test'
-
- case_name: rally_sanity
+ case_name: third
project_name: xtesting
criteria: 100
- blocking: false
- description: >-
- This test case runs a sub group of tests of the OpenStack
- Rally suite in smoke mode.
+ blocking: true
+ clean_flag: false
+ description: ''
dependencies:
installer: ''
scenario: ''
run:
- module: 'xtesting.opnfv_tests.openstack.rally.rally'
- class: 'RallySanity'
+ module: 'xtesting.core.feature'
+ class: 'BashFeature'
+ args:
+ cmd: 'echo -n Hello World; exit 0'
-
- case_name: refstack_defcore
+ case_name: fourth
project_name: xtesting
criteria: 100
- blocking: false
- description: >-
- This test case runs a sub group of tests of the OpenStack
- Defcore testcases by using refstack client.
+ blocking: true
+ clean_flag: false
+ description: ''
dependencies:
installer: ''
scenario: ''
run:
- module:
- 'xtesting.opnfv_tests.openstack.refstack_client.refstack_client'
- class: 'RefstackClient'
-
- -
- case_name: odl
- project_name: xtesting
- criteria: 100
- blocking: false
- description: >-
- Test Suite for the OpenDaylight SDN Controller. It
- integrates some test suites from upstream using
- Robot as the test framework.
- dependencies:
- installer: ''
- scenario: 'odl'
- run:
- module: 'xtesting.opnfv_tests.sdn.odl.odl'
- class: 'ODLTests'
+ module: 'xtesting.core.unit'
+ class: 'Suite'
args:
- suites:
- - /src/odl_test/csit/suites/integration/basic
- - /src/odl_test/csit/suites/openstack/neutron
-
- -
- case_name: odl_netvirt
- project_name: xtesting
- criteria: 100
- blocking: false
- description: >-
- Test Suite for the OpenDaylight SDN Controller when
- the NetVirt features are installed. It integrates
- some test suites from upstream using Robot as the
- test framework.
- dependencies:
- installer: 'apex'
- scenario: 'os-odl_l3-nofeature'
- run:
- module: 'xtesting.opnfv_tests.sdn.odl.odl'
- class: 'ODLTests'
- args:
- suites:
- - /src/odl_test/csit/suites/integration/basic
- - /src/odl_test/csit/suites/openstack/neutron
- - /src/odl_test/csit/suites/openstack/connectivity
+ name: 'xtesting.samples.fourth'
-
- case_name: snaps_smoke
+ case_name: fifth
project_name: xtesting
criteria: 100
blocking: false
- description: >-
- This test case contains tests that setup and destroy
- environments with VMs with and without Floating IPs
- with a newly created user and project. Set the config
- value snaps.use_floating_ips (True|False) to toggle
- this functionality. When the config value of
- snaps.use_keystone is True, xtesting must have access to
- the cloud's private network.
-
- dependencies:
- installer: '^((?!netvirt).)*$'
- scenario: '^((?!lxd).)*$'
- run:
- module: 'xtesting.opnfv_tests.openstack.snaps.smoke'
- class: 'SnapsSmoke'
-
- -
- name: features
- order: 2
- ci_loop: '(daily)|(weekly)'
- description: >-
- Test suites from feature projects
- integrated in xtesting
- testcases:
- -
- case_name: doctor-notification
- project_name: doctor
- criteria: 100
- blocking: false
- description: >-
- Test suite from Doctor project.
- dependencies:
- installer: 'apex'
- scenario: '^((?!fdio).)*$'
- run:
- module: 'xtesting.core.feature'
- class: 'BashFeature'
- args:
- cmd: 'doctor-test'
-
- -
- case_name: bgpvpn
- project_name: sdnvpn
- criteria: 100
- blocking: false
- description: >-
- Test suite from SDNVPN project.
- dependencies:
- installer: '(fuel)|(apex)|(netvirt)'
- scenario: 'bgpvpn'
- run:
- module: 'sdnvpn.test.xtesting.run_sdnvpn_tests'
- class: 'SdnvpnFunctest'
-
- -
- case_name: xtesting-odl-sfc
- project_name: sfc
- criteria: 100
- blocking: false
- description: >-
- Test suite for odl-sfc to test two chains with one SF and
- one chain with two SFs
+ description: ''
dependencies:
installer: ''
- scenario: 'odl.*sfc'
- run:
- module: 'xtesting.core.feature'
- class: 'BashFeature'
- args:
- cmd: 'run_sfc_tests.py'
-
- -
- case_name: barometercollectd
- project_name: barometer
- criteria: 100
- blocking: false
- description: >-
- Test suite for the Barometer project. Separate tests verify
- the proper configuration and basic functionality of all the
- collectd plugins as described in the Project Release Plan
- dependencies:
- installer: 'apex'
- scenario: 'bar'
- run:
- module: 'baro_tests.barometer'
- class: 'BarometerCollectd'
-
- -
- case_name: fds
- project_name: fastdatastacks
- criteria: 100
- blocking: false
- description: >-
- Test Suite for the OpenDaylight SDN Controller when GBP
- features are installed. It integrates some test suites from
- upstream using Robot as the test framework.
- dependencies:
- installer: 'apex'
- scenario: 'odl.*-fdio'
+ scenario: ''
run:
- module: 'xtesting.opnfv_tests.sdn.odl.odl'
- class: 'ODLTests'
+ module: 'xtesting.core.robotframework'
+ class: 'RobotFramework'
args:
suites:
- - /src/fds/testing/robot
-
- -
- name: components
- order: 3
- ci_loop: 'weekly'
- description: >-
- Extensive testing of OpenStack API.
- testcases:
- -
- case_name: tempest_full_parallel
- project_name: xtesting
- criteria: 80
- blocking: false
- description: >-
- The list of test cases is generated by
- Tempest automatically and depends on the parameters of
- the OpenStack deplopyment.
- dependencies:
- installer: '^((?!netvirt).)*$'
- scenario: ''
- run:
- module: 'xtesting.opnfv_tests.openstack.tempest.tempest'
- class: 'TempestFullParallel'
-
- -
- case_name: rally_full
- project_name: xtesting
- criteria: 100
- blocking: false
- description: >-
- This test case runs the full suite of scenarios of the
- OpenStack Rally suite using several threads and iterations.
- dependencies:
- installer: '^((?!netvirt).)*$'
- scenario: ''
- run:
- module: 'xtesting.opnfv_tests.openstack.rally.rally'
- class: 'RallyFull'
-
- -
- name: vnf
- order: 4
- ci_loop: '(daily)|(weekly)'
- description: >-
- Collection of VNF test cases.
- testcases:
- -
- case_name: cloudify_ims
- project_name: xtesting
- criteria: 80
- blocking: false
- description: >-
- This test case deploys an OpenSource vIMS solution from
- Clearwater using the Cloudify orchestrator. It also runs
- some signaling traffic.
- dependencies:
- installer: ''
- scenario: 'os-nosdn-nofeature-.*ha'
- run:
- module: 'xtesting.opnfv_tests.vnf.ims.cloudify_ims'
- class: 'CloudifyIms'
-
- -
- case_name: vyos_vrouter
- project_name: xtesting
- criteria: 100
- blocking: false
- description: >-
- This test case is vRouter testing.
- dependencies:
- installer: ''
- scenario: 'os-nosdn-nofeature-.*ha'
- run:
- module: 'xtesting.opnfv_tests.vnf.router.cloudify_vrouter'
- class: 'CloudifyVrouter'
-
- -
- case_name: orchestra_openims
- project_name: orchestra
- enabled: false
- criteria: 100
- blocking: false
- description: >-
- OpenIMS VNF deployment with Open Baton (Orchestra)
- dependencies:
- installer: ''
- scenario: 'os-nosdn-nofeature-.*ha'
- run:
- module: 'xtesting.opnfv_tests.vnf.ims.orchestra_openims'
- class: 'OpenImsVnf'
-
- -
- case_name: orchestra_clearwaterims
- project_name: orchestra
- enabled: false
- criteria: 100
- blocking: false
- description: >-
- ClearwaterIMS VNF deployment with Open Baton (Orchestra)
- dependencies:
- installer: ''
- scenario: 'os-nosdn-nofeature-.*ha'
- run:
- module:
- 'xtesting.opnfv_tests.vnf.ims.orchestra_clearwaterims'
- class: 'ClearwaterImsVnf'
-
- -
- case_name: juju_epc
- project_name: xtesting
- criteria: 100
- blocking: false
- description: >-
- vEPC validation with Juju as VNF manager and ABoT as test
- executor.
- dependencies:
- installer: ''
- scenario: 'os-nosdn-nofeature-.*ha'
- run:
- module: 'xtesting.opnfv_tests.vnf.epc.juju_epc'
- class: 'JujuEpc'
+ - /usr/lib/python2.7/site-packages/xtesting/samples/HelloWorld.txt
+ variable:
+ - 'var01:foo'
+ - 'var02:bar'
diff --git a/xtesting/samples/HelloWorld.txt b/xtesting/samples/HelloWorld.txt
new file mode 100644
index 00000000..721c452b
--- /dev/null
+++ b/xtesting/samples/HelloWorld.txt
@@ -0,0 +1,3 @@
+*** Test Cases ***
+HelloWorld
+ Log ${var01} ${var02}
diff --git a/xtesting/samples/__init__.py b/xtesting/samples/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/xtesting/samples/__init__.py
diff --git a/xtesting/samples/first.py b/xtesting/samples/first.py
new file mode 100644
index 00000000..60de3dc6
--- /dev/null
+++ b/xtesting/samples/first.py
@@ -0,0 +1,24 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2016 Orange and others.
+#
+# 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
+
+# pylint: disable=missing-docstring
+
+import time
+
+from xtesting.core import testcase
+
+
+class Test(testcase.TestCase):
+
+ def run(self, **kwargs):
+ self.start_time = time.time()
+ print "Hello World"
+ self.result = 100
+ self.stop_time = time.time()
+ return testcase.TestCase.EX_OK
diff --git a/xtesting/samples/fourth.py b/xtesting/samples/fourth.py
new file mode 100644
index 00000000..be104fda
--- /dev/null
+++ b/xtesting/samples/fourth.py
@@ -0,0 +1,19 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2016 Orange and others.
+#
+# 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
+
+# pylint: disable=missing-docstring
+
+import unittest
+
+
+class TestStringMethods(unittest.TestCase):
+
+ def test_upper(self):
+ self.assertEqual('Hello World'.upper(),
+ 'HELLO WORLD')
diff --git a/xtesting/samples/second.py b/xtesting/samples/second.py
new file mode 100644
index 00000000..36e1dd33
--- /dev/null
+++ b/xtesting/samples/second.py
@@ -0,0 +1,19 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2016 Orange and others.
+#
+# 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
+
+# pylint: disable=missing-docstring
+
+from xtesting.core import feature
+
+
+class Test(feature.Feature):
+
+ def execute(self, **kwargs):
+ print "Hello World"
+ return 0
diff --git a/xtesting/samples/testcases.yaml b/xtesting/samples/testcases.yaml
new file mode 100644
index 00000000..86b0d279
--- /dev/null
+++ b/xtesting/samples/testcases.yaml
@@ -0,0 +1,66 @@
+tiers:
+ -
+ name: samples
+ order: 1
+ ci_loop: 'daily'
+ description : ''
+ testcases:
+ -
+ case_name: first
+ project_name: xtesting
+ criteria: 100
+ blocking: true
+ clean_flag: false
+ description: ''
+ dependencies:
+ installer: ''
+ scenario: ''
+ run:
+ module: 'first'
+ class: 'Test'
+
+ -
+ case_name: second
+ project_name: xtesting
+ criteria: 100
+ blocking: true
+ clean_flag: false
+ description: ''
+ dependencies:
+ installer: ''
+ scenario: ''
+ run:
+ module: 'second'
+ class: 'Test'
+
+ -
+ case_name: third
+ project_name: xtesting
+ criteria: 100
+ blocking: true
+ clean_flag: false
+ description: ''
+ dependencies:
+ installer: ''
+ scenario: ''
+ run:
+ module: 'xtesting.core.feature'
+ class: 'BashFeature'
+ args:
+ cmd: 'echo -n Hello World; exit 0'
+
+ -
+ case_name: fourth
+ project_name: xtesting
+ criteria: 100
+ blocking: true
+ clean_flag: false
+ description: ''
+ dependencies:
+ installer: ''
+ scenario: ''
+ run:
+ module: 'xtesting.core.unit'
+ class: 'Suite'
+ args:
+ name: 'fourth'