| | 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") |
|---|