🔥A cross-language distributed transaction manager. Support xa, tcc, saga, transactional messages. 跨语言分布式事务管理器
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

49 lines
1.3 KiB

package common
import (
"errors"
"os"
"testing"
"github.com/go-playground/assert/v2"
)
func TestLoadFromEnv(t *testing.T) {
assert.Equal(t, "MICRO_SERVICE_DRIVER", toUnderscoreUpper("MicroService_Driver"))
ms := MicroService{}
os.Setenv("T_DRIVER", "d1")
loadFromEnv("T", &ms)
assert.Equal(t, "d1", ms.Driver)
}
func TestCheckConfig(t *testing.T) {
config := &Config
retryIntervalErr := checkConfig()
retryIntervalExpect := errors.New("RetryInterval should not be less than 10")
assert.Equal(t, retryIntervalErr, retryIntervalExpect)
config.RetryInterval = 10
timeoutToFailErr := checkConfig()
timeoutToFailExpect := errors.New("TimeoutToFail should not be less than RetryInterval")
assert.Equal(t, timeoutToFailErr, timeoutToFailExpect)
config.TimeoutToFail = 20
driverErr := checkConfig()
assert.Equal(t, driverErr, nil)
config.Store = Store{Driver: Mysql}
hostErr := checkConfig()
hostExpect := errors.New("Db host not valid ")
assert.Equal(t, hostErr, hostExpect)
config.Store = Store{Driver: Mysql, Host: "127.0.0.1"}
portErr := checkConfig()
portExpect := errors.New("Db port not valid ")
assert.Equal(t, portErr, portExpect)
config.Store = Store{Driver: Mysql, Host: "127.0.0.1", Port: 8686}
userErr := checkConfig()
userExpect := errors.New("Db user not valid ")
assert.Equal(t, userErr, userExpect)
}