[MM-47489] Move Shared Channels (Experimental) to Professional (#21882)

* Move shared channels to professional license

* Remove references to SharedChannels from license and use license SKU instead

* add tests

* Refactor shared channels license check and add tests

* Re-add removed negation on license check

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
Mylon Suren
2023-01-03 16:30:30 -05:00
коммит произвёл GitHub
родитель c8e70718c2
Коммит ed23df6a2e
5 изменённых файлов: 134 добавлений и 2 удалений

Просмотреть файл

@@ -312,6 +312,16 @@ func (l *License) HasEnterpriseMarketplacePlugins() bool {
l.SkuShortName == LicenseShortSkuEnterprise
}
func (l *License) HasSharedChannels() bool {
if l == nil {
return false
}
return (l.Features != nil && l.Features.SharedChannels != nil && *l.Features.SharedChannels) ||
l.SkuShortName == LicenseShortSkuProfessional ||
l.SkuShortName == LicenseShortSkuEnterprise
}
// NewTestLicense returns a license that expires in the future and has the given features.
func NewTestLicense(features ...string) *License {
ret := &License{

Просмотреть файл

@@ -343,3 +343,53 @@ func TestLicense_IsSanctionedTrial(t *testing.T) {
assert.True(t, license.IsSanctionedTrial())
})
}
func TestLicenseHasSharedChannels(t *testing.T) {
testCases := []struct {
description string
license License
expectedValue bool
}{
{
"licensed for shared channels",
License{
Features: &Features{
SharedChannels: NewBool(true),
},
SkuShortName: "other",
},
true,
},
{
"not licensed for shared channels",
License{
Features: &Features{},
SkuShortName: "other",
},
false,
},
{
"professional license for shared channels",
License{
Features: &Features{},
SkuShortName: LicenseShortSkuProfessional,
},
true,
},
{
"enterprise license for shared channels",
License{
Features: &Features{},
SkuShortName: LicenseShortSkuEnterprise,
},
true,
},
}
for _, testCase := range testCases {
t.Run(testCase.description, func(t *testing.T) {
assert.Equal(t, testCase.expectedValue, testCase.license.HasSharedChannels())
})
}
}