Skip to content
Snippets Groups Projects
Select Git revision
  • 8f9f84648e7ce50df1f825de0b0c5ba36aca955d
  • master default protected
  • set_UniversalDividendApi_in_RuntimeApiCollection
  • tuxmain/fix-change-owner-key
  • network/gtest-1000 protected
  • upgradable-multisig
  • runtime/gtest-1000
  • network/gdev-800 protected
  • cgeek/issue-297-cpu
  • gdev-800-tests
  • update-docker-compose-rpc-squid-names
  • fix-252
  • 1000i100-test
  • hugo/tmp-0.9.1
  • network/gdev-803 protected
  • hugo/endpoint-gossip
  • network/gdev-802 protected
  • hugo/distance-precompute
  • network/gdev-900 protected
  • tuxmain/anonymous-tx
  • debug/podman
  • gtest-1000-0.11.1 protected
  • gtest-1000-0.11.0 protected
  • gtest-1000 protected
  • gdev-900-0.10.1 protected
  • gdev-900-0.10.0 protected
  • gdev-900-0.9.2 protected
  • gdev-800-0.8.0 protected
  • gdev-900-0.9.1 protected
  • gdev-900-0.9.0 protected
  • gdev-803 protected
  • gdev-802 protected
  • runtime-801 protected
  • gdev-800 protected
  • runtime-800-bis protected
  • runtime-800 protected
  • runtime-800-backup protected
  • runtime-701 protected
  • runtime-700 protected
  • runtime-600 protected
  • runtime-500 protected
41 results

mock.rs

