Merge lp:~mbruzek/charms/precise/couchdb/tests into lp:charms/couchdb

Proposed by Matt Bruzek
Status: Merged
Merged at revision: 13
Proposed branch: lp:~mbruzek/charms/precise/couchdb/tests
Merge into: lp:charms/couchdb
Diff against target: 83 lines (+56/-2)
3 files modified
hooks/install (+2/-2)
tests/00-setup (+5/-0)
tests/99-autogen (+49/-0)
To merge this branch: bzr merge lp:~mbruzek/charms/precise/couchdb/tests
Reviewer Review Type Date Requested Status
José Antonio Rey (community) Approve
Review Queue (community) automated testing Needs Fixing
Review via email: mp+240905@code.launchpad.net

Commit message

Adding tests for this charm

To post a comment you must log in.
Revision history for this message
Cory Johns (johnsca) wrote :

The tests fail for me due to the install hook failing because the path for the open-ports command is wrong.

I submitted a MP against this branch that fixes it and with that change, the tests pass for me: https://code.launchpad.net/~johnsca/charms/precise/couchdb/fix-install/+merge/243549

Revision history for this message
Review Queue (review-queue) wrote :

This items has failed automated testing! Results available here http://reports.vapour.ws/charm-tests/charm-bundle-test-10642-results

review: Needs Fixing (automated testing)
14. By Matt Bruzek

Removing old path to open-port

Revision history for this message
José Antonio Rey (jose) wrote :

Even though the open-port error is removed, there is another error for which a bug will be filed. The tests are good, +1.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'hooks/install'
--- hooks/install 2012-02-09 22:51:46 +0000
+++ hooks/install 2014-12-12 16:45:24 +0000
@@ -4,7 +4,7 @@
44
55
6apt-get -y install python-software-properties debconf debconf-utils6apt-get -y install python-software-properties debconf debconf-utils
7apt-add-repository ppa:facter-plugins/ppa7apt-add-repository -y ppa:facter-plugins/ppa
8apt-get -y update8apt-get -y update
9apt-get install -y couchdb facter facter-customfacts-plugin uuid python-couchdb pwgen9apt-get install -y couchdb facter facter-customfacts-plugin uuid python-couchdb pwgen
1010
@@ -28,4 +28,4 @@
2828
29service couchdb status && service couchdb restart || service couchdb start29service couchdb status && service couchdb restart || service couchdb start
3030
31[ -x /usr/bin/open-port ] && open-port `facter couchdb_port`/TCP31open-port `facter couchdb_port`/TCP
3232
=== added directory 'tests'
=== added file 'tests/00-setup'
--- tests/00-setup 1970-01-01 00:00:00 +0000
+++ tests/00-setup 2014-12-12 16:45:24 +0000
@@ -0,0 +1,5 @@
1#!/bin/bash
2
3sudo add-apt-repository ppa:juju/stable -y
4sudo apt-get update
5sudo apt-get install amulet python3-requests -y
06
=== added file 'tests/99-autogen'
--- tests/99-autogen 1970-01-01 00:00:00 +0000
+++ tests/99-autogen 2014-12-12 16:45:24 +0000
@@ -0,0 +1,49 @@
1#!/usr/bin/env python3
2
3import amulet
4import requests
5import unittest
6
7
8class TestDeployment(unittest.TestCase):
9 @classmethod
10 def setUpClass(cls):
11 cls.deployment = amulet.Deployment(series='precise')
12
13 cls.deployment.add('couchdb')
14
15 try:
16 cls.deployment.setup(timeout=900)
17 cls.deployment.sentry.wait()
18 except amulet.helpers.TimeoutError:
19 amulet.raise_status(amulet.SKIP, msg="Environment wasn't stood up in time")
20 except:
21 raise
22
23 def test_case(self):
24 # Now you can use self.deployment.sentry.unit[UNIT] to address each of
25 # the units and perform more in-depth steps. You can also reference
26 # the first unit as self.unit.
27 # There are three test statuses that can be triggered with
28 # amulet.raise_status():
29 # - amulet.PASS
30 # - amulet.FAIL
31 # - amulet.SKIP
32 # Each unit has the following methods:
33 # - .info - An array of the information of that unit from Juju
34 # - .file(PATH) - Get the details of a file on that unit
35 # - .file_contents(PATH) - Get plain text output of PATH file from that unit
36 # - .directory(PATH) - Get details of directory
37 # - .directory_contents(PATH) - List files and folders in PATH on that unit
38 # - .relation(relation, service:rel) - Get relation data from return service
39 # add tests here to confirm service is up and working properly
40 # For example, to confirm that it has a functioning HTTP server:
41 # page = requests.get('http://{}'.format(self.unit.info['public-address']))
42 # page.raise_for_status()
43 # More information on writing Amulet tests can be found at:
44 # https://juju.ubuntu.com/docs/tools-amulet.html
45 pass
46
47
48if __name__ == '__main__':
49 unittest.main()

Subscribers

People subscribed via source and target branches

to all changes: