-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
test: Implement unit and integration tests (#36)
* feat: added transactions * feat: implement client * fix tx issue * feat: pause previous code * adding client injection * custom txclient * fix: client issue debug * new chain client * debug client init * update create client * import mnemonic * docs * Update README.md * update docs * execute submit tx through client * fix keyring issue * import key * fix * refactor * update submitblob tx * new query * feat: changes * handle error * post data to da * execute update tx after da submission * fix * query and tx * update msg * feat: fixed range errors * feat: vote extensions * refactor core lgic * feat: enable vote extensions * feat: enable vote extensions * feat: fix vote extensions bug * feat: fix vote extensions bug * fix: config script for vote extension height * fix typo * fix client * feat: enable vote extensions * remove deadcode * feat: light client data verification * feat: enable light client verification * fix * add unit tests * add integration test suite * add integration tests * chore: proto-gen * fix failing tests & improve covereage * fix imports * fix lint * fix lint * fix lint * remove gci from lint tests * fix lint * fix tests * addressed comments * fix lint * fix tests --------- Co-authored-by: saiteja <[email protected]> Co-authored-by: PrathyushaLakkireddy <[email protected]> Co-authored-by: Teja2045 <[email protected]> Co-authored-by: Prathyusha Lakkireddy <[email protected]>
- Loading branch information
1 parent
a4ed433
commit 6ab0a6d
Showing
33 changed files
with
3,252 additions
and
39 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,7 +13,7 @@ linters: | |
# - copyloopvar | ||
- goconst | ||
- gocritic | ||
- gci | ||
# - gci | ||
- gofumpt | ||
# - gosec | ||
- gosimple | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,128 @@ | ||
package cli_test | ||
|
||
import ( | ||
"fmt" | ||
"testing" | ||
|
||
"github.com/cosmos/cosmos-sdk/client/flags" | ||
"github.com/cosmos/cosmos-sdk/crypto/hd" | ||
sdk "github.com/cosmos/cosmos-sdk/types" | ||
"github.com/stretchr/testify/suite" | ||
"github.com/vitwit/avail-da-module/client/cli" | ||
network "github.com/vitwit/avail-da-module/network" | ||
|
||
app "simapp/app" | ||
|
||
clitestutil "github.com/cosmos/cosmos-sdk/testutil/cli" | ||
) | ||
|
||
func TestIntegrationTestSuite(t *testing.T) { | ||
suite.Run(t, new(IntegrationTestSuite)) | ||
} | ||
|
||
type IntegrationTestSuite struct { | ||
suite.Suite | ||
|
||
cfg network.Config | ||
network *network.Network | ||
addresses []string | ||
} | ||
|
||
const aliceMnemonic = "all soap kiwi cushion federal skirt tip shock exist tragic verify lunar shine rely torch please view future lizard garbage humble medal leisure mimic" | ||
|
||
func (s *IntegrationTestSuite) SetupSuite() { | ||
s.T().Log("setting up integration test suite") | ||
|
||
var err error | ||
|
||
// Setup network config | ||
cfg := network.DefaultConfig(app.NewTestNetworkFixture) | ||
cfg.NumValidators = 1 | ||
s.cfg = cfg | ||
|
||
// Initialize the network | ||
s.network, err = network.New(s.T(), s.T().TempDir(), cfg) | ||
s.Require().NoError(err) | ||
|
||
kb := s.network.Validators[0].ClientCtx.Keyring | ||
path := sdk.GetConfig().GetFullBIP44Path() | ||
info, err := kb.NewAccount("alice", aliceMnemonic, "", path, hd.Secp256k1) | ||
s.Require().NoError(err) | ||
|
||
add, err := info.GetAddress() | ||
s.Require().NoError(err) | ||
s.addresses = append(s.addresses, add.String()) | ||
|
||
_, err = s.network.WaitForHeight(1) | ||
s.Require().NoError(err) | ||
} | ||
|
||
func (s *IntegrationTestSuite) TearDownSuite() { | ||
s.T().Log("tearing down integration suite") | ||
s.network.Cleanup() | ||
} | ||
|
||
func (s *IntegrationTestSuite) TestNewUpdateBlobStatusCmd() { | ||
val := s.network.Validators[0] | ||
|
||
testCases := []struct { | ||
name string | ||
args []string | ||
expectErr bool | ||
}{ | ||
{ | ||
"update blob status - success", | ||
[]string{ | ||
"1", | ||
"10", | ||
"success", | ||
"120", | ||
fmt.Sprintf("--%s=%s", flags.FlagFrom, s.addresses[0]), | ||
fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), | ||
fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), | ||
}, | ||
false, | ||
}, | ||
{ | ||
"update blob status - failure", | ||
[]string{ | ||
"1", | ||
"10", | ||
"failure", | ||
"120", | ||
fmt.Sprintf("--%s=%s", flags.FlagFrom, s.addresses[0]), | ||
fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), | ||
fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), | ||
}, | ||
false, | ||
}, | ||
{ | ||
"update blob status - invalid status", | ||
[]string{ | ||
"1", | ||
"10", | ||
"invalid", | ||
"120", | ||
fmt.Sprintf("--%s=%s", flags.FlagFrom, s.addresses[0]), | ||
fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), | ||
fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), | ||
}, | ||
false, | ||
}, | ||
} | ||
|
||
for _, tc := range testCases { | ||
s.Run(tc.name, func() { | ||
cmd := cli.NewUpdateBlobStatusCmd() | ||
res, err := clitestutil.ExecTestCLICmd(val.ClientCtx, cmd, tc.args) | ||
if tc.expectErr { | ||
if err != nil { | ||
s.Require().Error(err) | ||
} | ||
} | ||
|
||
s.Require().NoError(nil) | ||
s.Require().NotNil(res) | ||
}) | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
package client | ||
|
||
const ( | ||
KeyringBackendTest = "test" | ||
) | ||
|
||
// ChainClient is client to interact with SPN. | ||
type ChainClient struct { | ||
Address string `json:"address"` | ||
AddressPrefix string `json:"account_address_prefix"` | ||
RPC string `json:"rpc"` | ||
Key string `json:"key"` | ||
Mnemonic string `json:"mnemonic"` | ||
KeyringServiceName string `json:"keyring_service_name"` | ||
HDPath string `json:"hd_path"` | ||
Enabled bool `json:"enabled"` | ||
ChainName string `json:"chain_name"` | ||
Denom string `json:"denom"` | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.