diff --git a/tests/e2e/config.go b/tests/e2e/config.go index 54ea824431..eedd095c97 100644 --- a/tests/e2e/config.go +++ b/tests/e2e/config.go @@ -247,7 +247,8 @@ func DemocracyTestConfig(allowReward bool) TestConfig { ".app_state.slashing.params.signed_blocks_window = \"10\" | " + ".app_state.slashing.params.min_signed_per_window = \"0.500000000000000000\" | " + ".app_state.slashing.params.downtime_jail_duration = \"60s\" | " + - ".app_state.slashing.params.slash_fraction_downtime = \"0.010000000000000000\"" + ".app_state.slashing.params.slash_fraction_downtime = \"0.010000000000000000\" | " + + ".app_state.transfer.params.send_enabled = false" if allowReward { // This allows the consumer chain to send rewards in the stake denom diff --git a/tests/e2e/main.go b/tests/e2e/main.go index ac365e35b3..6b06bc641c 100644 --- a/tests/e2e/main.go +++ b/tests/e2e/main.go @@ -187,8 +187,12 @@ func getTestFileUsageString() string { // Test runner selection builder.WriteString("Test runner selection:\nSelection of test runners to be executed:\n") + testConfigSet := map[string]struct{}{} for _, testConfig := range testConfigs { - builder.WriteString(fmt.Sprintf("- %s\n", testConfig.name)) + if _, ok := testConfigSet[testConfig.name]; !ok { + builder.WriteString(fmt.Sprintf("- %s\n", testConfig.name)) + testConfigSet[testConfig.name] = struct{}{} + } } builder.WriteString("\n") diff --git a/tests/e2e/steps_democracy.go b/tests/e2e/steps_democracy.go index 2b0965c2a3..9605f8698a 100644 --- a/tests/e2e/steps_democracy.go +++ b/tests/e2e/steps_democracy.go @@ -77,6 +77,8 @@ func stepsDemocracy(consumerName string) []Step { ValidatorID("alice"): 9889999998, ValidatorID("bob"): 9960000001, }, + // Check that the "SendEnabled" transfer parameter is set to false + Params: &([]Param{{Subspace: "transfer", Key: "SendEnabled", Value: "false"}}), Proposals: &map[uint]Proposal{ 1: ParamsProposal{ Deposit: 10000001, @@ -99,10 +101,21 @@ func stepsDemocracy(consumerName string) []Step { }, State: State{ ChainID(consumerName): ChainState{ + // Check that alice gets the prop deposit refunded ValBalances: &map[ValidatorID]uint{ ValidatorID("alice"): 9899999999, ValidatorID("bob"): 9960000001, }, + // Check that the prop passed + Proposals: &map[uint]Proposal{ + 1: ParamsProposal{ + Deposit: 10000001, + Status: "PROPOSAL_STATUS_PASSED", + Subspace: "transfer", + Key: "SendEnabled", + Value: "true", + }, + }, // Check that the parameter is changed on gov-consumer chain Params: &([]Param{{Subspace: "transfer", Key: "SendEnabled", Value: "true"}}), }, diff --git a/tests/e2e/steps_reward_denom.go b/tests/e2e/steps_reward_denom.go index 1e42259118..d5b524fbd9 100644 --- a/tests/e2e/steps_reward_denom.go +++ b/tests/e2e/steps_reward_denom.go @@ -75,6 +75,8 @@ func stepsRewardDenomConsumer(consumerName string) []Step { ValidatorID("alice"): 9889999998, ValidatorID("bob"): 9960000001, }, + // Check that the "SendEnabled" transfer parameter is set to false + Params: &([]Param{{Subspace: "transfer", Key: "SendEnabled", Value: "false"}}), Proposals: &map[uint]Proposal{ 1: ParamsProposal{ Deposit: 10000001, @@ -97,10 +99,21 @@ func stepsRewardDenomConsumer(consumerName string) []Step { }, State: State{ ChainID(consumerName): ChainState{ + // Check that alice gets the prop deposit refunded ValBalances: &map[ValidatorID]uint{ ValidatorID("alice"): 9899999999, ValidatorID("bob"): 9960000001, }, + // Check that the prop passed + Proposals: &map[uint]Proposal{ + 1: ParamsProposal{ + Deposit: 10000001, + Status: "PROPOSAL_STATUS_PASSED", + Subspace: "transfer", + Key: "SendEnabled", + Value: "true", + }, + }, // Check that the parameter is changed on gov-consumer chain Params: &([]Param{{Subspace: "transfer", Key: "SendEnabled", Value: "true"}}), }, diff --git a/tests/e2e/tracehandler_testdata/democracy.json b/tests/e2e/tracehandler_testdata/democracy.json index f25ba46eb1..8259eafb63 100644 --- a/tests/e2e/tracehandler_testdata/democracy.json +++ b/tests/e2e/tracehandler_testdata/democracy.json @@ -560,7 +560,13 @@ }, "ValPowers": null, "StakedTokens": null, - "Params": null, + "Params": [ + { + "Subspace": "transfer", + "Key": "SendEnabled", + "Value": "false" + } + ], "Rewards": null, "ConsumerChains": null, "AssignedKeys": null, @@ -621,7 +627,18 @@ "GlobalSlashQueueSize": null, "RegisteredConsumerRewardDenoms": null, "ClientsFrozenHeights": null, - "Proposals": null + "Proposals": { + "1": { + "RawProposal": { + "Deposit": 10000001, + "Status": "PROPOSAL_STATUS_PASSED", + "Subspace": "transfer", + "Key": "SendEnabled", + "Value": "true" + }, + "Type": "main.ParamsProposal" + } + } } } }, diff --git a/tests/e2e/tracehandler_testdata/democracyRewardsSteps.json b/tests/e2e/tracehandler_testdata/democracyRewardsSteps.json index d6fa266929..5ddb802437 100644 --- a/tests/e2e/tracehandler_testdata/democracyRewardsSteps.json +++ b/tests/e2e/tracehandler_testdata/democracyRewardsSteps.json @@ -560,7 +560,13 @@ }, "ValPowers": null, "StakedTokens": null, - "Params": null, + "Params": [ + { + "Subspace": "transfer", + "Key": "SendEnabled", + "Value": "false" + } + ], "Rewards": null, "ConsumerChains": null, "AssignedKeys": null, @@ -621,7 +627,18 @@ "GlobalSlashQueueSize": null, "RegisteredConsumerRewardDenoms": null, "ClientsFrozenHeights": null, - "Proposals": null + "Proposals": { + "1": { + "RawProposal": { + "Deposit": 10000001, + "Status": "PROPOSAL_STATUS_PASSED", + "Subspace": "transfer", + "Key": "SendEnabled", + "Value": "true" + }, + "Type": "main.ParamsProposal" + } + } } } },