def test_cas(self): oid = self.createObject(RaleighNumber.TYPE) number = RaleighNumber(self.client, oid) data = number.cas(0, 50) self.assertEquals(data['value'], 0) data = number.get() self.assertEquals(data['value'], 50) self.assertRaises(RaleighException, number.cas, 10, 100) data = number.cas(50, -100) self.assertEquals(data['value'], 50) data = number.get() self.assertEquals(data['value'], -100)
def test_set(self): oid = self.createObject(RaleighNumber.TYPE) number = RaleighNumber(self.client, oid) for _ in xrange(10): value = randint(0, 1000) number.set(value) data = number.get() self.assertEquals(data['value'], value)
def execute(self, client): number = RaleighNumber(client, self.oid) nrequests = 0 exception = None try: for i in xrange(self.NREQUESTS): nrequests += 1 data = number.get() except Exception as e: exception = e return nrequests, exception
def test_inc(self): oid = self.createObject(RaleighNumber.TYPE) number = RaleighNumber(self.client, oid) data = number.get() self.assertEquals(data['value'], 0) for value in xrange(1, 11): data = number.inc() self.assertEquals(data['value'], value) for i in xrange(1, 15): data = number.dec() self.assertEquals(data['value'], 10 - i)
def test_mul(self): oid = self.createObject(RaleighNumber.TYPE) number = RaleighNumber(self.client, oid) number.set(5) data = number.get() self.assertEquals(data['value'], 5) data = number.mul(3) self.assertEquals(data['value'], 15) data = number.mul(-10) self.assertEquals(data['value'], -150)
def test_txn(self): oid = self.createObject(RaleighNumber.TYPE) number = RaleighNumber(self.client, oid) txn_1 = RaleighTransaction(self.client) txn_1.begin() txn_2 = RaleighTransaction(self.client) txn_2.begin() data = number.inc(txn_1.txn_id) self.assertEquals(data['value'], 1) self.assertRaises(RaleighException, number.set, 10, txn_2.txn_id) self.assertRaises(RaleighException, number.cas, 10, 20, txn_2.txn_id) self.assertRaises(RaleighException, number.add, 10, txn_2.txn_id) self.assertRaises(RaleighException, number.mul, 10, txn_2.txn_id) data = number.get() self.assertEquals(data['value'], 0) data = number.get(txn_1.txn_id) self.assertEquals(data['value'], 1) txn_1.commit() number.inc(txn_2.txn_id) self.assertRaises(RaleighException, number.set, 10) self.assertRaises(RaleighException, number.cas, 10, 20) self.assertRaises(RaleighException, number.add, 10) self.assertRaises(RaleighException, number.mul, 10) data = number.get() self.assertEquals(data['value'], 1) data = number.get(txn_2.txn_id) self.assertEquals(data['value'], 2) txn_2.rollback() data = number.inc() self.assertEquals(data['value'], 2)
def test_div(self): oid = self.createObject(RaleighNumber.TYPE) number = RaleighNumber(self.client, oid) number.set(10) data = number.get() self.assertEquals(data['value'], 10) data = number.divmod(2) self.assertEquals(data['mod'], 0) self.assertEquals(data['value'], 5) data = number.divmod(3) self.assertEquals(data['mod'], 2) self.assertEquals(data['value'], 1) self.assertRaises(RaleighException, number.divmod, 0) data = number.divmod(7) self.assertEquals(data['mod'], 1) self.assertEquals(data['value'], 0)