#!/usr/bin/python3 import json import neofs_verbs from neo3 import wallet from robot.api.deco import keyword from robot.libraries.BuiltIn import BuiltIn ROBOT_AUTO_KEYWORDS = False @keyword('Verify Head Tombstone') def verify_head_tombstone(wallet_path: str, cid: str, oid_ts: str, oid: str, bearer: str = "", options: str = ""): header = neofs_verbs.head_object(wallet_path, cid, oid_ts, bearer_token=bearer, options=options) header = header['header'] BuiltIn().should_be_equal(header["containerID"], cid, msg="Tombstone Header CID is wrong") wlt_data = dict() with open(wallet_path, 'r') as fout: wlt_data = json.loads(fout.read()) wlt = wallet.Wallet.from_json(wlt_data, password='') addr = wlt.accounts[0].address BuiltIn().should_be_equal(header["ownerID"], addr, msg="Tombstone Owner ID is wrong") BuiltIn().should_be_equal(header["objectType"], 'TOMBSTONE', msg="Header Type isn't Tombstone") BuiltIn().should_be_equal( header["sessionToken"]["body"]["object"]["verb"], 'DELETE', msg="Header Session Type isn't DELETE" ) BuiltIn().should_be_equal( header["sessionToken"]["body"]["object"]["address"]["containerID"], cid, msg="Header Session ID is wrong" ) BuiltIn().should_be_equal( header["sessionToken"]["body"]["object"]["address"]["objectID"], oid, msg="Header Session OID is wrong" )