Adding bundles test for trusty requirements.

This commit is contained in:
Matt Bruzek 2014-10-28 18:02:23 -05:00
parent 31e80ef87c
commit 23aee89beb
3 changed files with 61 additions and 0 deletions

13
tests/00-setup Executable file
View File

@ -0,0 +1,13 @@
#!/bin/bash
set -ex
# Check if amulet is installed before adding repository and updating apt-get.
dpkg -s amulet
if [ $? -ne 0 ]; then
sudo add-apt-repository -y ppa:juju/stable
sudo apt-get update
sudo apt-get install -y amulet
fi
# Install any additional python packages or software here.

33
tests/10-bundles-test.py Executable file
View File

@ -0,0 +1,33 @@
#!/usr/bin/env python3
# This amulet test deploys the bundles.yaml file in this directory.
import os
import unittest
import yaml
import amulet
seconds_to_wait = 600
class BundleTest(unittest.TestCase):
""" Create a class for testing the charm in the unit test framework. """
@classmethod
def setUpClass(cls):
""" Set up an amulet deployment using the bundle. """
d = amulet.Deployment()
bundle_path = os.path.join(os.path.dirname(__file__), 'bundles.yaml')
with open(bundle_path, 'r') as bundle_file:
contents = yaml.safe_load(bundle_file)
d.load(contents)
d.setup(seconds_to_wait)
d.sentry.wait(seconds_to_wait)
cls.d = d
def test_deployed(self):
""" Test to see if the bundle deployed successfully. """
self.assertTrue(self.d.deployed)
if __name__ == '__main__':
unittest.main()

15
tests/bundles.yaml Normal file
View File

@ -0,0 +1,15 @@
hacluster-mysql:
series: trusty
services:
hacluster:
charm: hacluster
num_units: 0
mysql:
charm: cs:trusty/mysql
num_units: 2
options:
"dataset-size": 128M
vip: 192.168.21.1
relations:
- - "mysql:ha"
- "hacluster:ha"