test_blockchain_trace.py 1.39 KB
Newer Older
1 2 3
import unittest
import manage_sys_paths

4 5 6 7
from messaging.DummyMessageManager import DummyMessageManager
# init dummy message manager so no connection to rabbitmq is established
_ = DummyMessageManager.get_instance()

8
import routes.blockchain_trace as blockchain_trace
9 10 11

class Test_BlockchainTrace(unittest.TestCase):

12
    def _get_min_valid_input(self):
13
        return {
14
        "ApplicationType": "string"
15 16 17
        }

    def test_isBlockchainTraceValid_validInputAndTypes(self):
18
        input = self._get_min_valid_input()
19 20 21 22 23 24
        self.assertTrue(blockchain_trace.isBlockchainTraceValid(input), "Trace should be valid")

    def test_isBlockchainTraceValid_emptyInput(self):
        input = {}
        self.assertFalse(blockchain_trace.isBlockchainTraceValid(input), "Empty input should not be accepted")

25
    def test_isBlockchainTraceValid_additionalKeys(self):
26 27 28 29 30 31 32 33 34 35 36 37 38
        input = {
        "ApplicationType": "string",
        "Metadata": {},
        "ResourceIds": "string",
        "ResourceMd5": "string",
        "ResourceState": "string",
        "TransactionFrom": "string",
        "TransactionFromLatLng": "string",
        "TransactionId": "string",
        "TransactionTo": "string",
        "TransactionToLatLng": "string",
        "TransferredAsset": "string"
        }
39
        self.assertTrue(blockchain_trace.isBlockchainTraceValid(input), "Input should be accepted")
40 41 42

if __name__ == '__main__':
    unittest.main()