26 from cone.public import api, persistence, utils |
26 from cone.public import api, persistence, utils |
27 from cone.storage import filestorage |
27 from cone.storage import filestorage |
28 from cone.confml import persistentconfml, model, confmltree |
28 from cone.confml import persistentconfml, model, confmltree |
29 from testautomation.base_testcase import BaseTestCase |
29 from testautomation.base_testcase import BaseTestCase |
30 import pickle |
30 import pickle |
|
31 |
31 |
32 |
32 ROOT_PATH = os.path.dirname(os.path.abspath(__file__)) |
33 ROOT_PATH = os.path.dirname(os.path.abspath(__file__)) |
33 |
34 |
34 ElementTree = utils.etree |
35 ElementTree = utils.etree |
35 |
36 |
1743 |
1744 |
1744 self.assert_file_contents_equal( |
1745 self.assert_file_contents_equal( |
1745 os.path.join(self.TEMP_DIR, FILE_NAME), |
1746 os.path.join(self.TEMP_DIR, FILE_NAME), |
1746 os.path.join(self.EXPECTED_DIR, 'complex_seq_with_nones.confml')) |
1747 os.path.join(self.EXPECTED_DIR, 'complex_seq_with_nones.confml')) |
1747 |
1748 |
|
1749 class TestExtensions(unittest.TestCase): |
|
1750 def test_get_reader_for_extensions(self): |
|
1751 reader = persistentconfml.get_reader_for_elem("extensions") |
|
1752 self.assertTrue(isinstance(reader, persistentconfml.ExtensionsReader)) |
|
1753 |
|
1754 def test_parse_extensions_elem(self): |
|
1755 reader = persistentconfml.get_reader_for_elem("extensions") |
|
1756 elem = ElementTree.Element('extension') |
|
1757 owner = ElementTree.Element('owner') |
|
1758 owner.text = 'Testing owner' |
|
1759 origin = ElementTree.Element('origin') |
|
1760 origin.text = 'just origin' |
|
1761 target = ElementTree.Element('target') |
|
1762 target.text = 'target hw' |
|
1763 elem.append(owner) |
|
1764 elem.append(origin) |
|
1765 elem.append(target) |
|
1766 data = reader.loads(elem) |
|
1767 exts = data._get('_extension') |
|
1768 self.assertTrue(isinstance(exts, list)) |
|
1769 self.assertEquals(exts[0].tag, 'owner') |
|
1770 self.assertEquals(exts[0].value, 'Testing owner') |
|
1771 self.assertEquals(exts[1].tag, 'origin') |
|
1772 self.assertEquals(exts[1].value, 'just origin') |
|
1773 self.assertEquals(exts[2].tag, 'target') |
|
1774 self.assertEquals(exts[2].value, 'target hw') |
|
1775 |
|
1776 def test_write_extensions_elem(self): |
|
1777 writer = persistentconfml.get_writer_for_class("ConfmlExtensions") |
|
1778 celem = model.ConfmlExtensions() |
|
1779 celem._add([model.ConfmlExtension('test', 123), |
|
1780 model.ConfmlExtension('owner', "some ownername"), |
|
1781 model.ConfmlExtension('target', "hw")]) |
|
1782 etree = writer.dumps(celem) |
|
1783 self.assertEquals(etree.find('test').text,123) |
|
1784 self.assertEquals(etree.find('owner').text,'some ownername') |
|
1785 self.assertEquals(etree.find('target').text,'hw') |
|
1786 |
1748 class TestReadWriteConfml(BaseTestCase): |
1787 class TestReadWriteConfml(BaseTestCase): |
1749 """ |
1788 """ |
1750 Test case for ensuring that reading in a ConfML file and then writing |
1789 Test case for ensuring that reading in a ConfML file and then writing |
1751 it out again results in logically the same data (XML-wise) as the |
1790 it out again results in logically the same data (XML-wise) as the |
1752 original data was. |
1791 original data was. |
1860 f = open(file_path, "rb") |
1899 f = open(file_path, "rb") |
1861 try: original_data = f.read() |
1900 try: original_data = f.read() |
1862 finally: f.close() |
1901 finally: f.close() |
1863 |
1902 |
1864 model = persistentconfml.loads(original_data) |
1903 model = persistentconfml.loads(original_data) |
|
1904 model.get_default_view()#verify that dump works also after get_default_view is called |
1865 |
1905 |
1866 PATH_ORIGINAL = os.path.join(output_dir, 'original_pickled', file_name) |
1906 PATH_ORIGINAL = os.path.join(output_dir, 'original_pickled', file_name) |
1867 PATH_DUMPED = os.path.join(output_dir, 'pickled', file_name) |
1907 PATH_DUMPED = os.path.join(output_dir, 'pickled', file_name) |
1868 |
1908 |
1869 file_dir = os.path.dirname(PATH_DUMPED) |
1909 file_dir = os.path.dirname(PATH_DUMPED) |