X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=tests%2Fcharms%2Flayers%2Fsimple%2Freactive%2Fsimple.py;h=6e1300ecbc9ef0dc8aad05a8ebbf3457b3fedc48;hb=ca6eb9540fb659eb36f0ec9d5bbf1ebfce3f1958;hp=228be3c3ffaf70fb4c2829d71d90204403a937ba;hpb=bf79352ca652b228c5c216564cc512b635e3c5e4;p=osm%2FN2VC.git diff --git a/tests/charms/layers/simple/reactive/simple.py b/tests/charms/layers/simple/reactive/simple.py index 228be3c..6e1300e 100644 --- a/tests/charms/layers/simple/reactive/simple.py +++ b/tests/charms/layers/simple/reactive/simple.py @@ -1,3 +1,17 @@ +# Copyright 2019 Canonical Ltd. +# +# 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. + from charmhelpers.core.hookenv import ( action_get, action_fail, @@ -11,6 +25,7 @@ from charms.reactive import ( when_not, ) import charms.sshproxy +import os @when('sshproxy.configured') @@ -31,14 +46,23 @@ def install_simple_proxy_charm(): @when('actions.touch') def touch(): + if not in_action_context(): + clear_flag('actions.touch') + return + err = '' try: filename = action_get('filename') cmd = ['touch {}'.format(filename)] result, err = charms.sshproxy._run(cmd) - except: + except Exception: action_fail('command failed:' + err) else: action_set({'output': result}) finally: clear_flag('actions.touch') + + +def in_action_context(): + """Determine whether we're running on an action context.""" + return 'JUJU_ACTION_UUID' in os.environ