self._list_mailbox(pattern))
return self._untagged_response(typ, dat, name)
+ def move(self, message_set, new_mailbox):
+ """Move 'message_set' messages onto end of 'new_mailbox'.
+
+ (typ, [data]) = <instance>.move(message_set, new_mailbox)
+ """
+ return self._simple_command('MOVE', self._sequence_set(message_set),
+ self._astring(new_mailbox))
+
def myrights(self, mailbox):
"""Show my ACLs for a mailbox (i.e. the rights that I have on mailbox).
(command, self.state,
', '.join(Commands[command])))
name = 'UID'
- if command == 'COPY':
+ if command in ('COPY', 'MOVE'):
message_set, new_mailbox = args
args = (self._sequence_set(message_set),
self._astring(new_mailbox))
self.assertEqual(data, [None])
self.assertEqual(server.args, ['COPY', '4827313:4828442', '"New folder"'])
+ def test_move(self):
+ client, server = self._setup(make_simple_handler('MOVE'))
+ client.login('user', 'pass')
+ client.select()
+ typ, data = client.move('2:4', 'MEETING')
+ self.assertEqual(typ, 'OK')
+ self.assertEqual(data, [b'MOVE completed'])
+ self.assertEqual(server.args, ['2:4', 'MEETING'])
+
+ typ, data = client.move('2:4', 'New folder')
+ self.assertEqual(typ, 'OK')
+ self.assertEqual(data, [b'MOVE completed'])
+ self.assertEqual(server.args, ['2:4', '"New folder"'])
+
+ def test_uid_move(self):
+ client, server = self._setup(make_simple_handler('UID',
+ completed='UID MOVE completed'))
+ client.login('user', 'pass')
+ client.select()
+ typ, data = client.uid('move', '4827313:4828442', 'MEETING')
+ self.assertEqual(typ, 'OK')
+ self.assertEqual(data, [None])
+ self.assertEqual(server.args, ['MOVE', '4827313:4828442', 'MEETING'])
+
+ typ, data = client.uid('move', '4827313:4828442', 'New folder')
+ self.assertEqual(typ, 'OK')
+ self.assertEqual(data, [None])
+ self.assertEqual(server.args, ['MOVE', '4827313:4828442', '"New folder"'])
+
def test_store(self):
client, server = self._setup(make_simple_handler('STORE', [
r'* 2 FETCH (FLAGS (\Deleted \Seen))',