Changeset 117

Show
Ignore:
Timestamp:
10/31/07 18:04:46 (1 year ago)
Author:
David Rousselie <dax@happycoders.org>
Message:

prefill form with IMAP account get mailbox with correct folder delimiter

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/jmc/jabber/component.py

    r116 r117  
    7474            info_query = info_query.make_result_response() 
    7575            model.db_connect() 
    76             # TODO : "/" is default, "." could be 
    7776            imap_dir = "/".join(splitted_node[1:]) 
    7877            bare_from_jid = from_jid.bare() 
     
    9695                    result["name"].value = None 
    9796                    result["name"].type = "text-single" 
     97                    result["mailbox"].value = imap_dir.replace("/", _account.delimiter) 
    9898                else: 
    9999                    # create new account from scratch 
     
    102102                        IMAPAccount, 
    103103                        bare_from_jid) 
    104                 result["mailbox"].value = imap_dir 
     104                    result["mailbox"].value = imap_dir 
    105105            result.as_xml(query) 
    106106            return [info_query] 
  • src/jmc/jabber/tests/component.py

    r113 r117  
    730730        account11.xa_action = PresenceAccount.DO_NOTHING 
    731731        account11.dnd_action = PresenceAccount.DO_NOTHING 
    732         account11.offline_action = PresenceAccount.DO_NOTHING         
     732        account11.offline_action = PresenceAccount.DO_NOTHING 
    733733        account21 = MockIMAPAccount(user=User(jid="user2@test.com"), 
    734734                                    name="account21", 
     
    879879        account1.xa_action = PresenceAccount.DO_NOTHING 
    880880        account1.dnd_action = PresenceAccount.DO_NOTHING 
    881         account1.offline_action = PresenceAccount.DO_NOTHING         
     881        account1.offline_action = PresenceAccount.DO_NOTHING 
    882882        account11 = MockIMAPAccount(user=user1, 
    883883                                    name="account11", 
    884884                                    jid="account11@jcl.test.com") 
    885885        account11.maildir = "INBOX/dir1" 
     886        account11.delimiter = "/" 
    886887        account21 = MockIMAPAccount(user=User(jid="user2@test.com"), 
    887888                                    name="account21", 
     
    10081009        self.assertEquals(field.children.name, "value") 
    10091010        self.assertEquals(field.children.content, "INBOX/dir1/subdir1") 
     1011 
     1012    def test_account_get_register_imap_dir_new(self): 
     1013        model.db_connect() 
     1014        self.comp.stream = MockStream() 
     1015        self.comp.stream_class = MockStream 
     1016        user1 = User(jid="user1@test.com") 
     1017        account1 = MockIMAPAccount(user=user1, 
     1018                                   name="account1", 
     1019                                   jid="account1@jcl.test.com") 
     1020        account1.maildir = "INBOX" 
     1021        account1.password = "pass1" 
     1022        account1.port = 993 
     1023        account1.host = "host1" 
     1024        account1.login = "login1" 
     1025        account1.ssl = True 
     1026        account1.interval = 1 
     1027        account1.store_password = False 
     1028        account1.live_email_only = True 
     1029        account1.chat_action = PresenceAccount.DO_NOTHING 
     1030        account1.online_action = PresenceAccount.DO_NOTHING 
     1031        account1.away_action = PresenceAccount.DO_NOTHING 
     1032        account1.xa_action = PresenceAccount.DO_NOTHING 
     1033        account1.dnd_action = PresenceAccount.DO_NOTHING 
     1034        account1.offline_action = PresenceAccount.DO_NOTHING 
     1035        account11 = MockIMAPAccount(user=user1, 
     1036                                    name="account11", 
     1037                                    jid="account11@jcl.test.com") 
     1038        account11.maildir = "INBOX/dir1" 
     1039        account11.delimiter = "." 
     1040        account21 = MockIMAPAccount(user=User(jid="user2@test.com"), 
     1041                                    name="account21", 
     1042                                    jid="account21@jcl.test.com") 
     1043        model.db_disconnect() 
     1044        self.comp.handle_get_register(Iq(stanza_type="get", 
     1045                                         from_jid="user1@test.com", 
     1046                                         to_jid="account1@jcl.test.com/IMAP/INBOX/dir1/subdir1")) 
     1047        self.assertEquals(len(self.comp.stream.sent), 1) 
     1048        iq_sent = self.comp.stream.sent[0] 
     1049        self.assertEquals(iq_sent.get_to(), "user1@test.com") 
     1050        titles = iq_sent.xpath_eval("jir:query/jxd:x/jxd:title", 
     1051                                    {"jir" : "jabber:iq:register", 
     1052                                     "jxd" : "jabber:x:data"}) 
     1053        self.assertEquals(len(titles), 1) 
     1054        self.assertEquals(titles[0].content, 
     1055                          Lang.en.register_title) 
     1056        instructions = iq_sent.xpath_eval("jir:query/jxd:x/jxd:instructions", 
     1057                                          {"jir" : "jabber:iq:register", 
     1058                                           "jxd" : "jabber:x:data"}) 
     1059        self.assertEquals(len(instructions), 1) 
     1060        self.assertEquals(instructions[0].content, 
     1061                          Lang.en.register_instructions) 
     1062        fields = iq_sent.xpath_eval("jir:query/jxd:x/jxd:field", 
     1063                                    {"jir" : "jabber:iq:register", 
     1064                                     "jxd" : "jabber:x:data"}) 
     1065        self.assertEquals(len(fields), 16) 
     1066        field = fields[0] 
     1067        self.assertEquals(field.prop("type"), "text-single") 
     1068        self.assertEquals(field.prop("var"), "name") 
     1069        self.assertEquals(field.prop("label"), Lang.en.account_name) 
     1070        self.assertEquals(field.children.name, "required") 
     1071        self.assertEquals(field.children.next, None) 
     1072        field = fields[1] 
     1073        self.assertEquals(field.prop("type"), "list-single") 
     1074        self.assertEquals(field.prop("var"), "chat_action") 
     1075        self.assertEquals(field.prop("label"), Lang.en.field_chat_action) 
     1076        self.assertEquals(field.children.name, "value") 
     1077        self.assertEquals(field.children.content, "0") 
     1078        field = fields[2] 
     1079        self.assertEquals(field.prop("type"), "list-single") 
     1080        self.assertEquals(field.prop("var"), "online_action") 
     1081        self.assertEquals(field.prop("label"), Lang.en.field_online_action) 
     1082        self.assertEquals(field.children.name, "value") 
     1083        self.assertEquals(field.children.content, "0") 
     1084        field = fields[3] 
     1085        self.assertEquals(field.prop("type"), "list-single") 
     1086        self.assertEquals(field.prop("var"), "away_action") 
     1087        self.assertEquals(field.prop("label"), Lang.en.field_away_action) 
     1088        self.assertEquals(field.children.name, "value") 
     1089        self.assertEquals(field.children.content, "0") 
     1090        field = fields[4] 
     1091        self.assertEquals(field.prop("type"), "list-single") 
     1092        self.assertEquals(field.prop("var"), "xa_action") 
     1093        self.assertEquals(field.prop("label"), Lang.en.field_xa_action) 
     1094        self.assertEquals(field.children.name, "value") 
     1095        self.assertEquals(field.children.content, "0") 
     1096        field = fields[5] 
     1097        self.assertEquals(field.prop("type"), "list-single") 
     1098        self.assertEquals(field.prop("var"), "dnd_action") 
     1099        self.assertEquals(field.prop("label"), Lang.en.field_dnd_action) 
     1100        self.assertEquals(field.children.name, "value") 
     1101        self.assertEquals(field.children.content, "0") 
     1102        field = fields[6] 
     1103        self.assertEquals(field.prop("type"), "list-single") 
     1104        self.assertEquals(field.prop("var"), "offline_action") 
     1105        self.assertEquals(field.prop("label"), Lang.en.field_offline_action) 
     1106        self.assertEquals(field.children.name, "value") 
     1107        self.assertEquals(field.children.content, "0") 
     1108        field = fields[7] 
     1109        self.assertEquals(field.prop("type"), "text-single") 
     1110        self.assertEquals(field.prop("var"), "login") 
     1111        self.assertEquals(field.prop("label"), Lang.en.field_login) 
     1112        self.assertEquals(field.children.name, "value") 
     1113        self.assertEquals(field.children.content, "login1") 
     1114        self.assertEquals(field.children.next.name, "required") 
     1115        field = fields[8] 
     1116        self.assertEquals(field.prop("type"), "text-private") 
     1117        self.assertEquals(field.prop("var"), "password") 
     1118        self.assertEquals(field.prop("label"), Lang.en.field_password) 
     1119        self.assertEquals(field.children.name, "value") 
     1120        self.assertEquals(field.children.content, "pass1") 
     1121        field = fields[9] 
     1122        self.assertEquals(field.prop("type"), "text-single") 
     1123        self.assertEquals(field.prop("var"), "host") 
     1124        self.assertEquals(field.prop("label"), Lang.en.field_host) 
     1125        self.assertEquals(field.children.name, "value") 
     1126        self.assertEquals(field.children.content, "host1") 
     1127        self.assertEquals(field.children.next.name, "required") 
     1128        field = fields[10] 
     1129        self.assertEquals(field.prop("type"), "text-single") 
     1130        self.assertEquals(field.prop("var"), "port") 
     1131        self.assertEquals(field.prop("label"), Lang.en.field_port) 
     1132        self.assertEquals(field.children.name, "value") 
     1133        self.assertEquals(field.children.content, "993") 
     1134        field = fields[11] 
     1135        self.assertEquals(field.prop("type"), "boolean") 
     1136        self.assertEquals(field.prop("var"), "ssl") 
     1137        self.assertEquals(field.prop("label"), Lang.en.field_ssl) 
     1138        self.assertEquals(field.children.name, "value") 
     1139        self.assertEquals(field.children.content, "1") 
     1140        field = fields[12] 
     1141        self.assertEquals(field.prop("type"), "boolean") 
     1142        self.assertEquals(field.prop("var"), "store_password") 
     1143        self.assertEquals(field.prop("label"), Lang.en.field_store_password) 
     1144        self.assertEquals(field.children.name, "value") 
     1145        self.assertEquals(field.children.content, "0") 
     1146        field = fields[13] 
     1147        self.assertEquals(field.prop("type"), "boolean") 
     1148        self.assertEquals(field.prop("var"), "live_email_only") 
     1149        self.assertEquals(field.prop("label"), Lang.en.field_live_email_only) 
     1150        self.assertEquals(field.children.name, "value") 
     1151        self.assertEquals(field.children.content, "1") 
     1152        field = fields[14] 
     1153        self.assertEquals(field.prop("type"), "text-single") 
     1154        self.assertEquals(field.prop("var"), "interval") 
     1155        self.assertEquals(field.prop("label"), Lang.en.field_interval) 
     1156        self.assertEquals(field.children.name, "value") 
     1157        self.assertEquals(field.children.content, "1") 
     1158        field = fields[15] 
     1159        self.assertEquals(field.prop("type"), "text-single") 
     1160        self.assertEquals(field.prop("var"), "mailbox") 
     1161        self.assertEquals(field.prop("label"), Lang.en.field_mailbox) 
     1162        self.assertEquals(field.children.name, "value") 
     1163        self.assertEquals(field.children.content, "INBOX.dir1.subdir1") 
    10101164 
    10111165class SendMailMessageHandler_TestCase(unittest.TestCase):