38 lines
1.1 KiB
Go
38 lines
1.1 KiB
Go
package channelconfig
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
"git.5iot.com/iotlcm-public/iotlcm-upstream-chan/internal/model/entity"
|
|
)
|
|
|
|
func TestChannelVersionDetectsCredentialChanges(t *testing.T) {
|
|
normal := 0
|
|
row := &channelConfigRow{IsNormal: &normal, TSimChannels: entity.TSimChannels{
|
|
ChanKey: "telecom-test", TempKey: "sim_dx_v1", AppKey: "key", AppSecret: "secret",
|
|
AccessToken: "token", RefreshToken: "refresh",
|
|
}}
|
|
config := NewChannelConfig()
|
|
before := config.getChanVersion(context.Background(), row)
|
|
for _, field := range []string{"appKey", "appSecret", "accessToken", "refreshToken", "tempKey"} {
|
|
t.Run(field, func(t *testing.T) {
|
|
changed := *row
|
|
switch field {
|
|
case "appKey":
|
|
changed.AppKey = "new-key"
|
|
case "appSecret":
|
|
changed.AppSecret = "new-secret"
|
|
case "accessToken":
|
|
changed.AccessToken = "new-token"
|
|
case "refreshToken":
|
|
changed.RefreshToken = "new-refresh"
|
|
case "tempKey":
|
|
changed.TempKey = "sim_dx_v3"
|
|
}
|
|
if got := config.getChanVersion(context.Background(), &changed); got == before {
|
|
t.Fatalf("%s change did not invalidate runtime version", field)
|
|
}
|
|
})
|
|
}
|
|
}
|