refactor: reorganize modules and add Linux build tooling
This commit is contained in:
226
module/base/initial/test/grpc/main.go
Normal file
226
module/base/initial/test/grpc/main.go
Normal file
@@ -0,0 +1,226 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"crypto/tls"
|
||||
"log"
|
||||
"time"
|
||||
|
||||
pb "bsm/full/module/base/initial/pb"
|
||||
"git.apinb.com/bsm-sdk/core/utils"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/credentials"
|
||||
"google.golang.org/grpc/credentials/insecure"
|
||||
"google.golang.org/grpc/metadata"
|
||||
)
|
||||
|
||||
const (
|
||||
address = "api.apinb.com:10020" // 本地测试地址
|
||||
)
|
||||
|
||||
func main() {
|
||||
log.Println("开始测试 Initial Service...")
|
||||
|
||||
// 测试健康检查
|
||||
testHello()
|
||||
|
||||
// 测试配置获取
|
||||
testConfig()
|
||||
|
||||
// 测试更新检查
|
||||
testUpdates()
|
||||
|
||||
// 测试国家数据
|
||||
testCountry()
|
||||
|
||||
// 测试地区数据
|
||||
testAreas()
|
||||
|
||||
// 测试系统数据
|
||||
testDatas()
|
||||
|
||||
log.Println("所有测试完成!")
|
||||
}
|
||||
|
||||
// 创建gRPC连接
|
||||
func createConnection() (*grpc.ClientConn, error) {
|
||||
// 使用不安全连接进行本地测试
|
||||
conn, err := grpc.Dial(address,
|
||||
grpc.WithTransportCredentials(insecure.NewCredentials()),
|
||||
grpc.WithBlock(),
|
||||
)
|
||||
return conn, err
|
||||
}
|
||||
|
||||
// 创建带有TLS的连接(用于生产环境)
|
||||
func createSecureConnection() (*grpc.ClientConn, error) {
|
||||
config := &tls.Config{
|
||||
ServerName: "api.apinb.com",
|
||||
}
|
||||
conn, err := grpc.Dial("api.apinb.com:443",
|
||||
grpc.WithTransportCredentials(credentials.NewTLS(config)),
|
||||
grpc.WithBlock(),
|
||||
)
|
||||
return conn, err
|
||||
}
|
||||
|
||||
// 创建上下文和元数据
|
||||
func createContext() (context.Context, context.CancelFunc) {
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
|
||||
|
||||
newMetaData := metadata.New(nil)
|
||||
newMetaData.Set("request_id", utils.UUID())
|
||||
newMetaData.Set("workspace", "bsm")
|
||||
outCtx := metadata.NewOutgoingContext(ctx, newMetaData)
|
||||
|
||||
return outCtx, cancel
|
||||
}
|
||||
|
||||
// 测试健康检查
|
||||
func testHello() {
|
||||
log.Println("测试健康检查...")
|
||||
|
||||
conn, err := createConnection()
|
||||
if err != nil {
|
||||
log.Printf("连接失败: %v", err)
|
||||
return
|
||||
}
|
||||
defer conn.Close()
|
||||
|
||||
client := pb.NewCheckClient(conn)
|
||||
ctx, cancel := createContext()
|
||||
defer cancel()
|
||||
|
||||
resp, err := client.Hello(ctx, &pb.Crc{Code: "test"})
|
||||
if err != nil {
|
||||
log.Printf("Hello 调用失败: %v", err)
|
||||
return
|
||||
}
|
||||
log.Printf("Hello 响应: %v", resp)
|
||||
}
|
||||
|
||||
// 测试配置获取
|
||||
func testConfig() {
|
||||
log.Println("测试配置获取...")
|
||||
|
||||
conn, err := createConnection()
|
||||
if err != nil {
|
||||
log.Printf("连接失败: %v", err)
|
||||
return
|
||||
}
|
||||
defer conn.Close()
|
||||
|
||||
client := pb.NewCheckClient(conn)
|
||||
ctx, cancel := createContext()
|
||||
defer cancel()
|
||||
|
||||
resp, err := client.Config(ctx, &pb.ConfigRequest{
|
||||
App: "test-app",
|
||||
Os: "linux",
|
||||
})
|
||||
if err != nil {
|
||||
log.Printf("Config 调用失败: %v", err)
|
||||
return
|
||||
}
|
||||
log.Printf("Config 响应: %v", resp)
|
||||
}
|
||||
|
||||
// 测试更新检查
|
||||
func testUpdates() {
|
||||
log.Println("测试更新检查...")
|
||||
|
||||
conn, err := createConnection()
|
||||
if err != nil {
|
||||
log.Printf("连接失败: %v", err)
|
||||
return
|
||||
}
|
||||
defer conn.Close()
|
||||
|
||||
client := pb.NewCheckClient(conn)
|
||||
ctx, cancel := createContext()
|
||||
defer cancel()
|
||||
|
||||
resp, err := client.Updates(ctx, &pb.CheckForUpdatesRequest{
|
||||
App: "test-app",
|
||||
Os: "linux",
|
||||
Arch: "amd64",
|
||||
Version: "1.0.0",
|
||||
})
|
||||
if err != nil {
|
||||
log.Printf("Updates 调用失败: %v", err)
|
||||
return
|
||||
}
|
||||
log.Printf("Updates 响应: %v", resp)
|
||||
}
|
||||
|
||||
// 测试国家数据
|
||||
func testCountry() {
|
||||
log.Println("测试国家数据...")
|
||||
|
||||
conn, err := createConnection()
|
||||
if err != nil {
|
||||
log.Printf("连接失败: %v", err)
|
||||
return
|
||||
}
|
||||
defer conn.Close()
|
||||
|
||||
client := pb.NewDataClient(conn)
|
||||
ctx, cancel := createContext()
|
||||
defer cancel()
|
||||
|
||||
resp, err := client.Country(ctx, &pb.Empty{})
|
||||
if err != nil {
|
||||
log.Printf("Country 调用失败: %v", err)
|
||||
return
|
||||
}
|
||||
log.Printf("Country 响应: 共 %d 个国家", len(resp.Countries))
|
||||
}
|
||||
|
||||
// 测试地区数据
|
||||
func testAreas() {
|
||||
log.Println("测试地区数据...")
|
||||
|
||||
conn, err := createConnection()
|
||||
if err != nil {
|
||||
log.Printf("连接失败: %v", err)
|
||||
return
|
||||
}
|
||||
defer conn.Close()
|
||||
|
||||
client := pb.NewDataClient(conn)
|
||||
ctx, cancel := createContext()
|
||||
defer cancel()
|
||||
|
||||
resp, err := client.Areas(ctx, &pb.AreasRequest{
|
||||
CountryId: 1, // 中国
|
||||
ShowTown: false,
|
||||
})
|
||||
if err != nil {
|
||||
log.Printf("Areas 调用失败: %v", err)
|
||||
return
|
||||
}
|
||||
log.Printf("Areas 响应: 共 %d 个地区", len(resp.Areas))
|
||||
}
|
||||
|
||||
// 测试系统数据
|
||||
func testDatas() {
|
||||
log.Println("测试系统数据...")
|
||||
|
||||
conn, err := createConnection()
|
||||
if err != nil {
|
||||
log.Printf("连接失败: %v", err)
|
||||
return
|
||||
}
|
||||
defer conn.Close()
|
||||
|
||||
client := pb.NewDataClient(conn)
|
||||
ctx, cancel := createContext()
|
||||
defer cancel()
|
||||
|
||||
resp, err := client.Datas(ctx, &pb.Empty{})
|
||||
if err != nil {
|
||||
log.Printf("Datas 调用失败: %v", err)
|
||||
return
|
||||
}
|
||||
log.Printf("Datas 响应: 共 %d 个数据项", len(resp.Datas))
|
||||
}
|
||||
5
module/base/initial/test/http/check.hello.http
Normal file
5
module/base/initial/test/http/check.hello.http
Normal file
@@ -0,0 +1,5 @@
|
||||
POST http://api.apinb.com/initial.Check/Hello
|
||||
content-type: application/json
|
||||
|
||||
{
|
||||
}
|
||||
7
module/base/initial/test/http/data.country.http
Normal file
7
module/base/initial/test/http/data.country.http
Normal file
@@ -0,0 +1,7 @@
|
||||
POST http://api.apinb.com/initial.Data/Country
|
||||
content-type: application/json
|
||||
request-id: 123456
|
||||
workspace: bsm
|
||||
|
||||
{
|
||||
}
|
||||
1
module/base/initial/test/readme.md
Normal file
1
module/base/initial/test/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
restful test
|
||||
Reference in New Issue
Block a user