Beispiel #1
0
 def test2(self):
     with Transaction():
         with self.assertRaises(AssertionError):
             self.instance.creator = Actor.objects.create()
Beispiel #2
0
 def setUp(self):
     with Transaction():
         self.instance = Dummy()
         self.instance.create_only_test = 1
         self.instance.save()
Beispiel #3
0
 def setUp(self):
     with Transaction():
         Dummy.objects.create()
Beispiel #4
0
 def test1(self):
     with Transaction():
         with self.assertRaises(AssertionError):
             self.instance.create_only_test = 2
Beispiel #5
0
 def test_error_in_nested_transaction(self):
     with self.assertRaises(AssertionError):
         with UnitTestTransaction():
             with Transaction():
                 Dummy.objects.create()
                 raise AssertionError
Beispiel #6
0
    async def _test_tx(self):
        tx = Transaction(99, TransactionOperation.debit, 'EUR', 999, db=db)
        self.assertEqual(tx.status, TransactionStatus.draft)

        await tx.set_status(TransactionStatus.processing)
        self.assertEqual(tx.status, TransactionStatus.processing)
Beispiel #7
0
 def test(self):
     with Transaction():
         instance = Dummy.objects.create()
     with Transaction():
         with self.assertRaises(AssertionError):
             instance.raw = {"kkk": 1}
Beispiel #8
0
    def testTransaction(self):
        tx = Transaction()

        tx.addInput(b'genesis', 0)
        assert tx.numInputs() == 1

        opGenesis = Transaction.Output(5, genesisPublicKey)
        tx.addOutput(opGenesis.value, opGenesis.address)
        tx.addOutput(5, alicePublicKey)
        tx.addOutput(10, bobPublicKey)
        assert tx.numOutputs() == 3

        tx.removeInput(0)
        assert tx.numInputs() == 0

        tx.addInput(b'genesis', 0)
        signature0 = sign(genesisPrivateKey, tx, 0)
        tx.addSignature(signature0, 0)
        tx.finalize()
Beispiel #9
0
 def test(self):
     with Transaction():
         instance = Dummy.objects.create()
     with Transaction():
         assert Dummy.objects.get(id=instance.id) == instance
Beispiel #10
0
    def test_revert_patch(self):
        with Transaction() as tran0:
            instance = Dummy.objects.create()
            assert instance.computed["_mjson_revert_patch"] is None
            assert instance._syncdb_required is True
            assert instance.status == Status.NEW
        assert instance.computed["_mjson_revert_patch"] is None
        assert instance._syncdb_required is False
        assert instance.status == Status.NORMAL

        with Transaction() as tran1:
            instance = Dummy.objects.get(id=instance.id)
            instance.temp = 1
            assert instance.computed["_mjson_revert_patch"] is None
            instance.save()
        assert instance.computed["_mjson_revert_patch"] == {
            "data": {
                "temp": None
            },
            "computed": {},
            "status": Status.NORMAL,
            "version": 1,
            "last_transaction": tran0.id,
        }

        with Transaction() as tran2:
            instance = Dummy.objects.get(id=instance.id)
            instance.temp = 2
            instance.save()
        assert instance.computed["_mjson_revert_patch"] == {
            "data": {
                "temp": 1
            },
            "computed": {},
            "status": Status.NORMAL,
            "version": 2,
            "last_transaction": tran1.id,
        }

        with Transaction() as tran3:
            instance = Dummy.objects.get(id=instance.id)
            instance.patent = {
                "raw": "raw1",
                "plain": "plain1",
                "html": "html1"
            }
            instance.save()
        assert instance.computed["_mjson_revert_patch"] == {
            "data": {
                "patent": {
                    "raw": None,
                    "plain": None,
                    "html": None
                }
            },
            "computed": {
                "patent_summary": {
                    "len": None,
                    "summary": None
                }
            },
            "status": Status.NORMAL,
            "version": 3,
            "last_transaction": tran2.id,
        }

        with Transaction() as tran4:
            instance = Dummy.objects.get(id=instance.id)
            instance.patent = {"raw": "raw2"}
            instance.save()
        assert instance.computed["_mjson_revert_patch"] == {
            "data": {
                "patent": {
                    "raw": "raw1",
                    "plain": "plain1",
                    "html": "html1"
                }
            },
            "computed": {},
            "status": Status.NORMAL,
            "version": 4,
            "last_transaction": tran3.id,
        }
        assert instance.data["patent"] == {
            "raw": "raw2",
            "plain": "plain1",
            "html": "html1"
        }

        with Transaction() as tran5:
            instance = Dummy.objects.get(id=instance.id)
            instance.patent = {"raw": "raw3"}
            instance.save()
        assert instance.computed["_mjson_revert_patch"] == {
            "data": {
                "patent": {
                    "raw": "raw2",
                    "plain": "plain1",
                    "html": "html1"
                }
            },
            "computed": {},
            "status": Status.NORMAL,
            "version": 5,
            "last_transaction": tran4.id,
        }
        assert instance.data["patent"] == {
            "raw": "raw3",
            "plain": "plain1",
            "html": "html1"
        }
Beispiel #11
0
    def testTransaction(self):
        tx = Transaction()

        tx.addInput(b'genesis', 0)
        assert tx.numInputs() == 1

        opGenesis = Transaction.Output(5, genesisPublicKey)
        tx.addOutput(opGenesis.value, opGenesis.address)
        tx.addOutput(5, alicePublicKey)
        tx.addOutput(10, bobPublicKey)
        assert tx.numOutputs() == 3

        tx.removeInput(0)
        assert tx.numInputs() == 0

        tx.addInput(b'genesis', 0)
        signature0 = sign(genesisPrivateKey, tx, 0)
        tx.addSignature(signature0, 0)
        tx.finalize()

        print(tx.hash)
        print(hash(tx.getInput(0)))
        print(tx.getInput(0).to_dict())
        print(hash(tx.getOutput(0)))
        print(tx.getOutput(0).to_dict())

        print(verify(genesisPublicKey, binascii.hexlify(signature0).decode('ascii'), tx.getRawDataToSign(0)))