|
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 |