Ejemplo n.º 1
0
    async def test_delete_await_across_transaction_success(self):
        obj = await Tournament.create(name="Test1")

        query = Tournament.filter(id=obj.id).delete()
        async with in_transaction():
            await query

        self.assertEqual(await Tournament.all(), [])
Ejemplo n.º 2
0
    async def test_update_await_across_transaction_success(self):
        obj = await Tournament.create(name="Test1")

        query = Tournament.filter(id=obj.id).update(name="Test2")
        async with in_transaction():
            await query

        self.assertEqual(
            await Tournament.all().values("id", "name"), [{"id": obj.id, "name": "Test2"}]
        )
Ejemplo n.º 3
0
    async def test_delete_await_across_transaction_fail(self):
        obj = await Tournament.create(name="Test1")

        query = Tournament.filter(id=obj.id).delete()
        try:
            async with in_transaction():
                await query
                raise KeyError("moo")
        except KeyError:
            pass

        self.assertEqual(
            await Tournament.all().values("id", "name"), [{"id": obj.id, "name": "Test1"}]
        )
Ejemplo n.º 4
0
 async def test_subquery_filter(self):
     t1 = await Tournament.create(name="1")
     ret = await Tournament.filter(
         pk=Subquery(Tournament.filter(pk=t1.pk).values("id"))).first()
     self.assertEqual(ret, t1)
Ejemplo n.º 5
0
 async def test_subquery_select(self):
     t1 = await Tournament.create(name="1")
     ret = (await Tournament.filter(pk=t1.pk).annotate(
         ids=Subquery(Tournament.filter(pk=t1.pk).values("id"))
     ).values("ids", "id"))
     self.assertEqual(ret, [{"id": t1.pk, "ids": t1.pk}])