1
1
#!/usr/bin/env python3
8
seconds_to_wait = 20000
8
11
class TestDeploy(unittest.TestCase):
10
Deployment test for the IBM WXS Container charm.
12
This charm doesn't do much by itself, so we expect functional
13
tests to happen in the charms that use this layer (for example, websphere).
13
Deployment test for the IBM WXS Container charm
16
16
self.d = amulet.Deployment(series='trusty')
17
self.d.add('ibm-wxs-container', 'cs:~ibmcharmers/xenial/ibm-im')
18
self.d.setup(timeout=900)
19
self.d.sentry.wait(timeout=1800)
17
self.d.add('ibm-wxs-container',
18
'cs:~ibmcharmers/trusty/ibm-wxs-container')
19
self.d.add('ibm-wxs-catalog', 'cs:~ibmcharmers/trusty/ibm-wxs-catalog')
20
self.d.setup(seconds_to_wait)
21
self.d.sentry.wait(seconds_to_wait)
22
self.d.relate('ibm-wxs-container:ibm-wxs', 'bm-wxs-catalog:ibm-wxs')
21
24
def test_deploy_with_placeholder_resource(self):
22
25
# The status message when using placeholder resources will include the
23
# string "ibm_wxs_base_installer resource". If we see that, the test is
26
# string "ibm_was_nd_installer resource". If we see that, the test is
25
sentry_re = re.compile('ibm_wxs_base_installer resource')
26
self.d.sentry.wait_for_messages({"ibm-wxs-container": sentry_re})
28
sentry_re = re.compile('ibm_im_installer resource')
29
self.d.sentry.wait_for_messages({"ibm-wxs-container": sentry_re})
30
sentry_re = re.compile('ibm_wxs_base_installer resource')
31
self.d.sentry.wait_for_messages({"ibm-wxs-container": sentry_re})
32
sentry_re = re.compile('ibm_im_installer resource')
33
self.d.sentry.wait_for_messages({"ibm-wxs-catalog": sentry_re})
34
sentry_re = re.compile('ibm_wxs_base_installer resource')
35
self.d.sentry.wait_for_messages({"ibm-wxs-catalog": sentry_re})
37
def test_ibm_wxs_container_deployed(self):
38
self.assertTrue(self.d.deployed)
39
wxs_container_unit = self.d.sentry['ibm-wxs-container'][0]
40
state_wxs_container = wxs_container_unit.info['agent-state']
41
print('IBM WXS Container is %s' % state_wxs_container)
42
output, result_code = wxs_container_unit.run("ps -ef"
46
print('Output of grep is %s' % output)
49
message = ('catalog server is not running')
50
amulet.raise_status(amulet.FAIL, msg=message)
52
def test_ibm_wxs_catalog_deployed(self):
53
wxs_catalog_unit = self.d.sentry['ibm-wxs-catalog'][0]
54
state_wxs_catalog = wxs_catalog_unit.info['agent-state']
55
print('IBM WXS Catalog Server is %s' % state_wxs_catalog)
56
output, result_code = wxs_catalog_unit.run("ps -ef"
60
print('Output of grep is %s' % output)
63
message = ('catalog server is not running')
64
amulet.raise_status(amulet.FAIL, msg=message)
28
67
if __name__ == '__main__':