summaryrefslogtreecommitdiff
path: root/tempest_lib/decorators.py
diff options
context:
space:
mode:
authorGhanshyam Mann <gmann@ghanshyammann.com>2022-04-05 17:38:00 -0500
committerGhanshyam <gmann@ghanshyammann.com>2022-04-05 23:41:14 +0000
commitfc1791f8589cb8dba9d8d9ef7856be17b2bc77f3 (patch)
tree034f0b3ccd9559c3227abac0e54abbd3f4f67920 /tempest_lib/decorators.py
parent023426894a4f72d906ed6f79c55ed7152a732b44 (diff)
downloadtempest-lib-master.tar.gz
Retire tempest-lib in favor of tempest.libHEADmaster
As of the 1.0.0 release tempest-lib as a separate repository and project is deprecated. We moved all the code to tempest.lib temepst version 10. Hoping everyone is moved to tempest.lib now, We can retire the tempest-lib. We discussed the same in PTG and agreed to proceed on retirement - https://etherpad.opendev.org/p/qa-zed-ptg Needed-By: https://review.opendev.org/c/openstack/governance/+/836704 Change-Id: I37ceb96e084f569ea59e4849ca8770742ce17846
Diffstat (limited to 'tempest_lib/decorators.py')
-rw-r--r--tempest_lib/decorators.py80
1 files changed, 0 insertions, 80 deletions
diff --git a/tempest_lib/decorators.py b/tempest_lib/decorators.py
deleted file mode 100644
index e78e624..0000000
--- a/tempest_lib/decorators.py
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 2015 Hewlett-Packard Development Company, L.P.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-import functools
-import uuid
-
-import six
-import testtools
-
-
-def skip_because(*args, **kwargs):
- """A decorator useful to skip tests hitting known bugs
-
- @param bug: bug number causing the test to skip
- @param condition: optional condition to be True for the skip to have place
- """
- def decorator(f):
- @functools.wraps(f)
- def wrapper(self, *func_args, **func_kwargs):
- skip = False
- if "condition" in kwargs:
- if kwargs["condition"] is True:
- skip = True
- else:
- skip = True
- if "bug" in kwargs and skip is True:
- if not kwargs['bug'].isdigit():
- raise ValueError('bug must be a valid bug number')
- msg = "Skipped until Bug: %s is resolved." % kwargs["bug"]
- raise testtools.TestCase.skipException(msg)
- return f(self, *func_args, **func_kwargs)
- return wrapper
- return decorator
-
-
-def idempotent_id(id):
- """Stub for metadata decorator"""
- if not isinstance(id, six.string_types):
- raise TypeError('Test idempotent_id must be string not %s'
- '' % type(id).__name__)
- uuid.UUID(id)
-
- def decorator(f):
- f = testtools.testcase.attr('id-%s' % id)(f)
- if f.__doc__:
- f.__doc__ = 'Test idempotent id: %s\n%s' % (id, f.__doc__)
- else:
- f.__doc__ = 'Test idempotent id: %s' % id
- return f
- return decorator
-
-
-class skip_unless_attr(object):
- """Decorator to skip tests if a specified attr does not exists or False"""
- def __init__(self, attr, msg=None):
- self.attr = attr
- self.message = msg or ("Test case attribute %s not found "
- "or False") % attr
-
- def __call__(self, func):
- def _skipper(*args, **kw):
- """Wrapped skipper function."""
- testobj = args[0]
- if not getattr(testobj, self.attr, False):
- raise testtools.TestCase.skipException(self.message)
- func(*args, **kw)
- _skipper.__name__ = func.__name__
- _skipper.__doc__ = func.__doc__
- return _skipper