summaryrefslogtreecommitdiffstats
path: root/modules/opnfv/utils
diff options
context:
space:
mode:
authorMorgan Richomme <morgan.richomme@orange.com>2016-11-17 15:43:03 +0100
committerMorgan Richomme <morgan.richomme@orange.com>2016-11-21 17:31:34 +0100
commit58da374e1660c541bff60dd6c3ba6f89f6f6793d (patch)
treec4736ce7590b963185cb4f3cedda6fb8c7cae319 /modules/opnfv/utils
parent387600a6d881bfdc046772b2a3cfbfb59fd2469c (diff)
Add Exceptions and Constants in opnfv module
JIRA: FUNCTEST-497 Change-Id: I4bc0d545058c4778b632911bb317789110de29d1 Signed-off-by: Morgan Richomme <morgan.richomme@orange.com>
Diffstat (limited to 'modules/opnfv/utils')
-rw-r--r--modules/opnfv/utils/OPNFVExceptions.py126
-rw-r--r--modules/opnfv/utils/constants.py15
2 files changed, 141 insertions, 0 deletions
diff --git a/modules/opnfv/utils/OPNFVExceptions.py b/modules/opnfv/utils/OPNFVExceptions.py
new file mode 100644
index 000000000..03b3ea981
--- /dev/null
+++ b/modules/opnfv/utils/OPNFVExceptions.py
@@ -0,0 +1,126 @@
+#!/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
+#
+# This class defines Python OPNFV exceptions
+#
+
+
+class OPNFVException(Exception):
+ def __call__(self, *args):
+ return self.__class__(*(self.args + args))
+
+
+# ************************************
+# Generic
+# ************************************
+class OPNFVSUTNotReachable(OPNFVException):
+ """Target System Under Test is not reachable"""
+ pass
+
+
+class OPNFVCiExecutionError(OPNFVException):
+ """Error occurs during CI exection"""
+ pass
+
+
+class TestDashboardError(OPNFVException):
+ """Impossible to report results to dashboard"""
+ pass
+
+
+class TestReportingError(OPNFVException):
+ """Impossible to report results to reporting"""
+ pass
+
+
+# ************************************
+# Exceptions related to test DB
+# ************************************
+class TestDbNotReachable(OPNFVException):
+ """Test database is not reachable"""
+ pass
+
+
+class UnknownScenario(OPNFVException):
+ """Test scenario is unknown"""
+ pass
+
+
+class UnknownPod(OPNFVException):
+ """Test POD is unknown"""
+ pass
+
+
+class UnknownProject(OPNFVException):
+ """Project is unknown"""
+ pass
+
+
+class UnknownTestCase(OPNFVException):
+ """Test case is unknown"""
+ pass
+
+
+class UnknownVersion(OPNFVException):
+ """Version is unknown"""
+ pass
+
+
+class UnknownInstaller(OPNFVException):
+ """Installer is not supported"""
+ pass
+
+
+# *******************
+# Test project errors
+# *******************
+class FunctestExecutionError(OPNFVException):
+ """Internal Functest error"""
+ pass
+
+
+class YardstickExecutionError(OPNFVException):
+ """Internal Yardstick error"""
+ pass
+
+
+# **********************************
+# Errors related to Feature projects
+# **********************************
+class TestCaseNotRunnable(OPNFVException):
+ """test case incompatible with SUT, scenario, installer"""
+ pass
+
+
+class FeatureTestIntegrationError(OPNFVException):
+ """Impossible to integrate Feature test"""
+ pass
+
+
+class FeatureTestExecutionError(OPNFVException):
+ """Error during Feature test execution"""
+ pass
+
+
+# *********************************
+# Errors related to VNF on boarding
+# *********************************
+class VNFTestNotRunnable(OPNFVException):
+ """VNF test is not compatible with SUT, scenario, installer"""
+ pass
+
+
+class VNFIntegrationError(OPNFVException):
+ """Impossible to integrate the VNF test"""
+ pass
+
+
+class VNFExecutionError(OPNFVException):
+ """Error during VNF test execution"""
+ pass
diff --git a/modules/opnfv/utils/constants.py b/modules/opnfv/utils/constants.py
new file mode 100644
index 000000000..29f0d02c5
--- /dev/null
+++ b/modules/opnfv/utils/constants.py
@@ -0,0 +1,15 @@
+#!/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
+
+INSTALLERS = ['apex', 'fuel', 'compass', 'joid']
+VERSIONS = ['arno', 'brahmaputra', 'colorado', 'danube']
+
+EXIT_OK = 0
+EXIT_RUN_ERROR = -1
+EXIT_PUSH_TO_TEST_DB_ERROR = -2