comparison test/test_xmlrpc.py @ 5153:e9801faebbe4

added a couple of xmlrpc tests for untested functions/codepaths
author John Rouillard <rouilj@ieee.org>
date Wed, 20 Jul 2016 22:30:35 -0400
parents 37d1e24fb941
children d957f4e9fd58
comparison
equal deleted inserted replaced
5152:65b42fd96c00 5153:e9801faebbe4
90 def testFileCreate(self): 90 def testFileCreate(self):
91 results = self.server.create('file', 'content=hello\r\nthere') 91 results = self.server.create('file', 'content=hello\r\nthere')
92 fileid = 'file' + results 92 fileid = 'file' + results
93 results = self.server.display(fileid, 'content') 93 results = self.server.display(fileid, 'content')
94 self.assertEqual(results['content'], 'hello\r\nthere') 94 self.assertEqual(results['content'], 'hello\r\nthere')
95
96 def testSchema(self):
97 schema={'status': [('order', '<roundup.hyperdb.Number>'),
98 ('name', '<roundup.hyperdb.String>')],
99 'keyword': [('name', '<roundup.hyperdb.String>')],
100 'priority': [('order', '<roundup.hyperdb.Number>'),
101 ('name', '<roundup.hyperdb.String>')],
102 'user': [('username', '<roundup.hyperdb.String>'),
103 ('alternate_addresses', '<roundup.hyperdb.String>'),
104 ('realname', '<roundup.hyperdb.String>'),
105 ('roles', '<roundup.hyperdb.String>'),
106 ('organisation', '<roundup.hyperdb.String>'),
107 ('queries', '<roundup.hyperdb.Multilink to "query">'),
108 ('phone', '<roundup.hyperdb.String>'),
109 ('address', '<roundup.hyperdb.String>'),
110 ('timezone', '<roundup.hyperdb.String>'),
111 ('password', '<roundup.hyperdb.Password>')],
112 'file': [('content', '<roundup.hyperdb.String>'),
113 ('type', '<roundup.hyperdb.String>'),
114 ('name', '<roundup.hyperdb.String>')],
115 'msg': [('files', '<roundup.hyperdb.Multilink to "file">'),
116 ('inreplyto', '<roundup.hyperdb.String>'),
117 ('tx_Source', '<roundup.hyperdb.String>'),
118 ('recipients', '<roundup.hyperdb.Multilink to "user">'),
119 ('author', '<roundup.hyperdb.Link to "user">'),
120 ('summary', '<roundup.hyperdb.String>'),
121 ('content', '<roundup.hyperdb.String>'),
122 ('messageid', '<roundup.hyperdb.String>'),
123 ('date', '<roundup.hyperdb.Date>'),
124 ('type', '<roundup.hyperdb.String>')],
125 'query': [('url', '<roundup.hyperdb.String>'),
126 ('private_for', '<roundup.hyperdb.Link to "user">'),
127 ('name', '<roundup.hyperdb.String>'),
128 ('klass', '<roundup.hyperdb.String>')],
129 'issue': [('status', '<roundup.hyperdb.Link to "status">'),
130 ('files', '<roundup.hyperdb.Multilink to "file">'),
131 ('tx_Source', '<roundup.hyperdb.String>'),
132 ('keyword', '<roundup.hyperdb.Multilink to "keyword">'),
133 ('title', '<roundup.hyperdb.String>'),
134 ('nosy', '<roundup.hyperdb.Multilink to "user">'),
135 ('messages', '<roundup.hyperdb.Multilink to "msg">'),
136 ('priority', '<roundup.hyperdb.Link to "priority">'),
137 ('assignedto', '<roundup.hyperdb.Link to "user">'),
138 ('superseder', '<roundup.hyperdb.Multilink to "issue">')]}
139
140 results = self.server.schema()
141 self.assertEqual(results, schema)
142
143 def testLookup(self):
144 self.assertRaises(KeyError, self.server.lookup, 'user', '1')
145 results = self.server.lookup('user', 'admin')
146 self.assertEqual(results, '1')
95 147
96 def testAction(self): 148 def testAction(self):
97 # As this action requires special previledges, we temporarily switch 149 # As this action requires special previledges, we temporarily switch
98 # to 'admin' 150 # to 'admin'
99 self.db.setCurrentUser('admin') 151 self.db.setCurrentUser('admin')
103 self.server.action('retire', tmp) 155 self.server.action('retire', tmp)
104 finally: 156 finally:
105 self.db.setCurrentUser('joe') 157 self.db.setCurrentUser('joe')
106 users_after = self.server.list('user') 158 users_after = self.server.list('user')
107 self.assertEqual(users_before, users_after) 159 self.assertEqual(users_before, users_after)
160
161 # test a bogus action
162 with self.assertRaises(Exception) as cm:
163 self.server.action('bogus')
164 print cm.exception
165 self.assertEqual(cm.exception.message,
166 'action "bogus" is not supported ')
108 167
109 def testAuthDeniedEdit(self): 168 def testAuthDeniedEdit(self):
110 # Wrong permissions (caught by roundup security module). 169 # Wrong permissions (caught by roundup security module).
111 self.assertRaises(Unauthorised, self.server.set, 170 self.assertRaises(Unauthorised, self.server.set,
112 'user1', 'realname=someone') 171 'user1', 'realname=someone')

Roundup Issue Tracker: http://roundup-tracker.org/