|
import logging |
|
import os |
|
from petrel_client.common.config import Config, CONFIG_DEFAULT, Section, _value_to_str |
|
from petrel_client.common import exception |
|
|
|
import unittest |
|
import common_util |
|
from unittest import mock |
|
from petrel_client.client import Client |
|
test_dir = os.path.dirname(os.path.realpath(__file__)) |
|
|
|
|
|
class TestSection(unittest.TestCase): |
|
def setUp(self): |
|
pass |
|
|
|
def tearDown(self): |
|
pass |
|
|
|
def test_valuetoStr(self): |
|
self.assertEqual(_value_to_str(100), "100") |
|
self.assertEqual(_value_to_str(False), "False") |
|
expect = {'a': '2', 'b': '2', 'c': '3', 'd': '4'} |
|
input = dict(a=2, b=2, c=3, d=4) |
|
self.assertEqual(expect, _value_to_str(input)) |
|
|
|
def test_init(self): |
|
session = Section(CONFIG_DEFAULT) |
|
self.assertEqual(session._conf, CONFIG_DEFAULT) |
|
self.assertTrue(isinstance(session, Section)) |
|
|
|
def test_key(self): |
|
session = Section(CONFIG_DEFAULT) |
|
self.assertEqual(session['enable_mc'], 'False') |
|
|
|
def test_ConfigKeyNotFoundError(self): |
|
session = Section(CONFIG_DEFAULT) |
|
with self.assertRaises(exception.ConfigKeyNotFoundError): |
|
_ = session['empty'] |
|
|
|
def test_update(self): |
|
session = Section(CONFIG_DEFAULT) |
|
toUpdate = dict(enable_mc='True', file_log_backup_count=3) |
|
session.update(toUpdate) |
|
self.assertEqual(session['enable_mc'], 'True') |
|
self.assertEqual(session['file_log_backup_count'], '3') |
|
|
|
|
|
|
|
|
|
def test_get(self): |
|
session = Section(CONFIG_DEFAULT) |
|
self.assertEqual(session.get('enable_mc'), 'False') |
|
with self.assertRaises(exception.ConfigItemNotFoundError): |
|
_ = session.get('enable_mc1') |
|
self.assertIsNone(session.get('enable_mc1', default=None)) |
|
|
|
def test_has_option(self): |
|
session = Section(CONFIG_DEFAULT) |
|
self.assertTrue(session.has_option('enable_mc')) |
|
self.assertFalse(session.has_option('enable_mc1')) |
|
|
|
def test_get_boolean(self): |
|
session = Section(CONFIG_DEFAULT) |
|
self.assertFalse(session.get_boolean('enable_mc')) |
|
with self.assertRaises(exception.ConfigKeyTypeError): |
|
_ = session.get_boolean('endpoint_url') |
|
|
|
def test_get_int(self): |
|
session = Section(CONFIG_DEFAULT) |
|
self.assertEqual(session.get_int('file_log_backup_count'), 1) |
|
with self.assertRaises(exception.ConfigKeyTypeError): |
|
_ = session.get_int('enable_mc') |
|
|
|
def test_get_log_level(self): |
|
session = Section(CONFIG_DEFAULT) |
|
self.assertEqual(session.get_log_level('file_log_level'), |
|
logging.DEBUG) |
|
with self.assertRaises(exception.ConfigKeyTypeError): |
|
_ = session.get_log_level('enable_mc') |
|
|
|
|
|
class TestConfig(unittest.TestCase): |
|
def setUp(self): |
|
pass |
|
|
|
def tearDown(self): |
|
pass |
|
|
|
def test_init(self): |
|
with self.assertRaises(exception.ConfigFileNotFoundError): |
|
conf_path = test_dir + '/tests/conf/petreloss.conf1' |
|
self.config = Config(conf_path) |
|
|
|
with self.assertRaises(exception.ConfigSectionNotFoundError): |
|
conf_path = test_dir + '/conf/test_empty.conf' |
|
self.config = Config(conf_path) |
|
|
|
expect_session = Section(CONFIG_DEFAULT) |
|
toUpdate = dict(default_cluster='cluster1') |
|
expect_session.update(toUpdate) |
|
|
|
conf_path = test_dir + '/conf/petreloss.conf' |
|
config = Config(conf_path) |
|
default_session = config.default() |
|
self.assertTrue(default_session._conf == expect_session._conf) |
|
|
|
samll_case_conf_path = test_dir + '/conf/test_petreloss.conf' |
|
samll_case_config = Config(samll_case_conf_path) |
|
samll_case_default_session = samll_case_config.default() |
|
self.assertTrue( |
|
samll_case_default_session._conf == expect_session._conf) |
|
|
|
def test_get(self): |
|
conf_path = test_dir + '/conf/petreloss.conf' |
|
config = Config(conf_path) |
|
cluster1_session = config['cluster1'] |
|
self.assertTrue(cluster1_session.get_boolean("enable_mc")) |
|
self.assertEqual(cluster1_session.get("access_key"), 'lili1') |
|
|
|
samll_case_conf_path = test_dir + '/conf/test_petreloss.conf' |
|
samll_case_config = Config(samll_case_conf_path) |
|
cluster1_session = samll_case_config['cluster1'] |
|
|
|
self.assertEqual(cluster1_session.get("default_cluster"), 'cluster1') |
|
|
|
with self.assertRaises(exception.ConfigSectionNotFoundError): |
|
config["noncluster1"] |
|
|
|
def test_update(self): |
|
conf_path = test_dir + '/conf/petreloss.conf' |
|
config = Config(conf_path) |
|
toUpdate = dict(cluster1=dict(default_cluster='cluster3')) |
|
config.update(toUpdate) |
|
self.assertEqual(config["cluster1"].get("default_cluster"), 'cluster3') |
|
|
|
def test_items(self): |
|
conf_path = test_dir + '/conf/petreloss.conf' |
|
config = Config(conf_path) |
|
sections = config.items() |
|
self.assertEqual(len(sections), 4) |
|
|
|
if __name__ == '__main__': |
|
common_util.run_test() |
|
|