Changeset 173:6b0eb01b5744 for wokkel/test/test_xmppim.py
- Timestamp:
- May 9, 2012, 2:24:28 PM (10 years ago)
- Branch:
- default
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
wokkel/test/test_xmppim.py
r172 r173 838 838 self.assertEqual(JID('this@example.org'), request.sender) 839 839 self.assertEqual(None, request.item) 840 self.assertEqual(None, request.version) 840 841 841 842 … … 855 856 self.assertNotIdentical(None, request.item) 856 857 self.assertEqual(JID('user@example.org'), request.item.entity) 858 859 860 def test_fromElementVersion(self): 861 """ 862 If a ver attribute is present, put it in the request version. 863 """ 864 xml = """ 865 <iq type='set' to='this@example.org/Home' from='this@example.org'> 866 <query xmlns='jabber:iq:roster' ver='ver72'> 867 <item jid='user@example.org'/> 868 </query> 869 </iq> 870 """ 871 request = xmppim.RosterRequest.fromElement(parseXml(xml)) 872 self.assertEqual('ver72', request.version) 873 874 875 def test_fromElementVersionEmpty(self): 876 """ 877 The ver attribute may be empty. 878 """ 879 xml = """ 880 <iq type='get' to='this@example.org/Home' from='this@example.org'> 881 <query xmlns='jabber:iq:roster' ver=''/> 882 </iq> 883 """ 884 request = xmppim.RosterRequest.fromElement(parseXml(xml)) 885 self.assertEqual('', request.version) 857 886 858 887 … … 904 933 905 934 935 def test_toElementVersion(self): 936 """ 937 If the roster version is set, a 'ver' attribute is added. 938 """ 939 request = xmppim.RosterRequest() 940 request.version = 'ver72' 941 element = request.toElement() 942 self.assertEqual('ver72', element.query.getAttribute('ver')) 943 944 945 def test_toElementVersionEmpty(self): 946 """ 947 If the roster version is the empty string, it should add 'ver', too. 948 """ 949 request = xmppim.RosterRequest() 950 request.version = '' 951 element = request.toElement() 952 self.assertEqual('', element.query.getAttribute('ver')) 953 954 906 955 907 956 class RosterClientProtocolTest(unittest.TestCase, TestableRequestHandlerMixin): … … 950 999 def cb(roster): 951 1000 self.assertIn(JID('user@example.org'), roster) 1001 self.assertIdentical(None, getattr(roster, 'version')) 952 1002 953 1003 d = self.service.getRoster() … … 960 1010 self.assertNotIdentical(None, iq.query) 961 1011 self.assertEqual(NS_ROSTER, iq.query.uri) 1012 self.assertFalse(iq.query.hasAttribute('ver')) 962 1013 963 1014 # Fake successful response … … 967 1018 item['jid'] = 'user@example.org' 968 1019 1020 d.callback(response) 1021 return d 1022 1023 1024 def test_getRosterVer(self): 1025 """ 1026 A request for the roster with version passes the version on. 1027 """ 1028 def cb(roster): 1029 self.assertEqual('ver96', getattr(roster, 'version')) 1030 1031 d = self.service.getRoster(version='ver72') 1032 d.addCallback(cb) 1033 1034 # Inspect outgoing iq request 1035 1036 iq = self.stub.output[-1] 1037 self.assertEqual('ver72', iq.query.getAttribute('ver')) 1038 1039 # Fake successful response 1040 response = toResponse(iq, 'result') 1041 query = response.addElement((NS_ROSTER, 'query')) 1042 query['ver'] = 'ver96' 1043 item = query.addElement('item') 1044 item['jid'] = 'user@example.org' 1045 1046 d.callback(response) 1047 return d 1048 1049 1050 def test_getRosterVerEmptyResult(self): 1051 """ 1052 An empty response is returned as None. 1053 """ 1054 def cb(response): 1055 self.assertIdentical(None, response) 1056 1057 d = self.service.getRoster(version='ver72') 1058 d.addCallback(cb) 1059 1060 # Inspect outgoing iq request 1061 1062 iq = self.stub.output[-1] 1063 1064 # Fake successful response 1065 response = toResponse(iq, 'result') 969 1066 d.callback(response) 970 1067 return d
Note: See TracChangeset
for help on using the changeset viewer.