MCPcopy Create free account
hub / github.com/akash-network/node / TestRevokeAttestationDisposition

Function TestRevokeAttestationDisposition

x/verification/keeper/msg_test.go:651–745  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

649}
650
651func TestRevokeAttestationDisposition(t *testing.T) {
652 tests := []struct {
653 name string
654 reason vtypes.AttestationRevocationReason
655 wantFault vtypes.FaultAttribution
656 wantFeeStatus vtypes.FeeStatus
657 wantDepositStatus vtypes.DepositStatus
658 wantAccountTxs []func(sdk.AccAddress, sdk.AccAddress, vtypes.AttestationRecord) bankTransfer
659 wantModuleTxs []func(vtypes.AttestationRecord) bankTransfer
660 }{
661 {
662 name: "provider fault releases fee and deposit to auditor",
663 reason: vtypes.AttestationRevocationReasonProviderNoLongerQualifies,
664 wantFault: vtypes.FaultAttributionProviderFault,
665 wantFeeStatus: vtypes.FeeStatusReleasedToAuditor,
666 wantDepositStatus: vtypes.DepositStatusReturnedToAuditor,
667 wantAccountTxs: []func(sdk.AccAddress, sdk.AccAddress, vtypes.AttestationRecord) bankTransfer{
668 func(_ sdk.AccAddress, auditor sdk.AccAddress, attestation vtypes.AttestationRecord) bankTransfer {
669 return bankTransfer{to: auditor, module: moduletypes.ModuleName, amt: sdk.NewCoins(attestation.Fee)}
670 },
671 func(_ sdk.AccAddress, auditor sdk.AccAddress, attestation vtypes.AttestationRecord) bankTransfer {
672 return bankTransfer{to: auditor, module: moduletypes.ModuleName, amt: sdk.NewCoins(attestation.Deposit)}
673 },
674 },
675 },
676 {
677 name: "auditor evidence error refunds provider and slashes deposit",
678 reason: vtypes.AttestationRevocationReasonAuditorEvidenceError,
679 wantFault: vtypes.FaultAttributionAuditorFault,
680 wantFeeStatus: vtypes.FeeStatusReturnedToProvider,
681 wantDepositStatus: vtypes.DepositStatusSlashed,
682 wantAccountTxs: []func(sdk.AccAddress, sdk.AccAddress, vtypes.AttestationRecord) bankTransfer{
683 func(provider sdk.AccAddress, _ sdk.AccAddress, attestation vtypes.AttestationRecord) bankTransfer {
684 return bankTransfer{to: provider, module: moduletypes.ModuleName, amt: sdk.NewCoins(attestation.Fee)}
685 },
686 },
687 wantModuleTxs: []func(vtypes.AttestationRecord) bankTransfer{
688 func(attestation vtypes.AttestationRecord) bankTransfer {
689 return bankTransfer{fromModule: moduletypes.ModuleName, toModule: distrtypes.ModuleName, amt: sdk.NewCoins(attestation.Deposit)}
690 },
691 },
692 },
693 {
694 name: "auditor operational exit refunds provider and returns deposit",
695 reason: vtypes.AttestationRevocationReasonAuditorOperationalExit,
696 wantFault: vtypes.FaultAttributionNoFault,
697 wantFeeStatus: vtypes.FeeStatusReturnedToProvider,
698 wantDepositStatus: vtypes.DepositStatusReturnedToAuditor,
699 wantAccountTxs: []func(sdk.AccAddress, sdk.AccAddress, vtypes.AttestationRecord) bankTransfer{
700 func(provider sdk.AccAddress, _ sdk.AccAddress, attestation vtypes.AttestationRecord) bankTransfer {
701 return bankTransfer{to: provider, module: moduletypes.ModuleName, amt: sdk.NewCoins(attestation.Fee)}
702 },
703 func(_ sdk.AccAddress, auditor sdk.AccAddress, attestation vtypes.AttestationRecord) bankTransfer {
704 return bankTransfer{to: auditor, module: moduletypes.ModuleName, amt: sdk.NewCoins(attestation.Deposit)}
705 },
706 },
707 },
708 }

Callers

nothing calls this directly

Calls 8

WithBankKeeperFunction · 0.85
attestationRecordFunction · 0.85
testHashFunction · 0.85
RunMethod · 0.65
SetAttestationMethod · 0.65
RevokeAttestationMethod · 0.65
GetAttestationMethod · 0.65

Tested by

no test coverage detected