Add cmd and utils unit tests and a CI workflow
All checks were successful
Build / build (pull_request) Successful in 2m48s
Lint / Run golangci-lint (pull_request) Successful in 2m52s
E2E Tests / test-e2e (pull_request) Successful in 3m40s
Unit Tests / test-unit (pull_request) Successful in 1m14s
Integration Tests / test-integration (pull_request) Successful in 2m13s
All checks were successful
Build / build (pull_request) Successful in 2m48s
Lint / Run golangci-lint (pull_request) Successful in 2m52s
E2E Tests / test-e2e (pull_request) Successful in 3m40s
Unit Tests / test-unit (pull_request) Successful in 1m14s
Integration Tests / test-integration (pull_request) Successful in 2m13s
This commit is contained in:
parent
d50e5eb42d
commit
af2b71abf0
19
.gitea/workflows/test-unit.yml
Normal file
19
.gitea/workflows/test-unit.yml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
name: Unit Tests
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test-unit:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/setup-go@v3
|
||||||
|
with:
|
||||||
|
go-version: 1.21
|
||||||
|
check-latest: true
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Test
|
||||||
|
run: |
|
||||||
|
make test-unit
|
3
Makefile
3
Makefile
@ -103,3 +103,6 @@ test-integration:
|
|||||||
|
|
||||||
test-e2e:
|
test-e2e:
|
||||||
$(MAKE) -C tests test-e2e
|
$(MAKE) -C tests test-e2e
|
||||||
|
|
||||||
|
test-unit:
|
||||||
|
go test ./utils/... ./cmd/... -mod=readonly -test.v
|
||||||
|
28
cmd/laconic2d/cmd_test.go
Normal file
28
cmd/laconic2d/cmd_test.go
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
package main_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
|
"github.com/cosmos/cosmos-sdk/client/flags"
|
||||||
|
svrcmd "github.com/cosmos/cosmos-sdk/server/cmd"
|
||||||
|
"github.com/cosmos/cosmos-sdk/x/genutil/client/cli"
|
||||||
|
|
||||||
|
"git.vdb.to/cerc-io/laconic2d/app"
|
||||||
|
"git.vdb.to/cerc-io/laconic2d/cmd/laconic2d/cmd"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestInitCmd(t *testing.T) {
|
||||||
|
rootCmd := cmd.NewRootCmd()
|
||||||
|
rootCmd.SetArgs([]string{
|
||||||
|
"init", // Test the init cmd
|
||||||
|
"localtestnet", // Moniker
|
||||||
|
fmt.Sprintf("--%s=%s", cli.FlagOverwrite, "true"), // Overwrite genesis.json, in case it already exists
|
||||||
|
fmt.Sprintf("--%s=%s", flags.FlagChainID, "laconic_9000-1"),
|
||||||
|
})
|
||||||
|
|
||||||
|
err := svrcmd.Execute(rootCmd, "", app.DefaultNodeHome)
|
||||||
|
require.NoError(t, err)
|
||||||
|
}
|
33
utils/json_test.go
Normal file
33
utils/json_test.go
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
package utils
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestAndValidateCIDGeneration(t *testing.T) {
|
||||||
|
testCases := []struct {
|
||||||
|
name string
|
||||||
|
content string
|
||||||
|
expected string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
"empty string", "", "",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"empty json", "{}", "bafyreigbtj4x7ip5legnfznufuopl4sg4knzc2cof6duas4b3q2fy6swua",
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"test record", "{\"build_artifact_cid\":\"QmP8jTG1m9GSDJLCbeWhVSVgEzCPPwXRdCRuJtQ5Tz9Kc9\",\"repo_registration_record_cid\":\"QmSnuWmxptJZdLJpKRarxBMS2Ju2oANVrgbr2xWbie9b2D\",\"tls_cert_cid\":\"QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR\",\"type\":\"WebsiteRegistrationRecord\",\"url\":\"https://cerc.io\",\"version\":\"0.0.1\"}",
|
||||||
|
"bafyreiek4hnoqmits66bjyxswapplweuoqe4en2ux6u772o4y3askpd3ny",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tc := range testCases {
|
||||||
|
newImpl, err := CIDFromJSONBytes([]byte(tc.content))
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.Equal(t, tc.expected, newImpl)
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user