Merge "Add tests for application credentials"
diff --git a/.zuul.yaml b/.zuul.yaml
index e4e95f2..04d60fe 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -81,6 +81,26 @@
# without Swift, c-bak cannot run (in the Gate at least)
c-bak: false
+- nodeset:
+ name: openstack-bionic-node
+ nodes:
+ - name: controller
+ label: ubuntu-bionic
+ groups:
+ - name: tempest
+ nodes:
+ - controller
+
+- job:
+ name: tempest-full-py36
+ parent: tempest-full-py3
+ nodeset: openstack-bionic-node
+ branches:
+ - master
+ description: |
+ Base integration test with Neutron networking and py36.
+ voting: false
+
- job:
name: tempest-full-queens
parent: tempest-full
@@ -198,6 +218,16 @@
- ^setup.cfg$
- ^tempest/hacking/.*$
- ^tempest/tests/.*$
+ - tempest-full-py36:
+ irrelevant-files:
+ - ^(test-|)requirements.txt$
+ - ^.*\.rst$
+ - ^doc/.*$
+ - ^etc/.*$
+ - ^releasenotes/.*$
+ - ^setup.cfg$
+ - ^tempest/hacking/.*$
+ - ^tempest/tests/.*$
- tempest-full-queens:
irrelevant-files:
- ^(test-|)requirements.txt$
diff --git a/REVIEWING.rst b/REVIEWING.rst
index 766d0c6..a880181 100644
--- a/REVIEWING.rst
+++ b/REVIEWING.rst
@@ -42,8 +42,8 @@
API Stability
-------------
-Tests should only be added for a published stable APIs. If a patch contains
-tests for an API which hasn't been marked as stable or for an API that which
+Tests should only be added for published stable APIs. If a patch contains
+tests for an API which hasn't been marked as stable or for an API which
doesn't conform to the `API stability guidelines
<https://wiki.openstack.org/wiki/Governance/Approved/APIStability>`_ then it
should not be approved.
diff --git a/tempest/tests/base.py b/tempest/tests/base.py
index ca81d4d..0b53b45 100644
--- a/tempest/tests/base.py
+++ b/tempest/tests/base.py
@@ -18,7 +18,7 @@
class TestCase(base.BaseTestCase):
- def patch(self, target, **kwargs):
+ def patch(self, target, *args, **kwargs):
"""Returns a started `mock.patch` object for the supplied target.
The caller may then call the returned patcher to create a mock object.
@@ -27,23 +27,35 @@
patcher object, as this method automatically adds a cleanup
to the test class to stop the patcher.
- :param target: String module.class or module.object expression to patch
- :param **kwargs: Passed as-is to `mock.patch`. See mock documentation
- for details.
+ :param target: string module.class or module.object expression to patch
+ :param *args: passed as-is to `mock.patch`.
+ :param **kwargs: passed as-is to `mock.patch`.
+
+ See mock documentation for more details:
+ https://docs.python.org/3.5/library/unittest.mock.html#unittest.mock.patch
"""
- p = mock.patch(target, **kwargs)
+
+ p = mock.patch(target, *args, **kwargs)
m = p.start()
self.addCleanup(p.stop)
return m
- def patchobject(self, target, attribute, new=mock.DEFAULT):
+ def patchobject(self, target, attribute, *args, **kwargs):
"""Convenient wrapper around `mock.patch.object`
Returns a started mock that will be automatically stopped after the
test ran.
+
+ :param target: object to have the attribute patched
+ :param attribute: name of the attribute to be patched
+ :param *args: passed as-is to `mock.patch.object`.
+ :param **kwargs: passed as-is to `mock.patch.object`.
+
+ See mock documentation for more details:
+ https://docs.python.org/3.5/library/unittest.mock.html#unittest.mock.patch.object
"""
- p = mock.patch.object(target, attribute, new)
+ p = mock.patch.object(target, attribute, *args, **kwargs)
m = p.start()
self.addCleanup(p.stop)
return m
diff --git a/tools/generate-tempest-plugins-list.py b/tools/generate-tempest-plugins-list.py
index dd05438..bbb9019 100644
--- a/tools/generate-tempest-plugins-list.py
+++ b/tools/generate-tempest-plugins-list.py
@@ -75,11 +75,13 @@
# json library won't choke.
projects = sorted(filter(is_in_openstack_namespace, json.loads(r.read()[4:])))
-# Retrieve projects having no deb, ui or spec namespace as those namespaces
-# do not contains tempest plugins.
-projects_list = [i for i in projects if not (i.startswith('openstack/deb-') or
- i.endswith('-ui') or
- i.endswith('-specs'))]
+# Retrieve projects having no deb, puppet, ui or spec namespace as those
+# namespaces do not contains tempest plugins.
+projects_list = [i for i in projects if not (
+ i.startswith('openstack/deb-') or
+ i.startswith('openstack/puppet-') or
+ i.endswith('-ui') or
+ i.endswith('-specs'))]
found_plugins = list(filter(has_tempest_plugin, projects_list))