summaryrefslogtreecommitdiffstats
path: root/robotframework-onap/ONAPLibrary/VariableKeywords.py
diff options
context:
space:
mode:
Diffstat (limited to 'robotframework-onap/ONAPLibrary/VariableKeywords.py')
-rw-r--r--robotframework-onap/ONAPLibrary/VariableKeywords.py22
1 files changed, 17 insertions, 5 deletions
diff --git a/robotframework-onap/ONAPLibrary/VariableKeywords.py b/robotframework-onap/ONAPLibrary/VariableKeywords.py
index 6338aa2..81dcb9f 100644
--- a/robotframework-onap/ONAPLibrary/VariableKeywords.py
+++ b/robotframework-onap/ONAPLibrary/VariableKeywords.py
@@ -12,8 +12,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-from robot.libraries.BuiltIn import BuiltIn
+from robot.libraries.BuiltIn import BuiltIn, RobotNotRunningError
from robot.api.deco import keyword
+import os
class VariableKeywords(object):
@@ -25,18 +26,29 @@ class VariableKeywords(object):
@keyword
def get_globally_injected_parameters(self):
- dictionary = self.builtin.get_variables(no_decoration=True)
- return self._filter_variables_by_key_prefix(dictionary, "GLOBAL_INJECTED_")
+ return self._filter_variables_by_key_prefix(self._retrieve_robot_variables(), "GLOBAL_INJECTED_")
@keyword
def get_global_parameters(self):
- dictionary = self.builtin.get_variables(no_decoration=True)
- global_variables = self._filter_variables_by_key_prefix(dictionary, "GLOBAL_")
+ global_variables = self._filter_variables_by_key_prefix(self._retrieve_robot_variables(), "GLOBAL_")
# strip out global injected (get those above)
for key in self.get_globally_injected_parameters():
del global_variables[key]
return global_variables
+ def _retrieve_robot_variables(self):
+ """ try to get the parameters from the robot keyword, but if it is ran out of robot context,
+ allow an env to be used instead """
+ dictionary = dict()
+ try:
+ dictionary = self.builtin.get_variables(no_decoration=True)
+ except RobotNotRunningError:
+ try:
+ dictionary = os.environ['GLOBAL_ROBOT_VARIABLES']
+ except KeyError:
+ pass
+ return dictionary
+
@staticmethod
def _filter_variables_by_key_prefix(dictionary, partial):
matches = dict()