configurationengine/source/cone/public/tests/unittest_data.py
changeset 0 2e8eeb919028
child 3 e7e0ae78773e
equal deleted inserted replaced
-1:000000000000 0:2e8eeb919028
       
     1 #
       
     2 # Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 # All rights reserved.
       
     4 # This component and the accompanying materials are made available
       
     5 # under the terms of "Eclipse Public License v1.0"
       
     6 # which accompanies this distribution, and is available
       
     7 # at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 #
       
     9 # Initial Contributors:
       
    10 # Nokia Corporation - initial contribution.
       
    11 #
       
    12 # Contributors:
       
    13 #
       
    14 # Description: 
       
    15 #
       
    16 
       
    17 """
       
    18 Test the configuration
       
    19 """
       
    20 import unittest
       
    21 import string
       
    22 import sys,os
       
    23 import __init__
       
    24 
       
    25 from cone.public import api,exceptions,utils, container
       
    26 
       
    27 class TestData(unittest.TestCase):    
       
    28     # @test 
       
    29     def test_create_data(self):
       
    30         data = api.Data(fqr="foo", value=123)
       
    31         self.assertTrue(data)
       
    32         data = api.Data(fqr="foo.bar", value=123, attr='rfs')
       
    33         self.assertEquals(data.attr,'rfs')
       
    34         data = api.Data(fqr="foo.bar", value=123, attr=None)
       
    35         self.assertEquals(data.attr,'data')
       
    36         data = api.Data(fqr="foo.bar", value=123, attr='data')
       
    37         self.assertEquals(data.attr,'data')
       
    38 
       
    39     def test_create_data_with_map(self):
       
    40         data = api.Data(ref="StringToString", map="StringToStringSequenceFeature/SequenceSetting[@key='Key 1']")
       
    41         self.assertEqual(data.get_map(),"StringToStringSequenceFeature/SequenceSetting[@key='Key 1']")
       
    42         self.assertEqual(data.get_map_ref(),"StringToStringSequenceFeature/SequenceSetting")
       
    43         self.assertEqual(data.get_map_key_value(),"Key 1")
       
    44         self.assertTrue(data)
       
    45 
       
    46     def test_create_data_getters(self):
       
    47         data = api.Data(ref="foo", value=123)
       
    48         self.assertEquals(data.fqr, "foo")
       
    49         data = api.Data(fqr="foo.bar.test", value=123)
       
    50         self.assertEquals(data.get_ref(), "test")
       
    51         self.assertEquals(data.get_value(), 123)
       
    52         self.assertEquals(data.get_policy(), "")
       
    53 
       
    54     def test_create_data_for_sequences(self):
       
    55         data = api.Data(ref="seq")
       
    56         data._add(api.Data(ref="foo", value='sss'),container.APPEND)
       
    57         data._add(api.Data(ref="foo", value='aaa'),container.APPEND)
       
    58         data._add(api.Data(ref="foo", value=123),container.PREPEND)
       
    59         
       
    60         self.assertEquals(data.fqr, "seq")
       
    61         self.assertEquals(data._get('foo[0]').get_ref(), "foo")
       
    62         self.assertEquals(data._get('foo[0]').fqr, "seq.foo")
       
    63         self.assertEquals(data.foo[0].get_value(), 123)
       
    64         self.assertEquals(data.foo[0].get_index(), 0)
       
    65         self.assertEquals(data.foo[1].get_value(), 'sss')
       
    66         self.assertEquals(data.foo[1].get_index(), 1)
       
    67         self.assertEquals(data.foo[2].get_value(), 'aaa')
       
    68         self.assertEquals(data.foo[2].get_index(), 2)
       
    69         data._add(api.Data(ref="foo", value='NEW'))
       
    70         self.assertEquals(data.foo.get_value(), 'NEW')
       
    71         
       
    72     def test_create_configuration_with_data(self):
       
    73         config  = api.Configuration("dataconf")
       
    74         config.add_data(api.Data(fqr='foo.setting1',value=123))
       
    75         config.add_data(api.Data(fqr='foo.setting2',value=456))
       
    76         config.add_data(api.Data(fqr='foo.seq.data1',value='juhuu'))
       
    77         config.add_data(api.Data(fqr='foo.seq.data2',value='x:\\ss'))
       
    78         self.assertEquals(config.data.foo.setting1.get_value(), 123)
       
    79         self.assertEquals(config.data.foo.setting1.fqr, 'foo.setting1')
       
    80         self.assertEquals(config.data.foo.seq.data2.fqr, 'foo.seq.data2')
       
    81         self.assertEquals(config.data.foo.seq.data2.get_ref(), 'data2')
       
    82         self.assertEquals(config.get_data('foo.seq.data2').get_value(), 'x:\\ss')
       
    83 
       
    84     def comparedata(self,data1,data2):
       
    85         self.assertEquals(data1.ref, data1.ref)
       
    86         self.assertEquals(data1.fqr, data1.fqr)
       
    87         self.assertEquals(data1.value, data1.value)
       
    88 
       
    89     def test_clone_data(self):
       
    90         data1 = api.Data(ref="dat")
       
    91         data2 = data1._clone()
       
    92         self.comparedata(data1, data2)
       
    93 
       
    94     def test_clone_hierarchical_data(self):
       
    95         data1 = api.Data(ref="seq")
       
    96         data1._add(api.Data(ref="foo1", value='sss'))
       
    97         data1._add(api.Data(ref="foo2", value='aaa'))
       
    98         data1._add(api.Data(ref="foo3", value=123))
       
    99         
       
   100         data2 = data1._clone(recursion=True)
       
   101         self.comparedata(data1, data2)
       
   102         self.comparedata(data1.foo1, data2.foo1)
       
   103         self.comparedata(data1.foo2, data2.foo2)
       
   104         self.comparedata(data1.foo3, data2.foo3)
       
   105 
       
   106     def test_clone_sequential_data(self):
       
   107         data1 = api.Data(ref="seq")
       
   108         data1._add(api.Data(ref="foo", value='sss'),container.APPEND)
       
   109         data1._add(api.Data(ref="foo", value='aaa'),container.APPEND)
       
   110         data1._add(api.Data(ref="foo", value=123),container.APPEND)
       
   111         
       
   112         data2 = data1._clone(recursion=True)
       
   113         self.comparedata(data1, data2)
       
   114         self.comparedata(data1.foo[0], data2.foo[0])
       
   115         self.comparedata(data1.foo[1], data2.foo[1])
       
   116         self.comparedata(data1.foo[2], data2.foo[2])
       
   117 if __name__ == '__main__':
       
   118       unittest.main()
       
   119