Esempio n. 1
0
    def test_findOrCreate(self):
        @transaction
        @inlineCallbacks
        def interaction(txn):
            yield Transaction.findOrCreate(name="a name")
            yield Transaction.findOrCreate(name="a name")

        yield interaction()
        count = yield Transaction.count()
        self.assertEqual(count, 1)
Esempio n. 2
0
    def test_success(self):

        @transaction
        def interaction(txn):
            def finish(trans):
                return Transaction(name="unique name two").save()
            return Transaction(name="unique name").save().addCallback(finish)

        result = yield interaction()
        self.assertEqual(result.id, 2)

        count = yield Transaction.count()
        self.assertEqual(count, 2)
Esempio n. 3
0
    def test_doubleInsert(self):

        @transaction
        def interaction(txn):
            def finish(trans):
                return Transaction(name="unique name").save()
            return Transaction(name="unique name").save().addCallback(finish)

        try:
            yield interaction()
        except TransactionError:
            pass

        # there should be no transaction records stored at all
        count = yield Transaction.count()
        self.assertEqual(count, 0)