cosmos-sdk/x
Facundo Medica a8a52d0775
refactor: use mocks for x/auth testing + ante tests refactor (#12568)
## Description

Main changes:
#### `x/auth` and `x/auth/ante` stopped depending on simapp
Some usages are left but this PR grew too much, so we might want to do it in a separate.

#### Removed all usages of the `suite` in `ante`
This makes tests way more verbose but helps keep the test cases self-contained and easier to understand (before you would need to mentally track the state of the suite throughout the test cases to understand them).
Also, it's easier to test, given that all tests are converted to standard Go unit tests (`func TestSomething(t *testing.T){`) and at least VSCode recognizes them and lets you run a single one instead of the entire suite.
I think this can/should be replicated in other modules.

Closes: #12502



---

### Author Checklist

*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*

I have...

- [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [x] added `!` to the type prefix if API or client breaking change
- [x] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#pr-targeting))
- [x] provided a link to the relevant issue or specification
- [x] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/main/docs/building-modules)
- [x] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#testing)
- [ ] added a changelog entry to `CHANGELOG.md`
- [x] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [x] updated the relevant documentation or specification
- [ ] reviewed "Files changed" and left comments if necessary
- [ ] confirmed all CI checks have passed

### Reviewers Checklist

*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*

I have...

- [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed 
- [ ] reviewed state machine logic
- [ ] reviewed API design and naming
- [ ] reviewed documentation is accurate
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)
2022-07-27 17:49:19 +00:00
..
auth refactor: use mocks for x/auth testing + ante tests refactor (#12568) 2022-07-27 17:49:19 +00:00
authz feat: Add x/authz SendAuthorization AllowList (#12648) 2022-07-27 10:17:47 +00:00
bank refactor: add mock unit tests for bank module (#12721) 2022-07-27 16:48:32 +00:00
capability feat: Move AppModule.BeginBlock and AppModule.EndBlock to extension interfaces (#12603) 2022-07-19 17:19:23 +00:00
crisis refactor: move module cli tests up to simapp (#12718) 2022-07-26 22:00:54 +00:00
distribution refactor: move module cli tests up to simapp (#12718) 2022-07-26 22:00:54 +00:00
epoching docs: updates outdated docs (#12014) 2022-05-31 08:59:38 -04:00
evidence refactor: move module cli tests up to simapp (#12718) 2022-07-26 22:00:54 +00:00
feegrant refactor: move module cli tests up to simapp (#12718) 2022-07-26 22:00:54 +00:00
genutil refactor!: make simapp.MakeTestEncodingConfig private (#12747) 2022-07-27 17:23:56 +02:00
gov refactor!: make simapp.MakeTestEncodingConfig private (#12747) 2022-07-27 17:23:56 +02:00
group refactor: move module cli tests up to simapp (#12718) 2022-07-26 22:00:54 +00:00
mint refactor: move module cli tests up to simapp (#12718) 2022-07-26 22:00:54 +00:00
nft refactor: move module cli tests up to simapp (#12718) 2022-07-26 22:00:54 +00:00
params refactor: move module cli tests up to simapp (#12718) 2022-07-26 22:00:54 +00:00
simulation fix: Simulation is not deterministic due to GenSignedMockTx (#12374) 2022-06-30 11:12:25 -04:00
slashing refactor!: make simapp.MakeTestEncodingConfig private (#12747) 2022-07-27 17:23:56 +02:00
staking refactor!: make simapp.MakeTestEncodingConfig private (#12747) 2022-07-27 17:23:56 +02:00
upgrade refactor: Use mocks for x/upgrade testing (#12698) 2022-07-27 17:05:52 +00:00
README.md Updated README to add mention of the NFT module (#12720) 2022-07-25 21:10:46 +02:00

List of Modules

Here are some production-grade modules that can be used in Cosmos SDK applications, along with their respective documentation:

  • Auth - Authentication of accounts and transactions for Cosmos SDK applications.
  • Authz - Authorization for accounts to perform actions on behalf of other accounts.
  • Bank - Token transfer functionalities.
  • Capability - Object capability implementation.
  • Crisis - Halting the blockchain under certain circumstances (e.g. if an invariant is broken).
  • Distribution - Fee distribution, and staking token provision distribution.
  • Epoching - Allows modules to queue messages for execution at a certain block height.
  • Evidence - Evidence handling for double signing, misbehaviour, etc.
  • Feegrant - Grant fee allowances for executing transactions.
  • Governance - On-chain proposals and voting.
  • Mint - Creation of new units of staking token.
  • Params - Globally available parameter store.
  • Slashing - Validator punishment mechanisms.
  • Staking - Proof-of-Stake layer for public blockchains.
  • Upgrade - Software upgrades handling and coordination.
  • Nft - NFT module implemented based on ADR43.

To learn more about the process of building modules, visit the building modules reference documentation.

IBC

The IBC module for the SDK has moved to its own repository.

CosmWasm

The CosmWasm module enables smart contracts, and has its own repository and documentation site.