Changeset 150:2f7237d9c537 for wokkel/test
- Timestamp:
- Aug 15, 2011, 9:35:16 AM (11 years ago)
- Branch:
- wokkel-muc-client-support-24
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
wokkel/test/test_muc.py
r148 r150 378 378 self.assertTrue(banned, 'Did not ban user') 379 379 380 d = self.protocol.ban(self. occupantJID, banned, reason='Spam',380 d = self.protocol.ban(self.roomJID, banned, reason='Spam', 381 381 sender=self.userJID) 382 382 d.addCallback(cb) … … 405 405 self.assertTrue(kicked, 'Did not kick user') 406 406 407 d = self.protocol.kick(self. occupantJID, nick, reason='Spam',407 d = self.protocol.kick(self.roomJID, nick, reason='Spam', 408 408 sender=self.userJID) 409 409 d.addCallback(cb) … … 413 413 self.assertTrue(xpath.matches( 414 414 u"/iq[@type='set' and @to='%s']/query/item" 415 "[@ affiliation='none']" % (self.roomJID,),415 "[@role='none']" % (self.roomJID,), 416 416 iq), 417 417 'Wrong kick stanza') … … 800 800 801 801 802 def test_modifyAffiliationList(self): 803 804 entities = [JID('user1@test.example.org'), 805 JID('user2@test.example.org')] 806 d = self.protocol.modifyAffiliationList(self.roomJID, entities, 807 'admin') 808 809 iq = self.stub.output[-1] 810 query = "/iq/query[@xmlns='%s']/item[@xmlns='%s']" % (muc.NS_MUC_ADMIN, 811 muc.NS_MUC_ADMIN) 812 items = xpath.queryForNodes(query, iq) 813 self.assertNotIdentical(None, items) 814 self.assertEquals(entities[0], JID(items[0].getAttribute('jid'))) 815 self.assertEquals('admin', items[0].getAttribute('affiliation')) 816 self.assertEquals(entities[1], JID(items[1].getAttribute('jid'))) 817 self.assertEquals('admin', items[1].getAttribute('affiliation')) 818 819 # Send a response to have the deferred fire. 820 response = toResponse(iq, 'result') 821 self.stub.send(response) 822 return d 823 824 802 825 def test_grantVoice(self): 803 826 """ 804 Test granting voice to a user. 805 827 Granting voice sends request to set role to 'participant'. 806 828 """ 807 829 nick = 'TroubleMaker' … … 809 831 self.assertTrue(give_voice, 'Did not give voice user') 810 832 811 d = self.protocol.grantVoice(self. occupantJID, nick,833 d = self.protocol.grantVoice(self.roomJID, nick, 812 834 sender=self.userJID) 813 835 d.addCallback(cb) … … 817 839 query = (u"/iq[@type='set' and @to='%s']/query/item" 818 840 "[@role='participant']") % self.roomJID 841 self.assertTrue(xpath.matches(query, iq), 'Wrong voice stanza') 842 843 response = toResponse(iq, 'result') 844 self.stub.send(response) 845 return d 846 847 848 def test_revokeVoice(self): 849 """ 850 Revoking voice sends request to set role to 'visitor'. 851 """ 852 nick = 'TroubleMaker' 853 854 d = self.protocol.revokeVoice(self.roomJID, nick, 855 reason="Trouble maker", 856 sender=self.userJID) 857 858 iq = self.stub.output[-1] 859 860 query = (u"/iq[@type='set' and @to='%s']/query/item" 861 "[@role='visitor']") % self.roomJID 862 self.assertTrue(xpath.matches(query, iq), 'Wrong voice stanza') 863 864 response = toResponse(iq, 'result') 865 self.stub.send(response) 866 return d 867 868 869 def test_grantModerator(self): 870 """ 871 Granting moderator privileges sends request to set role to 'moderator'. 872 """ 873 nick = 'TroubleMaker' 874 875 d = self.protocol.grantModerator(self.roomJID, nick, 876 sender=self.userJID) 877 878 iq = self.stub.output[-1] 879 880 query = (u"/iq[@type='set' and @to='%s']/query/item" 881 "[@role='moderator']") % self.roomJID 819 882 self.assertTrue(xpath.matches(query, iq), 'Wrong voice stanza') 820 883 … … 863 926 864 927 def test_getMemberList(self): 865 def cb(room): 866 members = room.members 867 self.assertEquals(1, len(members)) 868 user = members[0] 869 self.assertEquals(JID(u'hag66@shakespeare.lit'), user.entity) 870 self.assertEquals(u'thirdwitch', user.nick) 871 self.assertEquals(u'participant', user.role) 872 873 self._createRoom() 928 """ 929 Retrieving the member list returns a list of L{muc.AdminItem}s 930 931 The request asks for the affiliation C{'member'}. 932 """ 933 def cb(items): 934 self.assertEquals(1, len(items)) 935 item = items[0] 936 self.assertEquals(JID(u'hag66@shakespeare.lit'), item.entity) 937 self.assertEquals(u'thirdwitch', item.nick) 938 self.assertEquals(u'member', item.affiliation) 939 874 940 d = self.protocol.getMemberList(self.roomJID) 875 941 d.addCallback(cb) 876 942 877 943 iq = self.stub.output[-1] 878 query = iq.query 879 self.assertNotIdentical(None, query) 880 self.assertEquals(NS_MUC_ADMIN, query.uri) 944 self.assertEquals('get', iq.getAttribute('type')) 945 query = "/iq/query[@xmlns='%s']/item[@xmlns='%s']" % (muc.NS_MUC_ADMIN, 946 muc.NS_MUC_ADMIN) 947 items = xpath.queryForNodes(query, iq) 948 self.assertNotIdentical(None, items) 949 self.assertEquals(1, len(items)) 950 self.assertEquals('member', items[0].getAttribute('affiliation')) 881 951 882 952 response = toResponse(iq, 'result') … … 890 960 891 961 return d 962 963 964 def test_getAdminList(self): 965 """ 966 Retrieving the admin list returns a list of L{muc.AdminItem}s 967 968 The request asks for the affiliation C{'admin'}. 969 """ 970 d = self.protocol.getAdminList(self.roomJID) 971 972 iq = self.stub.output[-1] 973 query = "/iq/query[@xmlns='%s']/item[@xmlns='%s']" % (muc.NS_MUC_ADMIN, 974 muc.NS_MUC_ADMIN) 975 items = xpath.queryForNodes(query, iq) 976 self.assertEquals('admin', items[0].getAttribute('affiliation')) 977 978 response = toResponse(iq, 'result') 979 query = response.addElement((NS_MUC_ADMIN, 'query')) 980 self.stub.send(response) 981 982 return d 983 984 985 def test_getBanList(self): 986 """ 987 Retrieving the ban list returns a list of L{muc.AdminItem}s 988 989 The request asks for the affiliation C{'outcast'}. 990 """ 991 def cb(items): 992 self.assertEquals(1, len(items)) 993 item = items[0] 994 self.assertEquals(JID(u'hag66@shakespeare.lit'), item.entity) 995 self.assertEquals(u'outcast', item.affiliation) 996 self.assertEquals(u'Trouble making', item.reason) 997 998 d = self.protocol.getBanList(self.roomJID) 999 d.addCallback(cb) 1000 1001 iq = self.stub.output[-1] 1002 query = "/iq/query[@xmlns='%s']/item[@xmlns='%s']" % (muc.NS_MUC_ADMIN, 1003 muc.NS_MUC_ADMIN) 1004 items = xpath.queryForNodes(query, iq) 1005 self.assertEquals('outcast', items[0].getAttribute('affiliation')) 1006 1007 response = toResponse(iq, 'result') 1008 query = response.addElement((NS_MUC_ADMIN, 'query')) 1009 item = query.addElement('item') 1010 item['affiliation'] ='outcast' 1011 item['jid'] = 'hag66@shakespeare.lit' 1012 item.addElement('reason', content='Trouble making') 1013 self.stub.send(response) 1014 1015 return d 1016 1017 1018 def test_getOwnerList(self): 1019 """ 1020 Retrieving the owner list returns a list of L{muc.AdminItem}s 1021 1022 The request asks for the affiliation C{'owner'}. 1023 """ 1024 d = self.protocol.getOwnerList(self.roomJID) 1025 1026 iq = self.stub.output[-1] 1027 query = "/iq/query[@xmlns='%s']/item[@xmlns='%s']" % (muc.NS_MUC_ADMIN, 1028 muc.NS_MUC_ADMIN) 1029 items = xpath.queryForNodes(query, iq) 1030 self.assertEquals('owner', items[0].getAttribute('affiliation')) 1031 1032 response = toResponse(iq, 'result') 1033 query = response.addElement((NS_MUC_ADMIN, 'query')) 1034 self.stub.send(response) 1035 1036 return d 1037 1038 1039 def test_getModeratorList(self): 1040 """ 1041 Retrieving the moderator returns a list of L{muc.AdminItem}s. 1042 1043 The request asks for the role C{'moderator'}. 1044 """ 1045 1046 def cb(items): 1047 self.assertEquals(1, len(items)) 1048 item = items[0] 1049 self.assertEquals(JID(u'hag66@shakespeare.lit'), item.entity) 1050 self.assertEquals(u'thirdwitch', item.nick) 1051 self.assertEquals(u'moderator', item.role) 1052 1053 d = self.protocol.getModeratorList(self.roomJID) 1054 d.addCallback(cb) 1055 1056 iq = self.stub.output[-1] 1057 self.assertEquals('get', iq.getAttribute('type')) 1058 query = "/iq/query[@xmlns='%s']/item[@xmlns='%s']" % (muc.NS_MUC_ADMIN, 1059 muc.NS_MUC_ADMIN) 1060 items = xpath.queryForNodes(query, iq) 1061 self.assertNotIdentical(None, items) 1062 self.assertEquals(1, len(items)) 1063 self.assertEquals('moderator', items[0].getAttribute('role')) 1064 1065 response = toResponse(iq, 'result') 1066 query = response.addElement((NS_MUC_ADMIN, 'query')) 1067 item = query.addElement('item') 1068 item['affiliation'] ='member' 1069 item['jid'] = 'hag66@shakespeare.lit' 1070 item['nick'] = 'thirdwitch' 1071 item['role'] = 'moderator' 1072 self.stub.send(response) 1073 1074 return d
Note: See TracChangeset
for help on using the changeset viewer.