diff --git a/features/steps/helper.py b/features/steps/helper.py index 590e9641f8fd858e15e44013c92b1905821bc86d..1f0f93a410ea522e3a454f3582d897286d024747 100644 --- a/features/steps/helper.py +++ b/features/steps/helper.py @@ -1,7 +1,69 @@ import secrets import string +import requests +import json def generate_random_string(length): """Generate a secure random alphanumeric string of given length.""" alphabet = string.ascii_letters + string.digits # Include both letters and numbers - return ''.join(secrets.choice(alphabet) for _ in range(length)) \ No newline at end of file + return ''.join(secrets.choice(alphabet) for _ in range(length)) + + + + +def register_endorser_did(url_base, payload={}, header={}): + + endorser_url = url_base+'/register-endorser-did' + requests.post(endorser_url, headers=header, data=payload) + + +def create_issuer_tennant(url_base, + payload = json.dumps({"label": "issuer"}), + headers = {'Content-Type': 'application/json'} + ): + + url = url_base+"/create-tenant" + return requests.post(url, headers=headers, data=payload) + + +def register_issuer_did(url_base, + issuer_id, + seed = None, + payload = None, + headers = {'Content-Type': 'application/json'} + ): + + if seed is None: + seed = generate_random_string(15) \ + + generate_random_string(1) \ + + generate_random_string(1) \ + + generate_random_string(15) + if payload is None: + payload = json.dumps({ + "seed": (seed), + "services": [ + { + "id": "#endpoint", + "type": "endpoint", + "serviceEndpoint": "https://bar.example.com" + }, + { + "id": "#didcomm-messaging", + "type": "didcomm-messaging", + "serviceEndpoint": "https://bar.example.com" + }, + { + "id": "#did-communication", + "type": "did-communication", + "serviceEndpoint": "https://bar.example.com" + }, + { + "id": "#DIDComm", + "type": "DIDComm", + "serviceEndpoint": "https://bar.example.com" + } + ] + }) + + url = url_base+'/v1/dids?tenantId='+issuer_id + return requests.post(url, headers=headers, data=payload) \ No newline at end of file diff --git a/features/steps/init.py b/features/steps/init.py index f33ed793c7e85afee9edcbf920a2bc7971cde391..9056c75e542d554d60fdab9820215ab9649d0eb9 100644 --- a/features/steps/init.py +++ b/features/steps/init.py @@ -1,7 +1,7 @@ from behave import * import requests import json -from helper import generate_random_string +from helper import generate_random_string, register_endorser_did, create_issuer_tennant, register_issuer_did @given(u'I can connect to OCM Engine') @@ -22,20 +22,11 @@ def step_init(context): # context.dev_tools_base_URL_2 = localhost + "4110" - # Step 1: Register Endorser DID - empty_payload = {} - empty_header = {} - - endorser_url = context.dev_tools_base_URL+'/register-endorser-did' - requests.post(endorser_url, headers=empty_header, data=empty_payload) - + # Register Endorser DID + register_endorser_did(context.dev_tools_base_URL) # Create 'issuer' tenant - payload = json.dumps({"label": "issuer"}) - headers = {'Content-Type': 'application/json'} - url = context.dev_tools_base_URL+"/create-tenant" - - create_issuer_tenant_request = requests.post(url, headers=headers, data=payload) + create_issuer_tenant_request = create_issuer_tennant(context.dev_tools_base_URL) assert create_issuer_tenant_request.status_code == 201 context.issuer_id = create_issuer_tenant_request.json()['id'] @@ -44,43 +35,8 @@ def step_init(context): @given(u'I register a DID for \'issuer\'') def step_register_issuer_did(context): - - - register_did_url = context.did_manager_base_URL+'/v1/dids?tenantId='+context.issuer_id - - register_did_payload = json.dumps({ - "seed": (generate_random_string(15)+ - generate_random_string(1)+ - generate_random_string(1)+ - generate_random_string(15)), - "services": [ - { - "id": "#endpoint", - "type": "endpoint", - "serviceEndpoint": "https://bar.example.com" - }, - { - "id": "#didcomm-messaging", - "type": "didcomm-messaging", - "serviceEndpoint": "https://bar.example.com" - }, - { - "id": "#did-communication", - "type": "did-communication", - "serviceEndpoint": "https://bar.example.com" - }, - { - "id": "#DIDComm", - "type": "DIDComm", - "serviceEndpoint": "https://bar.example.com" - } - ] - }) - - register_did_headers = { - 'Content-Type': 'application/json' - } - - register_did_response = requests.post(register_did_url, headers=register_did_headers, data=register_did_payload) + register_did_response = register_issuer_did(context.did_manager_base_URL, issuer_id=context.issuer_id) + print(context.issuer_id) + print(register_did_response.json()) assert register_did_response.status_code == 201 context.issuer_did = register_did_response.json()["data"][0] \ No newline at end of file