Mercurial > pybugzilla
annotate test_bugzilla.py @ 22:97b3eb038314
made bzpatch.py executable
author | Atul Varma <avarma@mozilla.com> |
---|---|
date | Tue, 13 Apr 2010 22:33:53 -0700 |
parents | f6efd07c8356 |
children | 96f841399b40 |
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 |
16 | 62 class MockBugzillaApi(bugzilla.BugzillaApi): |
20
f6efd07c8356
Implemented 'bzpatch.py post'
Atul Varma <avarma@mozilla.com>
parents:
16
diff
changeset
|
63 def __init__(self, config=None): |
f6efd07c8356
Implemented 'bzpatch.py post'
Atul Varma <avarma@mozilla.com>
parents:
16
diff
changeset
|
64 if config is None: |
f6efd07c8356
Implemented 'bzpatch.py post'
Atul Varma <avarma@mozilla.com>
parents:
16
diff
changeset
|
65 config = {} |
16 | 66 bugzilla.BugzillaApi.__init__(self, |
20
f6efd07c8356
Implemented 'bzpatch.py post'
Atul Varma <avarma@mozilla.com>
parents:
16
diff
changeset
|
67 config=config, |
16 | 68 jsonreq=Mock('jsonreq'), |
69 getpass=Mock('getpass')) | |
15
798f8f33c418
added bzapi.users, bzapi.attachments, and bzapi.bugs as primary accessors of bugzilla information.
Atul Varma <avarma@mozilla.com>
parents:
11
diff
changeset
|
70 self.request = Mock('bzapi.request') |
798f8f33c418
added bzapi.users, bzapi.attachments, and bzapi.bugs as primary accessors of bugzilla information.
Atul Varma <avarma@mozilla.com>
parents:
11
diff
changeset
|
71 |
9
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
72 DOCTEST_EXTRA_GLOBS = { |
15
798f8f33c418
added bzapi.users, bzapi.attachments, and bzapi.bugs as primary accessors of bugzilla information.
Atul Varma <avarma@mozilla.com>
parents:
11
diff
changeset
|
73 'Mock': Mock, |
798f8f33c418
added bzapi.users, bzapi.attachments, and bzapi.bugs as primary accessors of bugzilla information.
Atul Varma <avarma@mozilla.com>
parents:
11
diff
changeset
|
74 'MockBugzillaApi': MockBugzillaApi |
9
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
75 } |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
76 |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
77 for globname in globals().keys(): |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
78 if globname.startswith('TEST_'): |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
79 DOCTEST_EXTRA_GLOBS[globname] = globals()[globname] |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
80 del globname |
7 | 81 |
82 class Tests(unittest.TestCase): | |
9
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
83 # TODO: Add unit tests here. |
7 | 84 pass |
85 | |
86 def get_tests_in_module(module): | |
87 tests = [] | |
88 | |
89 loader = unittest.TestLoader() | |
90 suite = loader.loadTestsFromModule(module) | |
91 for test in suite: | |
92 tests.append(test) | |
93 | |
8 | 94 optionflags = (doctest.NORMALIZE_WHITESPACE | |
95 doctest.REPORT_UDIFF) | |
7 | 96 finder = doctest.DocTestFinder() |
9
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
97 doctests = finder.find(module, extraglobs=DOCTEST_EXTRA_GLOBS) |
7 | 98 for test in doctests: |
99 if len(test.examples) > 0: | |
8 | 100 tests.append(doctest.DocTestCase(test, |
101 optionflags=optionflags)) | |
7 | 102 |
103 return tests | |
104 | |
105 def run_tests(verbosity=2): | |
9
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
106 modules = [filename[:-3] for filename in os.listdir('.') |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
107 if filename.endswith('.py') |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
108 and filename not in ['minimock.py']] |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
109 tests = [] |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
110 for modulename in modules: |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
111 module = __import__(modulename) |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
112 tests.extend(get_tests_in_module(module)) |
295c54288dd1
Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents:
8
diff
changeset
|
113 |
7 | 114 suite = unittest.TestSuite(tests) |
115 runner = unittest.TextTestRunner(verbosity=verbosity) | |
116 runner.run(suite) | |
117 | |
118 if __name__ == '__main__': | |
119 run_tests() |