configurationengine/source/cone/public/tests/unittest_configuration.py
changeset 9 63964d875993
parent 5 d2c80f5cab53
equal deleted inserted replaced
8:a2e65c705db8 9:63964d875993
    17 """
    17 """
    18 Test the configuration
    18 Test the configuration
    19 """
    19 """
    20 import unittest
    20 import unittest
    21 import os
    21 import os
    22 import pickle 
    22 import pickle
    23 
    23 
    24 from cone.public import api,exceptions
    24 from cone.public import api,exceptions
    25 from cone.storage import persistentdictionary
    25 from cone.storage import persistentdictionary
    26 from testautomation.utils import remove_if_exists
    26 from testautomation.utils import remove_if_exists
    27 
    27 
    33 
    33 
    34     # @test 
    34     # @test 
    35     def test_create_configuration(self):
    35     def test_create_configuration(self):
    36         conf = api.Configuration("testmee.confml")
    36         conf = api.Configuration("testmee.confml")
    37         self.assertTrue(conf)
    37         self.assertTrue(conf)
    38 
       
    39     def test_configuration_reduce_ex(self):
       
    40         prj = api.Project(api.Storage('.'))
       
    41         conf = api.Configuration("testmee.confml")
       
    42         prj.add_configuration(conf)
       
    43         tpl = conf.__reduce_ex__(2)
       
    44         self.assertEquals(tpl[2]['_storeint'],prj)
       
    45         self.assertEquals(tpl[2]['path'],'testmee.confml')
       
    46         
       
    47     def test_configuration_pickle(self):
       
    48         remove_if_exists(os.path.join(ROOT_PATH,'temp'))
       
    49         prj = api.Project(api.Storage.open(os.path.join(ROOT_PATH,'temp'), 'w'))
       
    50         conf = api.Configuration("testmee.confml")
       
    51         prj.add_configuration(conf, True)
       
    52         prj.save()
       
    53         dfile  = open(os.path.join(ROOT_PATH,'temp/out.dat'), 'w')
       
    54         pickle.dump(conf, dfile)
       
    55         dfile.close()
       
    56         dfile  = open(os.path.join(ROOT_PATH,'temp/out.dat'))
       
    57         conf2 = pickle.load(dfile)
       
    58         self.assertEquals(conf2.path,'testmee.confml')
       
    59         self.assertEquals(conf2.name,'testmee_confml')
       
    60 
       
    61 
    38 
    62     def test_get_root_configuration(self):
    39     def test_get_root_configuration(self):
    63         conf = api.Configuration("testmee.confml")
    40         conf = api.Configuration("testmee.confml")
    64         self.assertEquals(conf.get_root_configuration(),conf)
    41         self.assertEquals(conf.get_root_configuration(),conf)
    65         conf.add_configuration(api.Configuration("foo/foo.confml")) 
    42         conf.add_configuration(api.Configuration("foo/foo.confml")) 
   795         self.assertEquals(conf.feature1.get_value(),
   772         self.assertEquals(conf.feature1.get_value(),
   796                           [['test1','test2','test3'],
   773                           [['test1','test2','test3'],
   797                            ['foo1','foo2','foo3']])
   774                            ['foo1','foo2','foo3']])
   798         self.assertEquals(conf.list_all_datas(),['feature1', 'feature1.child1', 'feature1.child2', 'feature1.child3', 'feature1', 'feature1.child1', 'feature1.child2', 'feature1.child3'])
   775         self.assertEquals(conf.list_all_datas(),['feature1', 'feature1.child1', 'feature1.child2', 'feature1.child3', 'feature1', 'feature1.child1', 'feature1.child2', 'feature1.child3'])
   799 
   776 
       
   777     def test_create_layers_add_featuresequence_and_add_data_via_features_pickle(self):
       
   778 
       
   779         conf = api.Configuration("foo/foo.confml")
       
   780         conf.add_feature(api.FeatureSequence('feature1'))
       
   781         conf.add_feature(api.Feature('child1'),'feature1')
       
   782         conf.add_feature(api.Feature('child2'),'feature1')
       
   783         conf.add_feature(api.Feature('child3'),'feature1')
       
   784 
       
   785         pickle.dumps(conf)
       
   786 
       
   787         conf.feature1.add_sequence(['foo1','foo2','foo3'])
       
   788         pickle.dumps(conf)
       
   789 
       
   790         conf.feature1.add_sequence()
       
   791         pickle.dumps(conf)
       
   792 
       
   793         conf.feature1.get_data()[1][0].set_value('test1')
       
   794         conf.feature1.get_data()[1][1].set_value('test2')
       
   795         conf.feature1.get_data()[1][2].set_value('test3')
       
   796         conf.feature1.add_sequence(['bar1','bar2','bar3'])
       
   797 
       
   798 
   800     def test_create_featuresequence_and_get_empty_data(self):
   799     def test_create_featuresequence_and_get_empty_data(self):
   801         conf = api.Configuration("foo/foo.confml")
   800         conf = api.Configuration("foo/foo.confml")
   802         conf.add_feature(api.FeatureSequence('feature1'))
   801         conf.add_feature(api.FeatureSequence('feature1'))
   803         conf.add_feature(api.Feature('child1'),'feature1')
   802         conf.add_feature(api.Feature('child1'),'feature1')
   804         conf.add_feature(api.Feature('child2'),'feature1')
   803         conf.add_feature(api.Feature('child2'),'feature1')