def testReadWriteRetrieveUsers(self): u1 = UserData.onLogin("user1", "User One", "*****@*****.**", "testing") u2 = UserData.onLogin("user2", "User Two", "*****@*****.**", "testing") self.assertNotEquals(u1.getId(), u2.getId()) ctx = UserContext("WithUsers", [u1.getId(), u2.getId()], { "u1Name": u1.getUserName(), "u2Name": u2.getUserName() }) self.assertReadWrite(ctx) #If read/write succeeded, check the indexes self.assertEquals([ctx], UserContext.objects(users=u1.getId())) self.assertEquals([ctx], UserContext.objects(users=u2.getId())) self.assertEquals([], UserContext.objects(users='notAPerson')) self.assertEquals([ctx], UserContext.objects(name='WithUsers')) self.assertEquals([], UserContext.objects(name='notAContext')) idList = sorted([u1.getId(), u2.getId()]) #Test users changes that shouldn't affect state copy = UserContext.read(ctx.getId()) self.assertSerialEquals(ctx, copy) ctx.addUser(u1.getId()) ctx.removeUser("user3") self.assertSerialEquals(ctx, copy) self.assertEquals(idList, copy.getUsers()) #Check user DB read users = ctx.readDBUsers() self.assertEquals(idList, sorted([u.getId() for u in users])) #What about empty users (via removal and then when hitting the DB) ctx.removeUser(u1.getId()) ctx.removeUser(u2.getId()) self.assertEquals([], ctx.getUsers()) self.assertEquals([], ctx.readDBUsers())
def testReadWriteRetrieveUsers(self): u1 = UserData.onLogin("user1", "User One", "*****@*****.**", "testing") u2 = UserData.onLogin("user2", "User Two", "*****@*****.**", "testing") self.assertNotEquals(u1.getId(), u2.getId()) ctx = UserContext( "WithUsers", [u1.getId(), u2.getId()], {"u1Name": u1.getUserName(), "u2Name": u2.getUserName()} ) self.assertReadWrite(ctx) #If read/write succeeded, check the indexes self.assertEquals([ctx], UserContext.objects(users=u1.getId())) self.assertEquals([ctx], UserContext.objects(users=u2.getId())) self.assertEquals([], UserContext.objects(users='notAPerson')) self.assertEquals([ctx], UserContext.objects(name='WithUsers')) self.assertEquals([], UserContext.objects(name='notAContext')) idList = sorted([u1.getId(), u2.getId()]) #Test users changes that shouldn't affect state copy = UserContext.read(ctx.getId()) self.assertSerialEquals(ctx, copy) ctx.addUser(u1.getId()) ctx.removeUser("user3") self.assertSerialEquals(ctx, copy) self.assertEquals(idList, copy.getUsers()) #Check user DB read users = ctx.readDBUsers() self.assertEquals(idList, sorted([u.getId() for u in users])) #What about empty users (via removal and then when hitting the DB) ctx.removeUser(u1.getId()) ctx.removeUser(u2.getId()) self.assertEquals([], ctx.getUsers()) self.assertEquals([], ctx.readDBUsers())