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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
295c54288dd1 Added Bug and Attachment classes.
Atul Varma <avarma@mozilla.com>
parents: 8
diff changeset
1 import os
7
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
2 import doctest
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
3 import unittest
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
4
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
5 from minimock import Mock
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
6 import bugzilla
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
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
aff78060802d made MockBugzillaApi better
Atul Varma <avarma@mozilla.com>
parents: 15
diff changeset
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
aff78060802d made MockBugzillaApi better
Atul Varma <avarma@mozilla.com>
parents: 15
diff changeset
66 bugzilla.BugzillaApi.__init__(self,
20
f6efd07c8356 Implemented 'bzpatch.py post'
Atul Varma <avarma@mozilla.com>
parents: 16
diff changeset
67 config=config,
16
aff78060802d made MockBugzillaApi better
Atul Varma <avarma@mozilla.com>
parents: 15
diff changeset
68 jsonreq=Mock('jsonreq'),
aff78060802d made MockBugzillaApi better
Atul Varma <avarma@mozilla.com>
parents: 15
diff changeset
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
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
81
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
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
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
84 pass
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
85
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
86 def get_tests_in_module(module):
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
87 tests = []
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
88
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
89 loader = unittest.TestLoader()
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
90 suite = loader.loadTestsFromModule(module)
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
91 for test in suite:
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
92 tests.append(test)
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
93
8
993fc3b27263 made whitespace better
Atul Varma <avarma@mozilla.com>
parents: 7
diff changeset
94 optionflags = (doctest.NORMALIZE_WHITESPACE |
993fc3b27263 made whitespace better
Atul Varma <avarma@mozilla.com>
parents: 7
diff changeset
95 doctest.REPORT_UDIFF)
7
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
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
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
98 for test in doctests:
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
99 if len(test.examples) > 0:
8
993fc3b27263 made whitespace better
Atul Varma <avarma@mozilla.com>
parents: 7
diff changeset
100 tests.append(doctest.DocTestCase(test,
993fc3b27263 made whitespace better
Atul Varma <avarma@mozilla.com>
parents: 7
diff changeset
101 optionflags=optionflags))
7
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
102
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
103 return tests
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
104
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
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
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
114 suite = unittest.TestSuite(tests)
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
115 runner = unittest.TextTestRunner(verbosity=verbosity)
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
116 runner.run(suite)
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
117
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
118 if __name__ == '__main__':
7a04d148ead6 Added tests
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
119 run_tests()