| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- package task
- import (
- "dsbqj-admin/model/mongo/version"
- "testing"
- )
- func TestVersionsCheckEnvVersionAndDefault(t *testing.T) {
- versions := VersionInit()
- channel := new(ChannelVersions)
- releaseDefault := &version.Version{Channel: "wx", EnvVersion: "release", Version: "1.0.0", Url: "正式服默认地址", Default: true}
- releaseExact := &version.Version{Channel: "wx", EnvVersion: "release", Version: "1.0.1", Url: "正式服版本地址"}
- trialDefault := &version.Version{Channel: "wx", EnvVersion: "trial", Version: "1.0.0", Url: "体验服默认地址", Default: true}
- trialExact := &version.Version{Channel: "wx", EnvVersion: "trial", Version: "1.0.1", Url: "体验服版本地址"}
- for _, v := range []*version.Version{releaseDefault, releaseExact, trialDefault, trialExact} {
- channel.VList.Push(v)
- channel.VMap.Set(versionMapKey(v.Version, NormalizeEnvVersion(v.EnvVersion)), v)
- }
- versions.VChannels.Set("wx", channel)
- if got := versions.Check("1.0.1", "wx", "trial"); got != trialDefault {
- t.Fatalf("传入体验版环境版本时应优先返回体验版默认地址,实际返回 %#v", got)
- }
- if got := versions.Check("1.0.1", "wx", "release"); got != releaseDefault {
- t.Fatalf("传入正式服环境版本时应优先返回正式服默认地址,实际返回 %#v", got)
- }
- if got := versions.Check("1.0.1", "wx", ""); got != releaseExact {
- t.Fatalf("未传环境版本应返回正式服地址,实际返回 %#v", got)
- }
- if got := versions.Check("1.0.1", "wx", ""); got == nil || got.Version != "1.0.1" {
- t.Fatalf("未传环境版本时应优先按版本号返回任意环境版本,实际返回 %#v", got)
- }
- if got := versions.Check("9.9.9", "wx", "trial"); got != trialDefault {
- t.Fatalf("体验版未知版本应返回体验版默认地址,实际返回 %#v", got)
- }
- if got := versions.Check("9.9.9", "wx", "develop"); got != releaseDefault {
- t.Fatalf("开发版未知版本应返回正式服默认地址,实际返回 %#v", got)
- }
- }
- func TestVersionsCheckWithoutEnvVersionUsesVersionFirst(t *testing.T) {
- versions := VersionInit()
- channel := new(ChannelVersions)
- releaseDefault := &version.Version{Channel: "wx", EnvVersion: "release", Version: "1.0.0", Url: "正式服默认地址", Default: true}
- trialExact := &version.Version{Channel: "wx", EnvVersion: "trial", Version: "0.2.0", Url: "体验版版本地址"}
- for _, v := range []*version.Version{releaseDefault, trialExact} {
- channel.VList.Push(v)
- channel.VMap.Set(versionMapKey(v.Version, NormalizeEnvVersion(v.EnvVersion)), v)
- }
- versions.VChannels.Set("wx", channel)
- if got := versions.Check("0.2.0", "wx", ""); got != trialExact {
- t.Fatalf("未传环境版本时应按版本号命中体验版版本,实际返回 %#v", got)
- }
- if got := versions.Check("9.9.9", "wx", ""); got != releaseDefault {
- t.Fatalf("未传环境版本且版本号不存在时应返回正式服默认地址,实际返回 %#v", got)
- }
- }
- func TestVersionsCheckEnvVersionPriority(t *testing.T) {
- versions := VersionInit()
- channel := new(ChannelVersions)
- releaseDefault := &version.Version{Channel: "wx", EnvVersion: "release", Version: "1.0.0", Url: "正式服默认地址", Default: true}
- releaseExact := &version.Version{Channel: "wx", EnvVersion: "release", Version: "1.0.1", Url: "正式服版本地址"}
- trialDefault := &version.Version{Channel: "wx", EnvVersion: "trial", Version: "2.0.0", Url: "体验版默认地址", Default: true}
- trialExact := &version.Version{Channel: "wx", EnvVersion: "trial", Version: "1.0.1", Url: "体验版版本地址"}
- for _, v := range []*version.Version{releaseDefault, releaseExact, trialDefault, trialExact} {
- channel.VList.Push(v)
- channel.VMap.Set(versionMapKey(v.Version, NormalizeEnvVersion(v.EnvVersion)), v)
- }
- versions.VChannels.Set("wx", channel)
- if got := versions.Check("1.0.1", "wx", "release"); got != releaseDefault {
- t.Fatalf("传入正式服环境版本时应优先返回正式服默认地址,实际返回 %#v", got)
- }
- if got := versions.Check("1.0.1", "wx", "trial"); got != trialDefault {
- t.Fatalf("传入体验版环境版本时应优先返回体验版默认地址,实际返回 %#v", got)
- }
- }
- func TestVersionsCheckEnvVersionWithoutDefault(t *testing.T) {
- versions := VersionInit()
- channel := new(ChannelVersions)
- releaseExact := &version.Version{Channel: "wx", EnvVersion: "release", Version: "1.0.1", Url: "正式服版本地址"}
- trialExact := &version.Version{Channel: "wx", EnvVersion: "trial", Version: "1.0.1", Url: "体验版版本地址"}
- for _, v := range []*version.Version{releaseExact, trialExact} {
- channel.VList.Push(v)
- channel.VMap.Set(versionMapKey(v.Version, NormalizeEnvVersion(v.EnvVersion)), v)
- }
- versions.VChannels.Set("wx", channel)
- if got := versions.Check("1.0.1", "wx", "release"); got != releaseExact {
- t.Fatalf("正式服没有默认地址时应返回正式服版本地址,实际返回 %#v", got)
- }
- if got := versions.Check("1.0.1", "wx", "trial"); got != trialExact {
- t.Fatalf("体验版没有默认地址时应返回体验版版本地址,实际返回 %#v", got)
- }
- }
|