blob: 72365c08a8239a34fc4e3de1ca85d6e5f882570b [file] [log] [blame]
Dominik Fleischmannca6eb952019-11-27 16:38:18 +01001# Copyright 2019 Canonical Ltd.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
Adam Israel5e08a0e2018-09-06 19:22:47 -040015from charmhelpers.core.hookenv import (
16 action_fail,
17 action_set,
18 action_get,
19 status_set,
20)
21from charms.reactive import (
22 clear_flag,
23 set_flag,
24 when,
25 when_not,
26)
27
28
29@when_not('native-ci.installed')
30def install_native_ci_charm():
31 set_flag('native-ci.installed')
32 status_set('active', 'Ready!')
33
34
35@when('actions.test', 'native-ci.installed')
36def test():
37 try:
38 result = True
39 except Exception as e:
40 action_fail('command failed: {}'.format(e))
41 else:
42 action_set({'output': result})
43 finally:
44 clear_flag('actions.test')
45
46
47@when('actions.testint', 'native-ci.installed')
48def testint():
49 try:
50 # Test the value is an int by performing a mathmatical operation on it.
51 intval = action_get('intval')
52 intval = intval + 1
53 except Exception as e:
54 action_fail('command failed: {}'.format(e))
55 else:
56 action_set({'output': intval})
57 finally:
58 clear_flag('actions.testint')
Adam Israel136186e2018-09-14 12:01:12 -040059
60
Adam Israelb2a07f52019-04-25 17:17:05 -040061# @when('db.joined')
62# def provides_db(db):
63# """Simulate providing database credentials."""
64# db.configure(
65# database="mydb",
66# user="myuser",
67# password="mypassword",
68# host="myhost",
69# slave="myslave",
70# )
Adam Israel136186e2018-09-14 12:01:12 -040071
72
Adam Israelb2a07f52019-04-25 17:17:05 -040073# @when('db.available')
74# def requires_db(db):
75# """Simulate receiving database credentials."""
76# pass