1
2 from node_builder_test import NodeBuilderTest, StupidModel
3 from elisa.core.tests.elisa_test_case import ElisaTestCase
4
5 from elisa.extern.coherence.et import parse_xml
6
7 import os
8
14
16 component_path = 'xmlmenu:activity_node_builder'
17 entry_identifiers = ['activity_node']
18
20 data = """
21 <MenuEntry type='activity_node'>
22 <Label translate-domain='elisa-base'>Services</Label>
23 <Icon>services_icon</Icon>
24 <Activity>base:service_activity</Activity>
25 </MenuEntry>
26 """
27
28 xml = parse_xml(data)
29 test_entry = xml.getroot()
30
31 def done_callback(data):
32 self.assertEquals(len(data), 1)
33 service_model = data[0]
34 self.assertEquals(service_model.theme_icon,'service_icon')
35 self.failIf(service_model.activity == self.component)
36
37 test_model = StupidModel()
38 test_model.activity = StupidActivity()
39 dfr = self.component.build_menu_entry(test_model, test_entry)
40 dfr.addCallback(done_callback)
41 return dfr
42
44 data = """
45 <MenuEntry type='activity_node'>
46 <Label translate-domain='elisa-base'>Services</Label>
47 <Icon>services_icon</Icon>
48 </MenuEntry>
49 """
50
51 xml = parse_xml(data)
52 test_entry = xml.getroot()
53
54 def done_callback(data):
55 self.assertEquals(len(data), 0)
56
57 test_model = StupidModel()
58 test_model.activity = StupidActivity()
59 dfr = self.component.build_menu_entry(test_model, test_entry)
60 dfr.addCallback(done_callback)
61 return dfr
62
64 data = """
65 <MenuEntry type='activity_node'>
66 <Label translate-domain='elisa-base'>Services</Label>
67 <Icon>services_icon</Icon>
68 <Activity>foo:bar_acitivity_that_is_missing</Activity>
69 </MenuEntry>
70 """
71
72 xml = parse_xml(data)
73 test_entry = xml.getroot()
74
75 def done_callback(data):
76 self.assertEquals(len(data), 0)
77
78 test_model = StupidModel()
79 test_model.activity = StupidActivity()
80 dfr = self.component.build_menu_entry(test_model, test_entry)
81 dfr.addCallback(done_callback)
82 return dfr
83
84
85