Mercurial > p > roundup > code
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') |
