cleveland-0.1.2: test/TestSuite/Cleveland/OperationReplay.hs
-- SPDX-FileCopyrightText: 2021 Oxhead Alpha
-- SPDX-License-Identifier: LicenseRef-MIT-OA
module TestSuite.Cleveland.OperationReplay
( test_replayOrigination_fails
, test_replayTransfer_fails
) where
import Test.Tasty (TestTree)
import Morley.Tezos.Address (Address)
import Test.Cleveland
import TestSuite.Util (idContract, shouldFailWithMessage)
import TestSuite.Util.Contracts
test_replayTransfer_fails :: TestTree
test_replayTransfer_fails =
testScenarioOnEmulator "Transfer operation replay is prohibited" $ scenarioEmulated do
dummyAddress <- chAddress <$> originateSimple @() @() "dummy" () idContract
contract <- importContract @Address @() @() (contractsDir </> "replay_transfer.tz")
replayTransfer <- originateSimple "replayTransfer" () contract
call replayTransfer CallDefault dummyAddress
& shouldFailWithMessage "Operation replay attempt"
test_replayOrigination_fails :: TestTree
test_replayOrigination_fails =
testScenarioOnEmulator "Origination operation replay is prohibited" $ scenarioEmulated do
contract <- importContract @() @() @() (contractsDir </> "replay_origination.tz")
replayOrigination <- originateSimple "replayOrigination" () contract
call replayOrigination CallDefault ()
& shouldFailWithMessage "Operation replay attempt"