Fix unit tests for Merger class
This commit is contained in:
parent
ca040870b3
commit
b4f4e41adc
1 changed files with 38 additions and 25 deletions
|
|
@ -1,49 +1,62 @@
|
||||||
import unittest
|
import unittest2
|
||||||
from tuned.profiles.merger import Merger
|
from tuned.profiles.merger import Merger
|
||||||
|
from tuned.profiles.profile import Profile
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
|
|
||||||
class MergerTestCase(unittest.TestCase):
|
class MergerTestCase(unittest2.TestCase):
|
||||||
def test_merge_without_replace(self):
|
def test_merge_without_replace(self):
|
||||||
merger = Merger()
|
merger = Merger()
|
||||||
config1 = OrderedDict([
|
config1 = OrderedDict([
|
||||||
("main", OrderedDict()),
|
("main", {"test_option" : "test_value1"}),
|
||||||
("net", { "devices": "em0", "custom": "option"}),
|
("net", { "devices": "em0", "custom": "custom_value"}),
|
||||||
])
|
])
|
||||||
|
profile1 = Profile('test_profile1',config1)
|
||||||
config2 = OrderedDict([
|
config2 = OrderedDict([
|
||||||
("main", OrderedDict()),
|
('main', {'test_option' : 'test_value2'}),
|
||||||
("net", { "devices": "em1" }),
|
('net', { 'devices': 'em1' }),
|
||||||
])
|
])
|
||||||
config = merger.merge([config1, config2])
|
profile2 = Profile("test_profile2",config2)
|
||||||
|
|
||||||
self.assertIn("main", config)
|
merged_profile = merger.merge([profile1, profile2])
|
||||||
self.assertIn("net", config)
|
|
||||||
self.assertEqual(config["net"]["custom"], "option")
|
self.assertEqual(merged_profile.options["test_option"],"test_value2")
|
||||||
self.assertEqual(config["net"]["devices"], "em1")
|
self.assertIn("net", merged_profile.units)
|
||||||
|
self.assertEqual(merged_profile.units["net"].options["custom"],\
|
||||||
|
"custom_value")
|
||||||
|
self.assertEqual(merged_profile.units["net"].devices, "em1")
|
||||||
|
|
||||||
def test_merge_with_replace(self):
|
def test_merge_with_replace(self):
|
||||||
merger = Merger()
|
merger = Merger()
|
||||||
config1 = OrderedDict([
|
config1 = OrderedDict([
|
||||||
("main", OrderedDict()),
|
("main", {"test_option" : "test_value1"}),
|
||||||
("net", { "devices": "em0", "custom": "option"}),
|
("net", { "devices": "em0", "custom": "option"}),
|
||||||
])
|
])
|
||||||
|
profile1 = Profile('test_profile1',config1)
|
||||||
config2 = OrderedDict([
|
config2 = OrderedDict([
|
||||||
("main", OrderedDict()),
|
("main", {"test_option" : "test_value2"}),
|
||||||
("net", { "devices": "em1", "replace": True }),
|
("net", { "devices": "em1", "replace": True }),
|
||||||
])
|
])
|
||||||
config = merger.merge([config1, config2])
|
profile2 = Profile('test_profile2',config2)
|
||||||
|
merged_profile = merger.merge([profile1, profile2])
|
||||||
|
|
||||||
self.assertIn("main", config)
|
self.assertEqual(merged_profile.options["test_option"],"test_value2")
|
||||||
self.assertIn("net", config)
|
self.assertIn("net", merged_profile.units)
|
||||||
self.assertNotIn("custom", config["net"])
|
self.assertNotIn("custom", merged_profile.units["net"].options)
|
||||||
self.assertEqual(config["net"]["devices"], "em1")
|
self.assertEqual(merged_profile.units["net"].devices, "em1")
|
||||||
|
|
||||||
def test_merge_multiple_order(self):
|
def test_merge_multiple_order(self):
|
||||||
merger = Merger()
|
merger = Merger()
|
||||||
config1 = OrderedDict([ ("main", OrderedDict()), ("net", { "devices": "em0" }) ])
|
config1 = OrderedDict([ ("main", {"test_option" : "test_value1"}),\
|
||||||
config2 = OrderedDict([ ("main", OrderedDict()), ("net", { "devices": "em1" }) ])
|
("net", { "devices": "em0" }) ])
|
||||||
config3 = OrderedDict([ ("main", OrderedDict()), ("net", { "devices": "em2" }) ])
|
profile1 = Profile('test_profile1',config1)
|
||||||
config = merger.merge([config1, config2, config3])
|
config2 = OrderedDict([ ("main", {"test_option" : "test_value2"}),\
|
||||||
|
("net", { "devices": "em1" }) ])
|
||||||
|
profile2 = Profile('test_profile2',config2)
|
||||||
|
config3 = OrderedDict([ ("main", {"test_option" : "test_value3"}),\
|
||||||
|
("net", { "devices": "em2" }) ])
|
||||||
|
profile3 = Profile('test_profile3',config3)
|
||||||
|
merged_profile = merger.merge([profile1, profile2, profile3])
|
||||||
|
|
||||||
self.assertIn("main", config)
|
self.assertEqual(merged_profile.options["test_option"],"test_value3")
|
||||||
self.assertIn("net", config)
|
self.assertIn("net", merged_profile.units)
|
||||||
self.assertEqual(config["net"]["devices"], "em2")
|
self.assertEqual(merged_profile.units["net"].devices, "em2")
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue