annotate profilemanager/tests/test.py @ 43:49cc40572f46

test cloning
author Jeff Hammel <jhammel@mozilla.com>
date Thu, 06 May 2010 18:59:48 -0700
parents 30fc269a15c8
children 8eb997fd6e79
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12
a07e53273b70 adding stubs for tests
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
1 #!/usr/bin/env python
a07e53273b70 adding stubs for tests
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
2
32
6f2ad307fdda dont use any testing framework because they make testing hard
Jeff Hammel <jhammel@mozilla.com>
parents: 28
diff changeset
3 import os
6f2ad307fdda dont use any testing framework because they make testing hard
Jeff Hammel <jhammel@mozilla.com>
parents: 28
diff changeset
4 from profilemanager import ProfileManager
12
a07e53273b70 adding stubs for tests
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
5
32
6f2ad307fdda dont use any testing framework because they make testing hard
Jeff Hammel <jhammel@mozilla.com>
parents: 28
diff changeset
6 # Get the path to the test profiles.ini file:
6f2ad307fdda dont use any testing framework because they make testing hard
Jeff Hammel <jhammel@mozilla.com>
parents: 28
diff changeset
7 from pkg_resources import resource_filename
6f2ad307fdda dont use any testing framework because they make testing hard
Jeff Hammel <jhammel@mozilla.com>
parents: 28
diff changeset
8 profiles_dir = os.path.join('tests', 'profiles')
6f2ad307fdda dont use any testing framework because they make testing hard
Jeff Hammel <jhammel@mozilla.com>
parents: 28
diff changeset
9 path = os.path.join(profiles_dir, 'profiles.ini')
6f2ad307fdda dont use any testing framework because they make testing hard
Jeff Hammel <jhammel@mozilla.com>
parents: 28
diff changeset
10 profiles = resource_filename('profilemanager', path)
6f2ad307fdda dont use any testing framework because they make testing hard
Jeff Hammel <jhammel@mozilla.com>
parents: 28
diff changeset
11 profiles_dir = resource_filename('profilemanager', profiles_dir)
34
5a27ad649768 more verbose asserts
Jeff Hammel <jhammel@mozilla.com>
parents: 32
diff changeset
12 assert os.path.exists(profiles), '%s does not exist' % profiles
5a27ad649768 more verbose asserts
Jeff Hammel <jhammel@mozilla.com>
parents: 32
diff changeset
13 assert os.path.exists(profiles_dir), '%s does not exist' % profiles_dir
12
a07e53273b70 adding stubs for tests
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
14
32
6f2ad307fdda dont use any testing framework because they make testing hard
Jeff Hammel <jhammel@mozilla.com>
parents: 28
diff changeset
15 # Instatiate a ProfileManager:
6f2ad307fdda dont use any testing framework because they make testing hard
Jeff Hammel <jhammel@mozilla.com>
parents: 28
diff changeset
16 manager = ProfileManager(profiles)
12
a07e53273b70 adding stubs for tests
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
17
32
6f2ad307fdda dont use any testing framework because they make testing hard
Jeff Hammel <jhammel@mozilla.com>
parents: 28
diff changeset
18 # Remove any profiles that didn't get cleaned up:
6f2ad307fdda dont use any testing framework because they make testing hard
Jeff Hammel <jhammel@mozilla.com>
parents: 28
diff changeset
19 profiles_dict = manager.profiles_dict()
6f2ad307fdda dont use any testing framework because they make testing hard
Jeff Hammel <jhammel@mozilla.com>
parents: 28
diff changeset
20 for profile in profiles_dict:
6f2ad307fdda dont use any testing framework because they make testing hard
Jeff Hammel <jhammel@mozilla.com>
parents: 28
diff changeset
21 manager.remove(profile)
34
5a27ad649768 more verbose asserts
Jeff Hammel <jhammel@mozilla.com>
parents: 32
diff changeset
22 assert os.listdir(profiles_dir) == ['profiles.ini'], 'profiles_dir isnt empty except profiles.ini'
5a27ad649768 more verbose asserts
Jeff Hammel <jhammel@mozilla.com>
parents: 32
diff changeset
23 assert file(profiles).read().strip() == '[General]', 'profiles.ini isnt nearly empty'
32
6f2ad307fdda dont use any testing framework because they make testing hard
Jeff Hammel <jhammel@mozilla.com>
parents: 28
diff changeset
24
6f2ad307fdda dont use any testing framework because they make testing hard
Jeff Hammel <jhammel@mozilla.com>
parents: 28
diff changeset
25 # Create a new profile:
6f2ad307fdda dont use any testing framework because they make testing hard
Jeff Hammel <jhammel@mozilla.com>
parents: 28
diff changeset
26 profiledir = manager.new('testprofile')
35
b9d7f5f61e23 correct syntax error
Jeff Hammel <jhammel@mozilla.com>
parents: 34
diff changeset
27 assert profiledir.endswith('.testprofile'), 'profiledir should end with testprofile, instead it is %s' % profiledir
39
30fc269a15c8 * add additional tests
Jeff Hammel <jhammel@mozilla.com>
parents: 35
diff changeset
28 assert manager.list() == ['testprofile']
12
a07e53273b70 adding stubs for tests
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
29
43
49cc40572f46 test cloning
Jeff Hammel <jhammel@mozilla.com>
parents: 39
diff changeset
30 # Clone the profile:
49cc40572f46 test cloning
Jeff Hammel <jhammel@mozilla.com>
parents: 39
diff changeset
31 manager.clone('testprofile', 'cloneprofile')
49cc40572f46 test cloning
Jeff Hammel <jhammel@mozilla.com>
parents: 39
diff changeset
32 assert sorted(manager.list()) == ['cloneprofile', 'testprofile']
49cc40572f46 test cloning
Jeff Hammel <jhammel@mozilla.com>
parents: 39
diff changeset
33
32
6f2ad307fdda dont use any testing framework because they make testing hard
Jeff Hammel <jhammel@mozilla.com>
parents: 28
diff changeset
34 # Cleanup:
6f2ad307fdda dont use any testing framework because they make testing hard
Jeff Hammel <jhammel@mozilla.com>
parents: 28
diff changeset
35 manager.remove('testprofile')
39
30fc269a15c8 * add additional tests
Jeff Hammel <jhammel@mozilla.com>
parents: 35
diff changeset
36 assert manager.list() == []