chore(CI): Add testing

https://github.com/appleboy/gorush/issues/704

Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
This commit is contained in:
Bo-Yi.Wu 2022-12-20 22:20:24 +08:00
parent 4ef30a0cdc
commit b83b458147
5 changed files with 71 additions and 71 deletions

View File

@ -40,3 +40,33 @@ jobs:
name: hadolint for Dockerfile.linux.arm
with:
dockerfile: docker/Dockerfile.linux.arm
testing:
runs-on: ubuntu-latest
container: node:10.18-jessie
# Service containers to run with `container-job`
services:
# Label used to access the service container
redis:
# Docker Hub image
image: redis
# Set health checks to wait until redis has started
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Setup go
uses: actions/setup-go@v3
with:
go-version: '^1'
- name: Checkout repository
uses: actions/checkout@v3
- name: testing
env:
ANDROID_API_KEY: ${{ secrets.ANDROID_API_KEY }}
ANDROID_TEST_TOKEN: ${{ secrets.ANDROID_TEST_TOKEN }}
run : make test

View File

@ -41,25 +41,6 @@ ifeq ($(ANDROID_TEST_TOKEN),)
endif
@echo "Already set ANDROID_API_KEY and ANDROID_TEST_TOKEN globale variable."
.PHONY: fmt
fmt:
@hash gofumpt > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
$(GO) install mvdan.cc/gofumpt@v0.1.1; \
fi
$(GOFMT) -w $(GOFILES)
.PHONY: fmt-check
fmt-check:
@hash gofumpt > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
$(GO) install mvdan.cc/gofumpt@v0.1.1; \
fi
@diff=$$($(GOFMT) -d $(GOFILES)); \
if [ -n "$$diff" ]; then \
echo "Please run 'make fmt' and commit the result:"; \
echo "$${diff}"; \
exit 1; \
fi;
vet:
$(GO) vet ./...
@ -96,7 +77,7 @@ misspell:
misspell -w $(GOFILES)
.PHONY: test
test: init fmt-check
test: init
@$(GO) test -v -cover -tags $(TAGS) -coverprofile coverage.txt ./... && echo "\n==>\033[32m Ok\033[m\n" || exit 1
release: release-dirs release-build release-copy release-compress release-check

View File

@ -20,7 +20,7 @@ func TestMissingAndroidAPIKey(t *testing.T) {
err := CheckPushConf(cfg)
assert.Error(t, err)
assert.Equal(t, "Missing Android API Key", err.Error())
assert.Equal(t, "missing android api key", err.Error())
}
func TestMissingKeyForInitFCMClient(t *testing.T) {
@ -30,7 +30,7 @@ func TestMissingKeyForInitFCMClient(t *testing.T) {
assert.Nil(t, client)
assert.Error(t, err)
assert.Equal(t, "Missing Android API Key", err.Error())
assert.Equal(t, "missing android api key", err.Error())
}
func TestPushToAndroidWrongToken(t *testing.T) {

View File

@ -17,7 +17,7 @@ func TestMissingHuaweiAppSecret(t *testing.T) {
err := CheckPushConf(cfg)
assert.Error(t, err)
assert.Equal(t, "Missing Huawei App Secret", err.Error())
assert.Equal(t, "missing huawei app secret", err.Error())
}
func TestMissingHuaweiAppID(t *testing.T) {
@ -29,7 +29,7 @@ func TestMissingHuaweiAppID(t *testing.T) {
err := CheckPushConf(cfg)
assert.Error(t, err)
assert.Equal(t, "Missing Huawei App ID", err.Error())
assert.Equal(t, "missing huawei app id", err.Error())
}
func TestMissingAppSecretForInitHMSClient(t *testing.T) {
@ -38,7 +38,7 @@ func TestMissingAppSecretForInitHMSClient(t *testing.T) {
assert.Nil(t, client)
assert.Error(t, err)
assert.Equal(t, "Missing Huawei App Secret", err.Error())
assert.Equal(t, "missing huawei app secret", err.Error())
}
func TestMissingAppIDForInitHMSClient(t *testing.T) {
@ -47,5 +47,5 @@ func TestMissingAppIDForInitHMSClient(t *testing.T) {
assert.Nil(t, client)
assert.Error(t, err)
assert.Equal(t, "Missing Huawei App ID", err.Error())
assert.Equal(t, "missing huawei app id", err.Error())
}

View File

@ -1,53 +1,42 @@
package rpc
import (
"context"
"testing"
// const gRPCAddr = "localhost:9000"
"github.com/appleboy/gorush/config"
// func initTest() *config.ConfYaml {
// cfg, _ := config.LoadConf()
// cfg.Core.Mode = "test"
// return cfg
// }
"google.golang.org/grpc"
"google.golang.org/grpc/connectivity"
"google.golang.org/grpc/credentials/insecure"
)
// func TestGracefulShutDownGRPCServer(t *testing.T) {
// cfg := initTest()
// cfg.GRPC.Enabled = true
// cfg.GRPC.Port = "9000"
// cfg.Log.Format = "json"
const gRPCAddr = "localhost:9000"
// // Run gRPC server
// ctx, gRPCContextCancel := context.WithCancel(context.Background())
// go func() {
// if err := RunGRPCServer(ctx, cfg); err != nil {
// panic(err)
// }
// }()
func initTest() *config.ConfYaml {
cfg, _ := config.LoadConf()
cfg.Core.Mode = "test"
return cfg
}
// // gRPC client conn
// conn, err := grpc.Dial(
// gRPCAddr,
// grpc.WithTransportCredentials(insecure.NewCredentials()),
// grpc.WithDefaultCallOptions(grpc.WaitForReady(true)),
// ) // wait for server ready
// if err != nil {
// t.Error(err)
// }
func TestGracefulShutDownGRPCServer(t *testing.T) {
cfg := initTest()
cfg.GRPC.Enabled = true
cfg.GRPC.Port = "9000"
cfg.Log.Format = "json"
// // Stop gRPC server
// go gRPCContextCancel()
// Run gRPC server
ctx, gRPCContextCancel := context.WithCancel(context.Background())
go func() {
if err := RunGRPCServer(ctx, cfg); err != nil {
panic(err)
}
}()
// gRPC client conn
conn, err := grpc.Dial(
gRPCAddr,
grpc.WithTransportCredentials(insecure.NewCredentials()),
grpc.WithDefaultCallOptions(grpc.WaitForReady(true)),
) // wait for server ready
if err != nil {
t.Error(err)
}
// Stop gRPC server
go gRPCContextCancel()
// wait for client connection would be closed
for conn.GetState() != connectivity.TransientFailure {
}
conn.Close()
}
// // wait for client connection would be closed
// for conn.GetState() != connectivity.TransientFailure {
// }
// conn.Close()
// }