# Copyright © 2020 Interplanetary Database Association e.V., # Planetmint and IPDB software contributors. # SPDX-License-Identifier: (Apache-2.0 AND CC-BY-4.0) # Code is Apache-2.0 and docs are CC-BY-4.0 import pytest GENERATE_KEYPAIR = \ """Rule input encoding base58 Rule output encoding base58 Scenario 'ecdh': Create the keypair Given that I am known as 'Pippo' When I create the ecdh key When I create the testnet key Then print data""" # secret key to public key SK_TO_PK = \ """Rule input encoding base58 Rule output encoding base58 Scenario 'ecdh': Create the keypair Given that I am known as '{}' Given I have the 'keys' When I create the ecdh public key When I create the testnet address Then print my 'ecdh public key' Then print my 'testnet address'""" FULFILL_SCRIPT = \ """Rule input encoding base58 Rule output encoding base58 Scenario 'ecdh': Bob verifies the signature from Alice Given I have a 'ecdh public key' from 'Alice' Given that I have a 'string dictionary' named 'houses' inside 'asset' Given I have a 'signature' named 'data.signature' inside 'result' When I verify the 'houses' has a signature in 'data.signature' by 'Alice' Then print the string 'ok'""" HOUSE_ASSETS = [ { "data": { "houses": [ { "name": "Harry", "team": "Gryffindor", }, { "name": "Draco", "team": "Slytherin", } ], } } ] ZENROOM_DATA = { 'also': 'more data' } CONDITION_SCRIPT = """Rule input encoding base58 Rule output encoding base58 Scenario 'ecdh': create the signature of an object Given I have the 'keys' Given that I have a 'string dictionary' named 'houses' inside 'asset' When I create the signature of 'houses' When I rename the 'signature' to 'data.signature' Then print the 'data.signature'""" @pytest.fixture def gen_key_zencode(): return GENERATE_KEYPAIR @pytest.fixture def secret_key_to_private_key_zencode(): return SK_TO_PK @pytest.fixture def fulfill_script_zencode(): return FULFILL_SCRIPT @pytest.fixture def condition_script_zencode(): return CONDITION_SCRIPT @pytest.fixture def zenroom_house_assets(): return HOUSE_ASSETS @pytest.fixture def zenroom_data(): return ZENROOM_DATA