~charmers/charms/precise/gitlab/trunk

« back to all changes in this revision

Viewing changes to tests/99-autogen

  • Committer: Matt Bruzek
  • Date: 2014-11-06 17:22:07 UTC
  • mto: This revision was merged to the branch mainline in revision 10.
  • Revision ID: matthew.bruzek@canonical.com-20141106172207-r3etj35gihjzbc0c
Adding tests to this charm

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env python3
 
2
 
 
3
import amulet
 
4
import requests
 
5
import unittest
 
6
 
 
7
 
 
8
class TestDeployment(unittest.TestCase):
 
9
    @classmethod
 
10
    def setUpClass(cls):
 
11
        cls.deployment = amulet.Deployment(series='precise')
 
12
 
 
13
        cls.deployment.add('gitlab')
 
14
        cls.deployment.add('mysql')
 
15
        cls.deployment.relate('gitlab:db', 'mysql:db')
 
16
        cls.deployment.expose('gitlab')
 
17
 
 
18
        try:
 
19
            cls.deployment.setup(timeout=900)
 
20
            cls.deployment.sentry.wait()
 
21
        except amulet.helpers.TimeoutError:
 
22
            amulet.raise_status(amulet.SKIP, msg="Environment wasn't stood up in time")
 
23
        except:
 
24
            raise
 
25
 
 
26
    def test_case(self):
 
27
        # Now you can use self.deployment.sentry.unit[UNIT] to address each of
 
28
        # the units and perform more in-depth steps.  You can also reference
 
29
        # the first unit as self.unit.
 
30
        # There are three test statuses that can be triggered with
 
31
        # amulet.raise_status():
 
32
        #   - amulet.PASS
 
33
        #   - amulet.FAIL
 
34
        #   - amulet.SKIP
 
35
        # Each unit has the following methods:
 
36
        #   - .info - An array of the information of that unit from Juju
 
37
        #   - .file(PATH) - Get the details of a file on that unit
 
38
        #   - .file_contents(PATH) - Get plain text output of PATH file from that unit
 
39
        #   - .directory(PATH) - Get details of directory
 
40
        #   - .directory_contents(PATH) - List files and folders in PATH on that unit
 
41
        #   - .relation(relation, service:rel) - Get relation data from return service
 
42
        #          add tests here to confirm service is up and working properly
 
43
        # For example, to confirm that it has a functioning HTTP server:
 
44
        #     page = requests.get('http://{}'.format(self.unit.info['public-address']))
 
45
        #     page.raise_for_status()
 
46
        # More information on writing Amulet tests can be found at:
 
47
        #     https://juju.ubuntu.com/docs/tools-amulet.html
 
48
        pass
 
49
 
 
50
 
 
51
if __name__ == '__main__':
 
52
    unittest.main()