~ibmcharmers/charms/trusty/layer-ibm-wxs-container/devel

« back to all changes in this revision

Viewing changes to tests/01-deploy.py

  • Committer: anitanayak at ibm
  • Date: 2017-03-13 07:13:16 UTC
  • Revision ID: anitanayak@in.ibm.com-20170313071316-fpdhvfvejewbur4o
check-in for trusty layer-ibm-wxs-container after updated for new version

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#!/usr/bin/env python3
2
2
 
 
3
 
3
4
import amulet
4
5
import re
5
6
import unittest
6
7
 
 
8
seconds_to_wait = 20000
 
9
 
7
10
 
8
11
class TestDeploy(unittest.TestCase):
9
12
    """
10
 
    Deployment test for the IBM WXS Container charm.
11
 
 
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
14
14
    """
15
15
    def setUp(self):
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')
20
23
 
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
24
27
        # successful.
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})
 
36
 
 
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"
 
43
                                                     " | grep "
 
44
                                                     "catalog"
 
45
                                                     "ServiceEndPoints")
 
46
        print('Output of grep is %s' % output)
 
47
 
 
48
        if result_code != 0:
 
49
            message = ('catalog server is not running')
 
50
            amulet.raise_status(amulet.FAIL, msg=message)
 
51
 
 
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"
 
57
                                                   " | grep "
 
58
                                                   "catalog"
 
59
                                                   "ServiceEndPoints")
 
60
        print('Output of grep is %s' % output)
 
61
 
 
62
        if result_code != 0:
 
63
            message = ('catalog server is not running')
 
64
            amulet.raise_status(amulet.FAIL, msg=message)
 
65
 
27
66
 
28
67
if __name__ == '__main__':
29
68
    unittest.main()