30 lines
961 B
Solidity
30 lines
961 B
Solidity
// SPDX-License-Identifier: MIT
|
|
pragma solidity ^0.8.20;
|
|
|
|
import {Test} from "forge-std/Test.sol";
|
|
import {PolicyProfileRegistry} from "../../contracts/universal-resource/PolicyProfileRegistry.sol";
|
|
|
|
contract PolicyProfileRegistryTest is Test {
|
|
PolicyProfileRegistry internal reg;
|
|
address internal admin = address(0xA11CE);
|
|
|
|
function setUp() public {
|
|
vm.prank(admin);
|
|
reg = new PolicyProfileRegistry(admin);
|
|
}
|
|
|
|
function testPublishAndRead() public {
|
|
bytes32 h = keccak256("profile-json");
|
|
vm.prank(admin);
|
|
reg.publishProfile("institutional_custody_skr_v1", h, 1, block.timestamp);
|
|
PolicyProfileRegistry.Record memory r = reg.getRecord("institutional_custody_skr_v1");
|
|
assertTrue(r.exists);
|
|
assertEq(r.contentHash, h);
|
|
assertEq(r.version, 1);
|
|
}
|
|
|
|
function testProfileKeyStable() public view {
|
|
assertEq(reg.profileKey("a"), keccak256(bytes("a")));
|
|
}
|
|
}
|