Skip to content

Commit 001e6ba

Browse files
committed
Add a valid journal entry to the testJournalNonexistingProperty tests
to verify that changes in this area don't break valid journal access for non-admin users.
1 parent fb7386c commit 001e6ba

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

test/db_test_base.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1282,11 +1282,13 @@ def testJournalNonexistingProperty(self):
12821282
# change and should not lead to a traceback.
12831283
self.db.user.create(username="mary", roles="User")
12841284
id = self.db.issue.create(title="spam", status='1')
1285+
self.db.issue.set(id, title='green eggs')
12851286
self.db.commit()
12861287
journal = self.db.getjournal('issue', id)
12871288
now = date.Date('.')
12881289
sec = date.Interval('0:00:01')
12891290
sec2 = date.Interval('0:00:02')
1291+
jp0 = dict(title = 'spam')
12901292
# Non-existing property changed
12911293
jp1 = dict(nonexisting = None)
12921294
journal.append ((id, now, '1', 'set', jp1))
@@ -1302,22 +1304,27 @@ def testJournalNonexistingProperty(self):
13021304
result.sort()
13031305
# anydbm drops unknown properties during serialisation
13041306
if self.db.dbtype == 'anydbm':
1305-
self.assertEqual(len(result), 3)
1306-
self.assertEqual(result [1][4], jp2)
1307-
self.assertEqual(result [2][4], jp3)
1308-
else:
13091307
self.assertEqual(len(result), 4)
1310-
self.assertEqual(result [1][4], jp1)
1308+
self.assertEqual(result [1][4], jp0)
13111309
self.assertEqual(result [2][4], jp2)
13121310
self.assertEqual(result [3][4], jp3)
1311+
else:
1312+
self.assertEqual(len(result), 5)
1313+
self.assertEqual(result [1][4], jp0)
1314+
self.assertEqual(result [2][4], jp1)
1315+
self.assertEqual(result [3][4], jp2)
1316+
self.assertEqual(result [4][4], jp3)
13131317
self.db.close()
13141318
# Verify that normal user doesn't see obsolete props/classes
13151319
# Backend memorydb cannot re-open db for different user
13161320
if self.db.dbtype != 'memorydb':
13171321
self.open_database('mary')
13181322
setupSchema(self.db, 0, self.module)
1323+
# allow mary to see issue fields like title
1324+
self.db.security.addPermissionToRole('User', 'View', 'issue')
13191325
result=self.db.issue.history(id)
1320-
self.assertEqual(len(result), 1)
1326+
self.assertEqual(len(result), 2)
1327+
self.assertEqual(result [1][4], jp0)
13211328

13221329
def testJournalPreCommit(self):
13231330
id = self.db.user.create(username="mary")

0 commit comments

Comments
 (0)