annotate src/test/test_memory.py @ 1002:291eb8216f6e

plugins TEXT-COMMANDS, XEP-0045, XEP-0048, XEP-0249: - give a feedback instead of sending the message when the command is invalid or used in a wrong context - add command /join for XEP-0249
author souliane <souliane@mailoo.org>
date Wed, 30 Apr 2014 16:34:09 +0200
parents b3f383ab39da
children de415d7984f7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
1 #!/usr/bin/python
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
2 # -*- coding: utf-8 -*-
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
3
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
4 # SAT: a jabber client
811
1fe00f0c9a91 dates update
Goffi <goffi@goffi.org>
parents: 795
diff changeset
5 # Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Jérôme Poisson (goffi@goffi.org)
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
6
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
7 # This program is free software: you can redistribute it and/or modify
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
8 # it under the terms of the GNU Affero General Public License as published by
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
9 # the Free Software Foundation, either version 3 of the License, or
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
10 # (at your option) any later version.
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
11
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
12 # This program is distributed in the hope that it will be useful,
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
15 # GNU Affero General Public License for more details.
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
16
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
17 # You should have received a copy of the GNU Affero General Public License
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
18 # along with this program. If not, see <http://www.gnu.org/licenses/>.
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
19
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
20 from sat.core.i18n import _
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
21 from sat.test import helpers
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
22 from twisted.trial import unittest
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
23 import traceback
997
b3f383ab39da test: configuration/use of new logging system
Goffi <goffi@goffi.org>
parents: 915
diff changeset
24 from sat.core.log import getLogger
b3f383ab39da test: configuration/use of new logging system
Goffi <goffi@goffi.org>
parents: 915
diff changeset
25 from logging import INFO
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
26 from constants import Const
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
27 from xml.dom import minidom
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
28
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
29
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
30 class MemoryTest(unittest.TestCase):
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
31
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
32 def setUp(self):
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
33 self.host = helpers.FakeSAT()
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
34
833
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
35 def _getParamXML(self, param="1", security_level=None):
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
36 def getParam(name):
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
37 return """
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
38 <param name="%(param_name)s" label="%(param_label)s" value="true" type="bool" %(security)s/>
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
39 """ % {'param_name': name,
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
40 'param_label': _(name),
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
41 'security': '' if security_level is None else ('security="%d"' % security_level)
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
42 }
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
43 if param == "1":
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
44 params = getParam(Const.ENABLE_UNIBOX_PARAM)
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
45 elif param == "2":
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
46 params = getParam(Const.PARAM_IN_QUOTES)
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
47 else:
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
48 params = getParam(Const.ENABLE_UNIBOX_PARAM) + getParam(Const.PARAM_IN_QUOTES)
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
49 return """
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
50 <params>
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
51 <individual>
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
52 <category name="%(category_name)s" label="%(category_label)s">
833
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
53 %(params)s
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
54 </category>
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
55 </individual>
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
56 </params>
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
57 """ % {
833
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
58 'category_name': Const.COMPOSITION_KEY,
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
59 'category_label': _(Const.COMPOSITION_KEY),
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
60 'params': params
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
61 }
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
62
833
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
63 def _paramExists(self, param="1", src=None):
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
64 """@return: True is the param (category, name) exists"""
833
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
65 if param == "1":
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
66 name = Const.ENABLE_UNIBOX_PARAM
833
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
67 else:
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
68 name = Const.PARAM_IN_QUOTES
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
69 category = Const.COMPOSITION_KEY
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
70 if src is None:
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
71 src = self.host.memory.params.dom.documentElement
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
72 for type_node in src.childNodes:
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
73 # when src comes self.host.memory.params.dom, we have here
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
74 # some "individual" or "general" elements, when it comes
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
75 # from Memory.getParams we have here a "params" elements
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
76 if type_node.nodeName not in ("individual", "general", "params"):
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
77 continue
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
78 for cat_node in type_node.childNodes:
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
79 if cat_node.nodeName != "category" or cat_node.getAttribute("name") != category:
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
80 continue
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
81 for param in cat_node.childNodes:
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
82 if param.nodeName == "param" and param.getAttribute("name") == name:
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
83 return True
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
84 return False
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
85
833
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
86 def assertParam_generic(self, param="1", src=None, exists=True, deferred=False):
789
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
87 msg = "Expected parameter not found!\n" if exists else "Unexpected parameter found!\n"
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
88 if deferred == False:
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
89 # in this stack we can see the line where the error came from,
789
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
90 # if limit=5, 6 is not enough you can increase the value
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
91 msg += "\n".join(traceback.format_stack(limit=5 if exists else 6))
833
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
92 assertion = self._paramExists(param, src)
789
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
93 getattr(self, "assert%s" % exists)(assertion, msg)
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
94
833
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
95 def assertParamExists(self, param="1", src=None):
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
96 self.assertParam_generic(param, src, True)
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
97
833
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
98 def assertParamNotExists(self, param="1", src=None):
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
99 self.assertParam_generic(param, src, False)
789
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
100
833
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
101 def assertParamExists_async(self, src, param="1"):
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
102 """@param src: a deferred result from Memory.getParams"""
833
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
103 self.assertParam_generic(param, minidom.parseString(src.encode("utf-8")), True, True)
789
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
104
833
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
105 def assertParamNotExists_async(self, src, param="1"):
789
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
106 """@param src: a deferred result from Memory.getParams"""
833
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
107 self.assertParam_generic(param, minidom.parseString(src.encode("utf-8")), False, True)
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
108
786
c3acc1298a2f test: FakeMemory inherits from Memory + more helpers basic support + cleaning
souliane <souliane@mailoo.org>
parents: 782
diff changeset
109 def _getParams(self, security_limit, app='', profile_key='@NONE@'):
c3acc1298a2f test: FakeMemory inherits from Memory + more helpers basic support + cleaning
souliane <souliane@mailoo.org>
parents: 782
diff changeset
110 if profile_key == '@NONE@':
c3acc1298a2f test: FakeMemory inherits from Memory + more helpers basic support + cleaning
souliane <souliane@mailoo.org>
parents: 782
diff changeset
111 profile_key = '@DEFAULT@'
c3acc1298a2f test: FakeMemory inherits from Memory + more helpers basic support + cleaning
souliane <souliane@mailoo.org>
parents: 782
diff changeset
112 return self.host.memory.getParams(security_limit, app, profile_key)
c3acc1298a2f test: FakeMemory inherits from Memory + more helpers basic support + cleaning
souliane <souliane@mailoo.org>
parents: 782
diff changeset
113
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
114 def test_updateParams(self):
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
115 self.host.memory.init()
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
116 # check if the update works
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
117 self.host.memory.updateParams(self._getParamXML())
789
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
118 self.assertParamExists()
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
119 previous = self.host.memory.params.dom.cloneNode(True)
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
120 # now check if it is really updated and not duplicated
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
121 self.host.memory.updateParams(self._getParamXML())
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
122 self.assertEqual(previous.toxml().encode("utf-8"), self.host.memory.params.dom.toxml().encode("utf-8"))
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
123
833
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
124 self.host.memory.init()
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
125 # check successive updates (without intersection)
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
126 self.host.memory.updateParams(self._getParamXML('1'))
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
127 self.assertParamExists("1")
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
128 self.assertParamNotExists("2")
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
129 self.host.memory.updateParams(self._getParamXML('2'))
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
130 self.assertParamExists("1")
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
131 self.assertParamExists("2")
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
132
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
133 previous = self.host.memory.params.dom.cloneNode(True) # save for later
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
134
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
135 self.host.memory.init()
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
136 # check successive updates (with intersection)
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
137 self.host.memory.updateParams(self._getParamXML('1'))
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
138 self.assertParamExists("1")
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
139 self.assertParamNotExists("2")
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
140 self.host.memory.updateParams(self._getParamXML('both'))
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
141 self.assertParamExists("1")
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
142 self.assertParamExists("2")
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
143
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
144 # successive updates with or without intersection should have the same result
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
145 self.assertEqual(previous.toxml().encode("utf-8"), self.host.memory.params.dom.toxml().encode("utf-8"))
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
146
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
147 def test_getParams(self):
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
148 # tests with no security level on the parameter (most secure)
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
149 params = self._getParamXML()
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
150 self.host.memory.init()
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
151 self.host.memory.updateParams(params)
789
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
152 self._getParams(Const.NO_SECURITY_LIMIT).addCallback(self.assertParamExists_async)
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
153 self._getParams(0).addCallback(self.assertParamNotExists_async)
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
154 self._getParams(1).addCallback(self.assertParamNotExists_async)
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
155 # tests with security level 0 on the parameter (not secure)
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
156 params = self._getParamXML(security_level=0)
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
157 self.host.memory.init()
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
158 self.host.memory.updateParams(params)
789
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
159 self._getParams(Const.NO_SECURITY_LIMIT).addCallback(self.assertParamExists_async)
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
160 self._getParams(0).addCallback(self.assertParamExists_async)
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
161 self._getParams(1).addCallback(self.assertParamExists_async)
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
162 # tests with security level 1 on the parameter (more secure)
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
163 params = self._getParamXML(security_level=1)
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
164 self.host.memory.init()
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
165 self.host.memory.updateParams(params)
789
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
166 self._getParams(Const.NO_SECURITY_LIMIT).addCallback(self.assertParamExists_async)
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
167 self._getParams(0).addCallback(self.assertParamNotExists_async)
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
168 self._getParams(1).addCallback(self.assertParamExists_async)
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
169
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
170 def test_paramsRegisterApp(self):
793
cb2db0d85029 test: silent info/warning that were polluting the output
souliane <souliane@mailoo.org>
parents: 789
diff changeset
171
cb2db0d85029 test: silent info/warning that were polluting the output
souliane <souliane@mailoo.org>
parents: 789
diff changeset
172 def register(*args):
997
b3f383ab39da test: configuration/use of new logging system
Goffi <goffi@goffi.org>
parents: 915
diff changeset
173 logger = getLogger()
793
cb2db0d85029 test: silent info/warning that were polluting the output
souliane <souliane@mailoo.org>
parents: 789
diff changeset
174 level = logger.getEffectiveLevel()
997
b3f383ab39da test: configuration/use of new logging system
Goffi <goffi@goffi.org>
parents: 915
diff changeset
175 logger.setLevel(INFO)
793
cb2db0d85029 test: silent info/warning that were polluting the output
souliane <souliane@mailoo.org>
parents: 789
diff changeset
176 self.host.memory.paramsRegisterApp(*args)
cb2db0d85029 test: silent info/warning that were polluting the output
souliane <souliane@mailoo.org>
parents: 789
diff changeset
177 logger.setLevel(level)
cb2db0d85029 test: silent info/warning that were polluting the output
souliane <souliane@mailoo.org>
parents: 789
diff changeset
178
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
179 # tests with no security level on the parameter (most secure)
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
180 params = self._getParamXML()
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
181 self.host.memory.init()
793
cb2db0d85029 test: silent info/warning that were polluting the output
souliane <souliane@mailoo.org>
parents: 789
diff changeset
182 register(params, Const.NO_SECURITY_LIMIT, Const.APP_NAME)
789
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
183 self.assertParamExists()
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
184 self.host.memory.init()
793
cb2db0d85029 test: silent info/warning that were polluting the output
souliane <souliane@mailoo.org>
parents: 789
diff changeset
185 register(params, 0, Const.APP_NAME)
789
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
186 self.assertParamNotExists()
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
187 self.host.memory.init()
793
cb2db0d85029 test: silent info/warning that were polluting the output
souliane <souliane@mailoo.org>
parents: 789
diff changeset
188 register(params, 1, Const.APP_NAME)
789
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
189 self.assertParamNotExists()
833
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
190
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
191 # tests with security level 0 on the parameter (not secure)
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
192 params = self._getParamXML(security_level=0)
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
193 self.host.memory.init()
793
cb2db0d85029 test: silent info/warning that were polluting the output
souliane <souliane@mailoo.org>
parents: 789
diff changeset
194 register(params, Const.NO_SECURITY_LIMIT, Const.APP_NAME)
789
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
195 self.assertParamExists()
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
196 self.host.memory.init()
793
cb2db0d85029 test: silent info/warning that were polluting the output
souliane <souliane@mailoo.org>
parents: 789
diff changeset
197 register(params, 0, Const.APP_NAME)
789
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
198 self.assertParamExists()
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
199 self.host.memory.init()
793
cb2db0d85029 test: silent info/warning that were polluting the output
souliane <souliane@mailoo.org>
parents: 789
diff changeset
200 register(params, 1, Const.APP_NAME)
789
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
201 self.assertParamExists()
833
9bac2fc74968 memory: bug fix to not register twice frontends parameters + added some tests for param update
souliane <souliane@mailoo.org>
parents: 811
diff changeset
202
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
203 # tests with security level 1 on the parameter (more secure)
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
204 params = self._getParamXML(security_level=1)
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
205 self.host.memory.init()
793
cb2db0d85029 test: silent info/warning that were polluting the output
souliane <souliane@mailoo.org>
parents: 789
diff changeset
206 register(params, Const.NO_SECURITY_LIMIT, Const.APP_NAME)
789
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
207 self.assertParamExists()
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
208 self.host.memory.init()
793
cb2db0d85029 test: silent info/warning that were polluting the output
souliane <souliane@mailoo.org>
parents: 789
diff changeset
209 register(params, 0, Const.APP_NAME)
789
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
210 self.assertParamNotExists()
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
211 self.host.memory.init()
793
cb2db0d85029 test: silent info/warning that were polluting the output
souliane <souliane@mailoo.org>
parents: 789
diff changeset
212 register(params, 1, Const.APP_NAME)
789
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
213 self.assertParamExists()
782
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
214
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
215 def test_paramsRegisterApp_getParams(self):
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
216 # test retrieving the parameter for a specific frontend
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
217 self.host.memory.init()
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
218 params = self._getParamXML(security_level=1)
0e5807193721 test: added some tests for Memory
souliane <souliane@mailoo.org>
parents:
diff changeset
219 self.host.memory.paramsRegisterApp(params, 1, Const.APP_NAME)
789
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
220 self._getParams(1, '').addCallback(self.assertParamExists_async)
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
221 self._getParams(1, Const.APP_NAME).addCallback(self.assertParamExists_async)
0cb423500fbb test: use the SatTestCase methods instead of builtin "assert" in tests for memory, plugin xep-0033
souliane <souliane@mailoo.org>
parents: 786
diff changeset
222 self._getParams(1, 'another_dummy_frontend').addCallback(self.assertParamNotExists_async)