Made packstack.installer.setup_params pep8 compliant and added unit test for this module

Change-Id: Iff9d3f52ba3bc845d7bf01816dae1b4160581a3f
This commit is contained in:
Martin Magr
2013-02-28 17:00:42 +01:00
parent efdd25cb16
commit 0fdc119fcd
6 changed files with 358 additions and 192 deletions

View File

@@ -0,0 +1,76 @@
# -*- coding: utf-8 -*-
"""
Test cases for packstack.installer.setup_params module.
"""
from unittest import TestCase
from ..test_base import PackstackTestCaseMixin
from packstack.installer.setup_params import *
class ParameterTestCase(PackstackTestCaseMixin, TestCase):
def setUp(self):
super(ParameterTestCase, self).setUp()
self.data = {
"CMD_OPTION": "mysql-host",
"USAGE": ("The IP address of the server on which to "
"install MySQL"),
"PROMPT": "Enter the IP address of the MySQL server",
"OPTION_LIST": [],
"VALIDATORS": [],
"DEFAULT_VALUE": "127.0.0.1",
"MASK_INPUT": False,
"LOOSE_VALIDATION": True,
"CONF_NAME": "CONFIG_MYSQL_HOST",
"USE_DEFAULT": False,
"NEED_CONFIRM": False,
"CONDITION": False}
def test_parameter_init(self):
"""
Test packstack.installer.setup_params.Parameter initialization
"""
param = Parameter(self.data)
for key, value in self.data.iteritems():
self.assertEqual(getattr(param, key), value)
def test_default_attribute(self):
"""
Test packstack.installer.setup_params.Parameter default value
"""
param = Parameter()
self.assertIsNone(param.PROCESSORS)
class GroupTestCase(PackstackTestCaseMixin, TestCase):
def setUp(self):
super(GroupTestCase, self).setUp()
self.attrs = {
"GROUP_NAME": "MYSQL",
"DESCRIPTION": "MySQL Config parameters",
"PRE_CONDITION": "y",
"PRE_CONDITION_MATCH": "y",
"POST_CONDITION": False,
"POST_CONDITION_MATCH": False}
self.params = [
{"CONF_NAME": "CONFIG_MYSQL_HOST", "PROMPT": "find_me"},
{"CONF_NAME": "CONFIG_MYSQL_USER"},
{"CONF_NAME": "CONFIG_MYSQL_PW"}]
def test_group_init(self):
"""Test packstack.installer.setup_params.Group initialization"""
group = Group(attributes=self.attrs, parameters=self.params)
for key, value in self.attrs.iteritems():
self.assertEqual(getattr(group, key), value)
for param in self.params:
self.assertIn(param['CONF_NAME'], group.parameters)
def test_search(self):
"""Test packstack.installer.setup_params.Group search method"""
group = Group(attributes=self.attrs, parameters=self.params)
param_list = group.search('PROMPT', 'find_me')
self.assertEqual(len(param_list), 1)
self.assertIsInstance(param_list[0], Parameter)
self.assertEqual(param_list[0].CONF_NAME, 'CONFIG_MYSQL_HOST')