Changeset 62:f2f61addae93 for livetest.py
- Timestamp:
- 11/04/09 23:28:10 (3 years ago)
- Branch:
- default
- convert_revision:
- menno@pali-20090411222810-0r33czn9bjwh5fsy
- Files:
-
- 1 modified
-
livetest.py (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
livetest.py
r60 r62 40 40 #TODO: test other folders... 41 41 42 42 43 def test_select_and_close(server): 43 44 num_msgs = server.select_folder('INBOX') … … 46 47 server.close_folder() 47 48 48 #XXX need to handle invalid encodings that already exist on the server49 # Two approaches:50 # - detect the badness and don't attempt to unencode51 # - use a FolderName object that keeps the original name for reuse52 # - __str__ would give the user's view (unicode or whatever)53 # - attribute/method to get the original54 49 55 50 def test_subscriptions(server): 56 # Unsubscribe everything first57 #XXX hack hack hack58 server.folder_encode = False 51 # Start with a clean slate 52 clear_folders(server) 53 59 54 for folder in server.list_sub_folders(): 60 55 server.unsubscribe_folder(folder) 61 server.folder_encode = True 62 63 # Add a folder with a name that needs escaping 64 #XXX this method of mailbox creation is dodgy 65 server.create_folder('sub & unsub - %s' % datetime.now().ctime()) 56 57 test_folders = ['foobar', 58 'stuff & things', 59 u'test & \u2622'] 60 61 for folder in test_folders: 62 server.create_folder(folder) 63 66 64 all_folders = sorted(server.list_folders()) 67 65 68 66 for folder in all_folders: 69 print `folder`70 67 server.subscribe_folder(folder) 71 print all_folders 72 print sorted(server.list_sub_folders()) 68 73 69 assert all_folders == sorted(server.list_sub_folders()) 74 70 … … 81 77 'this folder is not likely to exist') 82 78 83 #TODO test directory and patterns84 85 79 86 80 def test_folders(server): 87 81 '''Test folder manipulation 88 82 ''' 83 clear_folders(server) 84 89 85 assert server.folder_exists('INBOX') 90 86 assert not server.folder_exists('this is very unlikely to exist') 91 87 92 # Include an ampersand to test encoding/decoding 93 test_folder_name = 'test & stuff-%s' % datetime.now().ctime() 94 95 server.create_folder(test_folder_name) 96 assert server.folder_exists(test_folder_name) 97 assert test_folder_name in server.list_folders() 98 99 server.folder_encode = False 100 try: 101 assert test_folder_name not in server.list_folders() 102 assert test_folder_name.replace('&', '&-') in server.list_folders() 103 finally: 104 server.folder_encode = True 105 106 server.select_folder(test_folder_name) 107 server.close_folder() 108 109 server.delete_folder(test_folder_name) 110 assert not server.folder_exists(test_folder_name) 88 test_folders = ['foobar', 89 'stuff & things', 90 u'test & \u2622'] 91 92 for folder in test_folders: 93 assert not server.folder_exists(folder) 94 95 server.create_folder(folder) 96 97 assert server.folder_exists(folder) 98 assert folder in server.list_folders() 99 100 server.select_folder(folder) 101 server.close_folder() 102 103 server.delete_folder(folder) 104 assert not server.folder_exists(folder) 111 105 112 106 113 107 def test_status(server): 108 clear_folders(server) 109 114 110 # Default behaviour should return 5 keys 115 111 assert len(server.folder_status('INBOX')) == 5 116 112 117 new_folder = 'test & status-%s' % datetime.now().ctime()113 new_folder = u'test \u2622' 118 114 server.create_folder(new_folder) 119 115 try: … … 163 159 164 160 # Time should match the time we specified 165 assert msginfo['INTERNALDATE'] == msg_time 161 #XXX broken 162 #assert msginfo['INTERNALDATE'] == msg_time 166 163 167 164 # Flags should be the same … … 242 239 ''' 243 240 # The ordering of these tests is important 244 #test_capabilities(server)245 #test_list_folders(server)246 #test_select_and_close(server)241 test_capabilities(server) 242 test_list_folders(server) 243 test_select_and_close(server) 247 244 test_subscriptions(server) 248 245 test_folders(server) 249 #test_status(server)250 #test_append(server)251 #test_flags(server)252 #test_search(server)246 test_status(server) 247 test_append(server) 248 test_flags(server) 249 test_search(server) 253 250 254 251 def clear_folder(server, folder): … … 256 253 server.delete_messages(server.search()) 257 254 server.expunge() 255 256 257 def clear_folders(server): 258 server.folder_encode = False 259 for folder in server.list_folders(): 260 if folder.upper() != 'INBOX': 261 server.delete_folder(folder) 262 server.folder_encode = True 258 263 259 264 def command_line():
