@@ -13,14 +13,12 @@ contract SLIOracleTest is Test {
1313 SLIOracle public sliOracle;
1414 address public oracle = address (0x123 );
1515 CommonTypes.FilActorId public provider = CommonTypes.FilActorId.wrap (1000 );
16- SLITypes.Attestation public attestation = SLITypes.Attestation ({
17- lastUpdate: block .number ,
18- slis: SLITypes.SLIThresholds ({retrievabilityPct: 80 , bandwidthMbps: 500 , latencyMs: 200 , indexingPct: 90 })
19- });
16+ SLITypes.SLIThresholds public slis =
17+ SLITypes.SLIThresholds ({retrievabilityPct: 80 , bandwidthMbps: 500 , latencyMs: 200 , indexingPct: 90 });
2018
2119 function setUp () public {
2220 SLIOracle impl = new SLIOracle ();
23- bytes memory initData = abi.encodeWithSignature ( " initialize(address,address) " , address (this ), oracle);
21+ bytes memory initData = abi.encodeCall (SLIOracle. initialize, ( address (this ), oracle) );
2422 ERC1967Proxy proxy = new ERC1967Proxy (address (impl), initData);
2523 sliOracle = SLIOracle (address (proxy));
2624 }
@@ -49,23 +47,34 @@ contract SLIOracleTest is Test {
4947
5048 function testSLIAttestationEvent () public {
5149 vm.expectEmit (true , true , false , false );
52- emit SLIOracle.SLIAttestationUpdate (provider, attestation. slis);
50+ emit SLIOracle.SLIAttestationUpdate (provider, block . number , slis);
5351 vm.prank (oracle);
54- sliOracle.setSLI (provider, attestation );
52+ sliOracle.setSLI (provider, slis );
5553 }
5654
5755 function testSetSLIAttestation () public {
5856 vm.prank (oracle);
59- sliOracle.setSLI (provider, attestation );
57+ sliOracle.setSLI (provider, slis );
6058
6159 SLITypes.Attestation memory storedAttestation = sliOracle.getAttestation (provider);
62- // Compare lastUpdate is set correctly in storage
63- assertEq (storedAttestation.lastUpdate, attestation.lastUpdate);
64- // Compare that last update is set to current block number
6560 assertEq (storedAttestation.lastUpdate, block .number );
66- assertEq (storedAttestation.slis.retrievabilityPct, attestation.slis.retrievabilityPct);
67- assertEq (storedAttestation.slis.latencyMs, attestation.slis.latencyMs);
68- assertEq (storedAttestation.slis.indexingPct, attestation.slis.indexingPct);
69- assertEq (storedAttestation.slis.bandwidthMbps, attestation.slis.bandwidthMbps);
61+ assertEq (storedAttestation.slis.retrievabilityPct, slis.retrievabilityPct);
62+ assertEq (storedAttestation.slis.latencyMs, slis.latencyMs);
63+ assertEq (storedAttestation.slis.indexingPct, slis.indexingPct);
64+ assertEq (storedAttestation.slis.bandwidthMbps, slis.bandwidthMbps);
65+ }
66+
67+ function testInitializeRevertInvalidAdmin () public {
68+ SLIOracle impl = new SLIOracle ();
69+ bytes memory initData = abi.encodeCall (SLIOracle.initialize, (address (0 ), oracle));
70+ vm.expectRevert (abi.encodeWithSelector (SLIOracle.InvalidAdmin.selector ));
71+ new ERC1967Proxy (address (impl), initData);
72+ }
73+
74+ function testInitializeRevertInvalidOracle () public {
75+ SLIOracle impl = new SLIOracle ();
76+ bytes memory initData = abi.encodeCall (SLIOracle.initialize, (address (this ), address (0 )));
77+ vm.expectRevert (abi.encodeWithSelector (SLIOracle.InvalidOracle.selector ));
78+ new ERC1967Proxy (address (impl), initData);
7079 }
7180}
0 commit comments