Blame
  • test_tx.py 8.98 KiB
    import unittest
    
    import jsonschema
    
    from duniterpy.api.bma.tx import history, sources, blocks, HISTORY_SCHEMA, SOURCES_SCHEMA
    from duniterpy.api.client import Client
    from duniterpy.api.endpoint import BMAEndpoint
    from tests.api.webserver import WebFunctionalSetupMixin, web
    
    
    class TestBmaTx(WebFunctionalSetupMixin, unittest.TestCase):
        def test_bma_tx_history(self):
            json_sample = {
                "currency": "meta_brouzouf",
                "pubkey": "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk",
                "history": {
                    "sent": [
                        {
                            "version": 1,
                            "issuers": [
                                "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk"
                            ],
                            "inputs": [
                                "0:D:125:000A8362AE0C1B8045569CE07735DE4C18E81586:100"
                            ],
                            "outputs": [
                                "8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:5",
                                "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:95"
                            ],
                            "comment": "Essai",
                            "signatures": [
                                "8zzWSU+GNSNURnH1NKPT/TBoxngEc/0wcpPSbs7FqknGxud+94knvT+dpe99k6NwyB5RXvOVnKAr4p9/KEluCw=="
                            ],
                            "hash": "FC7BAC2D94AC9C16AFC5C0150C2C9E7FBB2E2A09",
                            "block_number": 173,
                            "time": 1421932545
                        }
                    ],
                    "received": [
                        {
                            "version": 1,
                            "issuers": [
                                "8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU"
                            ],
                            "inputs": [
                                "0:D:125:000A8362AE0C1B8045569CE07735DE4C18E81586:100"
                            ],
                            "outputs": [
                                "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:7",
                                "8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:93"
                            ],
                            "comment": "",
                            "signatures": [
                                "1Mn8q3K7N+R4GZEpAUm+XSyty1Uu+BuOy5t7BIRqgZcKqiaxfhAUfDBOcuk2i4TJy1oA5Rntby8hDN+cUCpvDg=="
                            ],
                            "hash": "5FB3CB80A982E2BDFBB3EA94673A74763F58CB2A",
                            "block_number": 207,
                            "time": 1421955525
                        },
                        {
                            "version": 1,
                            "issuers": [
                                "J78bPUvLjxmjaEkdjxWLeENQtcfXm7iobqB49uT1Bgp3"
                            ],
                            "inputs": [
                                "0:T:15128:6A50FF82410387B239489CE38B34E0FDDE1697FE:10000"
                            ],
                            "outputs": [
                                "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:42",
                                "J78bPUvLjxmjaEkdjxWLeENQtcfXm7iobqB49uT1Bgp3:9958"
                            ],
                            "comment": "",
                            "signatures": [
                                "XhBcCPizPiWdKeXWg1DX/FTQst6DppEjsYEtoAZNA0P11reXtgc9IduiIxNWzNjt/KvTw8APkSI8/Uf31QQVDA=="
                            ],
                            "hash": "ADE7D1C4002D6BC10013C34CE22733A55173BAD4",
                            "block_number": 15778,
                            "time": 1432314584
                        }
                    ],
                    "sending": [
                        {
                            "version": 1,
                            "issuers": [
                                "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk"
                            ],
                            "inputs": [
                                "0:D:8196:000022AD426FE727C707D847EC2168A64C577706:5872"
                            ],
                            "outputs": [
                                "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:5871"
                                "2sq8bBDQGK74f1eD3mAPQVgHCmFdijZr9nbv16FwbokX:1",
                            ],
                            "comment": "some comment",
                            "signatures": [
                                "kLOAAy7/UldQk7zz4I7Jhv9ICuGYRx7upl8wH8RYL43MMF6+7MbPh3QRN1qNFGpAfa3XMWIQmbUWtjZKP6OfDA=="
                            ],
                            "hash": "BA41013F2CD38EDFFA9D38A275F8532DD906A2DE"
                        }
                    ],
                    "receiving": [
                        {
                            "version": 1,
                            "issuers": [
                                "2sq8bBDQGK74f1eD3mAPQVgHCmFdijZr9nbv16FwbokX"
                            ],
                            "inputs": [
                                "0:D:8196:000022AD426FE727C707D847EC2168A64C577706:4334"
                            ],
                            "outputs": [
                                "2sq8bBDQGK74f1eD3mAPQVgHCmFdijZr9nbv16FwbokX:1",
                                "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:4333"
                            ],
                            "comment": "some comment",
                            "signatures": [
                                "DRiZinUEKrrLiJNogtydzwEbmETrvWiLNYXCiJsRekxTLyU5g4LjnwiLp/XlvmIekjJK5n/gullLWrHUBvFSAw=="
                            ],
                            "hash": "A0A511131CD0E837204A9441B3354918AC4CE671"
                        }
                    ],
                    "pending": [
                        {
                            "version": 1,
                            "issuers": [
                                "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk"
                            ],
                            "inputs": [
                                "0:D:8196:000022AD426FE727C707D847EC2168A64C577706:5872"
                            ],
                            "outputs": [
                                "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:5871"
                                "2sq8bBDQGK74f1eD3mAPQVgHCmFdijZr9nbv16FwbokX:1",
                            ],
                            "comment": "some comment",
                            "signatures": [
                                "kLOAAy7/UldQk7zz4I7Jhv9ICuGYRx7upl8wH8RYL43MMF6+7MbPh3QRN1qNFGpAfa3XMWIQmbUWtjZKP6OfDA=="
                            ],
                            "hash": "BA41013F2CD38EDFFA9D38A275F8532DD906A2DE"
                        }
                    ],
                }
            }
            jsonschema.validate(json_sample, HISTORY_SCHEMA)
    
        def test_bma_tx_history_bad(self):
            async def handler(request):
                await request.read()
                return web.Response(body=b'{}', content_type='application/json')
    
            async def go():
                _, port, url = await self.create_server('GET', '/tx/history/pubkey', handler)
                with self.assertRaises(jsonschema.exceptions.ValidationError):
                    client = Client(BMAEndpoint("127.0.0.1", "", "", port))
                    await client(history, 'pubkey')
                await client.close()
    
            self.loop.run_until_complete(go())
    
        def test_bma_tx_history_blocks_bad(self):
            async def handler(request):
                await request.read()
                return web.Response(body=b'{}', content_type='application/json')
    
            async def go():
                _, port, url = await self.create_server('GET', '/tx/history/pubkey/blocks/0/100', handler)
                with self.assertRaises(jsonschema.exceptions.ValidationError):
                    client = Client(BMAEndpoint("127.0.0.1", "", "", port))
                    await client(blocks, 'pubkey', 0, 100)
                await client.close()
    
            self.loop.run_until_complete(go())
    
        def test_bma_tx_sources(self):
            json_sample = {
                "currency": "meta_brouzouf",
                "pubkey": "8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU",
                "sources": [
                    {
                        "pubkey": "8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU",
                        "type": "T",
                        "noffset": 34444,
                        "identifier": "6ACECB199D1B054B2633D0E42C066939B7F8EF1D",
                        "amount": 1000000,
                        "base": 1
                    },
                    {
                        "pubkey": "8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU",
                        "type": "D",
                        "noffset": 34989,
                        "identifier": "0007CCC9755067008C28E791E6F2B0D4CBE9B894",
                        "amount": 1730543585843,
                        "base": 2
                    }
                ]
            }
            jsonschema.validate(json_sample, SOURCES_SCHEMA)
    
        def test_bma_tx_sources_bad(self):
            async def handler(request):
                await request.read()
                return web.Response(body=b'{}', content_type='application/json')
    
            async def go():
                _, port, url = await self.create_server('GET', '/tx/sources/pubkey', handler)
                with self.assertRaises(jsonschema.exceptions.ValidationError):
                    client = Client(BMAEndpoint("127.0.0.1", "", "", port))
                    await client(sources, 'pubkey')
                await client.close()
    
            self.loop.run_until_complete(go())