Mercurial > pybugzilla
annotate test_bugzilla.py @ 12:d8db9b733a12
added superclass constructor for BugzillaObject
author | Atul Varma <avarma@mozilla.com> |
---|---|
date | Tue, 13 Apr 2010 17:37:33 -0700 |
parents | 29efa19d959a |
children | 798f8f33c418 |
rev | line source |
---|---|
9
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
1 import os |
7 | 2 import doctest |
3 import unittest | |
4 | |
5 from minimock import Mock | |
6 import bugzilla | |
7 | |
9
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
8 TEST_CFG_WITH_LOGIN = {'api_server': 'http://foo/latest', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
9 'username': 'bar', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
10 'password': 'baz'} |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
11 |
11
29efa19d959a
Added bzgetpatch.py and bugzilla.User class
Atul Varma <avarma@mozilla.com>
parents:
9
diff
changeset
|
12 TEST_USER = { |
29efa19d959a
Added bzgetpatch.py and bugzilla.User class
Atul Varma <avarma@mozilla.com>
parents:
9
diff
changeset
|
13 u'email': u'avarma@mozilla.com', u'real_name': u'Atul Varma [:atul]', |
29efa19d959a
Added bzgetpatch.py and bugzilla.User class
Atul Varma <avarma@mozilla.com>
parents:
9
diff
changeset
|
14 u'can_login': u'1', u'name': u'avarma@mozilla.com', |
29efa19d959a
Added bzgetpatch.py and bugzilla.User class
Atul Varma <avarma@mozilla.com>
parents:
9
diff
changeset
|
15 u'id': u'298253' |
29efa19d959a
Added bzgetpatch.py and bugzilla.User class
Atul Varma <avarma@mozilla.com>
parents:
9
diff
changeset
|
16 } |
29efa19d959a
Added bzgetpatch.py and bugzilla.User class
Atul Varma <avarma@mozilla.com>
parents:
9
diff
changeset
|
17 |
29efa19d959a
Added bzgetpatch.py and bugzilla.User class
Atul Varma <avarma@mozilla.com>
parents:
9
diff
changeset
|
18 TEST_USER_SEARCH_RESULT = { |
29efa19d959a
Added bzgetpatch.py and bugzilla.User class
Atul Varma <avarma@mozilla.com>
parents:
9
diff
changeset
|
19 u'users': [TEST_USER] |
29efa19d959a
Added bzgetpatch.py and bugzilla.User class
Atul Varma <avarma@mozilla.com>
parents:
9
diff
changeset
|
20 } |
29efa19d959a
Added bzgetpatch.py and bugzilla.User class
Atul Varma <avarma@mozilla.com>
parents:
9
diff
changeset
|
21 |
9
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
22 TEST_ATTACHMENT_WITHOUT_DATA = { |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
23 u'is_obsolete': u'0', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
24 u'description': u'test upload', u'encoding': u'base64', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
25 u'file_name': u'contents.txt', u'is_patch': u'0', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
26 u'creation_time': u'2010-04-13T18:02:00Z', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
27 u'bug_id': u'536619', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
28 u'last_change_time': u'2010-04-13T18:02:00Z', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
29 u'content_type': u'text/plain', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
30 u'attacher': {u'name': u'avarma'}, u'is_url': u'0', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
31 u'id': u'438797', u'is_private': u'0', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
32 u'size': u'8' |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
33 } |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
34 |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
35 TEST_ATTACHMENT_WITH_DATA = { |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
36 u'is_obsolete': u'0', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
37 u'description': u'test upload', u'encoding': u'base64', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
38 u'file_name': u'contents.txt', u'is_patch': u'0', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
39 u'creation_time': u'2010-04-13T18:02:00Z', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
40 u'data': u'dGVzdGluZyE=', u'bug_id': u'536619', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
41 u'last_change_time': u'2010-04-13T18:02:00Z', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
42 u'content_type': u'text/plain', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
43 u'attacher': {u'name': u'avarma'}, u'is_url': u'0', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
44 u'id': u'438797', u'is_private': u'0', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
45 u'size': u'8' |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
46 } |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
47 |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
48 TEST_BUG = { |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
49 u'attachments': |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
50 [{u'is_obsolete': u'0', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
51 u'description': u'here is a description', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
52 u'file_name': u'traceback-on-package-exception', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
53 u'is_patch': u'1', u'creation_time': u'2010-04-11T19:16:00Z', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
54 u'last_change_time': u'2010-04-11T19:16:59Z', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
55 u'bug_id': u'558680', u'content_type': u'text/plain', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
56 u'attacher': {u'name': u'asqueella'}, |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
57 u'id': u'438381', u'size': u'1320'}], |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
58 u'summary': u'Here is a summary', |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
59 u'id': u'558680' |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
60 } |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
61 |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
62 DOCTEST_EXTRA_GLOBS = { |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
63 'Mock': Mock |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
64 } |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
65 |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
66 for globname in globals().keys(): |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
67 if globname.startswith('TEST_'): |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
68 DOCTEST_EXTRA_GLOBS[globname] = globals()[globname] |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
69 del globname |
7 | 70 |
71 class Tests(unittest.TestCase): | |
9
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
72 # TODO: Add unit tests here. |
7 | 73 pass |
74 | |
75 def get_tests_in_module(module): | |
76 tests = [] | |
77 | |
78 loader = unittest.TestLoader() | |
79 suite = loader.loadTestsFromModule(module) | |
80 for test in suite: | |
81 tests.append(test) | |
82 | |
8 | 83 optionflags = (doctest.NORMALIZE_WHITESPACE | |
84 doctest.REPORT_UDIFF) | |
7 | 85 finder = doctest.DocTestFinder() |
9
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
86 doctests = finder.find(module, extraglobs=DOCTEST_EXTRA_GLOBS) |
7 | 87 for test in doctests: |
88 if len(test.examples) > 0: | |
8 | 89 tests.append(doctest.DocTestCase(test, |
90 optionflags=optionflags)) | |
7 | 91 |
92 return tests | |
93 | |
94 def run_tests(verbosity=2): | |
9
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
95 modules = [filename[:-3] for filename in os.listdir('.') |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
96 if filename.endswith('.py') |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
97 and filename not in ['minimock.py']] |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
98 tests = [] |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
99 for modulename in modules: |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
100 module = __import__(modulename) |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
101 tests.extend(get_tests_in_module(module)) |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
102 |
7 | 103 suite = unittest.TestSuite(tests) |
104 runner = unittest.TextTestRunner(verbosity=verbosity) | |
105 runner.run(suite) | |
106 | |
107 if __name__ == '__main__': | |
108 run_tests() |