diff profilemanager/tests/test.py @ 32:6f2ad307fdda

dont use any testing framework because they make testing hard
author Jeff Hammel <jhammel@mozilla.com>
date Thu, 06 May 2010 17:35:43 -0700
parents d4f0c1c4d0eb
children 5a27ad649768
line wrap: on
line diff
--- a/profilemanager/tests/test.py	Thu May 06 16:56:48 2010 -0700
+++ b/profilemanager/tests/test.py	Thu May 06 17:35:43 2010 -0700
@@ -1,20 +1,30 @@
 #!/usr/bin/env python
 
-"""
-doctest runner
-"""
+import os
+from profilemanager import ProfileManager
 
-import doctest
-import os
+# Get the path to the test profiles.ini file:
+from pkg_resources import resource_filename
+profiles_dir = os.path.join('tests', 'profiles')
+path = os.path.join(profiles_dir, 'profiles.ini')
+profiles = resource_filename('profilemanager', path)
+profiles_dir = resource_filename('profilemanager', profiles_dir)
+assert os.path.exists(profiles)
+assert os.path.exists(profiles_dir)
 
-def run_tests():
-    directory = os.path.dirname(os.path.abspath(__file__))
-    tests =  [ test for test in os.listdir(directory)
-               if test.endswith('.txt') ]
+# Instatiate a ProfileManager:
+manager = ProfileManager(profiles)
 
-    for test in tests:
-        doctest.testfile(test)
+# Remove any profiles that didn't get cleaned up:
+profiles_dict = manager.profiles_dict()
+for profile in profiles_dict:
+  manager.remove(profile)
+assert os.listdir(profiles_dir) == ['profiles.ini']
+assert file(profiles).read().strip() == '[General]'
+    
+# Create a new profile:
+profiledir = manager.new('testprofile')
+assert profiledir.endswith('.testprofile')
 
-if __name__ == '__main__':
-    run_tests()
-
+# Cleanup:
+manager.remove('testprofile')