| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- package service
- import (
- "context"
- "go-template/business/dto"
- "go-template/business/util"
- "testing"
- "time"
- "gitea.ckfah.com/cjjy/gocommon/pkg/cache/redis"
- "gitea.ckfah.com/cjjy/gocommon/pkg/conf"
- "gitea.ckfah.com/cjjy/gocommon/pkg/mq/rocketmq"
- "gitea.ckfah.com/cjjy/gocommon/pkg/net/nacos"
- "github.com/apache/rocketmq-client-go/v2/primitive"
- )
- // make test test_func=Test_Redis_Resource test_pkg=./business/service
- func Test_Redis_Resource(t *testing.T) {
- t.Run("测试redis-set", func(t *testing.T) {
- key := "key-demo"
- value := "value"
- setResult, err := redis.Instance().SetString(redis.PrefixKey(key), value)
- if err != nil {
- t.Fatal(err)
- }
- t.Logf("redis 插入成功: %v", setResult)
- t.Run("测试redis-get", func(t *testing.T) {
- resultStr, err := redis.Instance().GetString(redis.PrefixKey(key))
- if err != nil {
- t.Fatal(err)
- }
- if resultStr == value {
- t.Logf("redis 查询成功: %v", resultStr)
- }
- })
- })
- t.Run("测试redis-get-nil", func(t *testing.T) {
- _, err := redis.Instance().GetString(redis.PrefixKey("null"))
- if redis.CheckIsNilErr(err) {
- t.Logf("测试redis查询为空成功")
- } else {
- t.Fatal("redis查询失败")
- }
- })
- t.Run("测试redis-set ex", func(t *testing.T) {
- _, err := redis.Instance().SetExString(redis.PrefixKey("ex"), "demo", 1)
- if err != nil {
- t.Fatal(err)
- }
- t.Run("测试redis未过期", func(t *testing.T) {
- result, err := redis.Instance().GetString(redis.PrefixKey("ex"))
- if err != nil {
- t.Fatal(err)
- }
- t.Logf("获取成功: %s", result)
- })
- t.Run("测试redis已过期", func(t *testing.T) {
- time.Sleep(time.Second)
- _, err := redis.Instance().GetString(redis.PrefixKey("ex"))
- if redis.CheckIsNilErr(err) {
- t.Logf("测试过期成功")
- } else {
- t.Fatal("测试过期失败")
- }
- })
- })
- }
- // make test test_func=Test_MQ_Resource test_pkg=./business/service
- func Test_MQ_Resource(t *testing.T) {
- t.Run("生产和消费消息", func(t *testing.T) {
- topic := "test_topic"
- t.Run("普通发送", func(t *testing.T) {
- result, err := NewReportService().SendMQ(util.MockContext(), &dto.SendMQParams{
- Topic: topic,
- Message: `{"data":"yyyy","code":0,"message":"success"}`,
- })
- if err != nil {
- t.Fatal(err)
- }
- t.Logf("发送成功: %v", result)
- })
- t.Run("获取消息ID", func(t *testing.T) {
- result, err := rocketmq.GetProducer().SendV2(util.MockContext(), topic, []byte(`{"data":"yyyy","code":0,"message":"success"}`))
- if err != nil {
- t.Fatal(err)
- }
- t.Logf("发送成功 msg_id: %v", result.MsgID)
- })
- t.Run("消费消息", func(t *testing.T) {
- err := rocketmq.GetConsumer().Subscribe(topic, func(ctx context.Context, message *primitive.MessageExt) {
- t.Logf("收到消息: %v", message)
- })
- if err != nil {
- t.Fatal(err)
- }
- if err := rocketmq.GetConsumer().GetRocketMqConsumer().Start(); err != nil {
- t.Fatal(err)
- }
- time.Sleep(time.Millisecond * 10)
- })
- })
- t.Run("发送MQ消息模拟失败", func(t *testing.T) {
- _, err := rocketmq.GetProducer().SendV2(util.MockContext(), "test_topic_1", []byte(`{"data":"yyyy","code":0,"message":"success"}`))
- if err != nil {
- t.Logf("失败信息: %v", err)
- } else {
- t.Fatal("未获取到失败信息")
- }
- })
- }
- // make test test_func=Test_Nacos_Config_Discover_Register test_pkg=./business/service
- func Test_Nacos_Config_Discover_Register(t *testing.T) {
- t.Run("测试注册服务", func(t *testing.T) {
- err := nacos.InitNacosRegisterClient()
- if err != nil {
- t.Fatal(err)
- }
- t.Logf("注册成功")
- })
- t.Run("获取服务", func(t *testing.T) {
- time.Sleep(time.Second)
- host, err := nacos.GetHost("ebike-factory-api")
- if err != nil {
- t.Logf("获取服务异常: %s", err)
- } else {
- t.Logf("获取服务成功: %s", host)
- }
- })
- t.Run("测试config", func(t *testing.T) {
- t.Logf("获取配置:%v", conf.GetStringV2("application.project_name"))
- })
- }
|