Add unit test for license resolution
This commit is contained in:
5
Makefile
5
Makefile
@@ -89,6 +89,11 @@ build-cov:
|
|||||||
mkdir -p build
|
mkdir -p build
|
||||||
cd build; go test -c -covermode=count ../cmd/runmqserver
|
cd build; go test -c -covermode=count ../cmd/runmqserver
|
||||||
|
|
||||||
|
# Shortcut to just run the unit tests
|
||||||
|
.PHONY: test-unit
|
||||||
|
test-unit:
|
||||||
|
docker build --target builder --file Dockerfile-server .
|
||||||
|
|
||||||
.PHONY: test-advancedserver
|
.PHONY: test-advancedserver
|
||||||
test-advancedserver: test/docker/vendor
|
test-advancedserver: test/docker/vendor
|
||||||
$(info $(SPACER)$(shell printf $(TITLE)"Test $(DOCKER_FULL_ADVANCEDSERVER) on Docker"$(END)))
|
$(info $(SPACER)$(shell printf $(TITLE)"Test $(DOCKER_FULL_ADVANCEDSERVER) on Docker"$(END)))
|
||||||
|
|||||||
@@ -50,7 +50,8 @@ func resolveLicenseFile() string {
|
|||||||
return "Italian.txt"
|
return "Italian.txt"
|
||||||
case strings.HasPrefix(lang, "ja"):
|
case strings.HasPrefix(lang, "ja"):
|
||||||
return "Japanese.txt"
|
return "Japanese.txt"
|
||||||
case strings.HasPrefix(lang, "ko"):
|
// Need to differentiate Korean (ko) from Konkani (kok)
|
||||||
|
case strings.HasPrefix(lang, "ko") && !strings.HasPrefix(lang, "kok"):
|
||||||
return "Korean.txt"
|
return "Korean.txt"
|
||||||
case strings.HasPrefix(lang, "lt"):
|
case strings.HasPrefix(lang, "lt"):
|
||||||
return "Lithuanian.txt"
|
return "Lithuanian.txt"
|
||||||
|
|||||||
280
cmd/runmqserver/license_test.go
Normal file
280
cmd/runmqserver/license_test.go
Normal file
@@ -0,0 +1,280 @@
|
|||||||
|
/*
|
||||||
|
© Copyright IBM Corporation 2017
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE_2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
var licenseTests = []struct {
|
||||||
|
in string
|
||||||
|
out string
|
||||||
|
}{
|
||||||
|
{"en_US.UTF_8", "English.txt"},
|
||||||
|
{"es_GB", "Spanish.txt"},
|
||||||
|
{"el_ES.UTF_8", "Greek.txt"},
|
||||||
|
// Cover a wide variety of valid values
|
||||||
|
{"af", "English.txt"},
|
||||||
|
{"af_ZA", "English.txt"},
|
||||||
|
{"ar", "English.txt"},
|
||||||
|
{"ar_AE", "English.txt"},
|
||||||
|
{"ar_BH", "English.txt"},
|
||||||
|
{"ar_DZ", "English.txt"},
|
||||||
|
{"ar_EG", "English.txt"},
|
||||||
|
{"ar_IQ", "English.txt"},
|
||||||
|
{"ar_JO", "English.txt"},
|
||||||
|
{"ar_KW", "English.txt"},
|
||||||
|
{"ar_LB", "English.txt"},
|
||||||
|
{"ar_LY", "English.txt"},
|
||||||
|
{"ar_MA", "English.txt"},
|
||||||
|
{"ar_OM", "English.txt"},
|
||||||
|
{"ar_QA", "English.txt"},
|
||||||
|
{"ar_SA", "English.txt"},
|
||||||
|
{"ar_SY", "English.txt"},
|
||||||
|
{"ar_TN", "English.txt"},
|
||||||
|
{"ar_YE", "English.txt"},
|
||||||
|
{"az", "English.txt"},
|
||||||
|
{"az_AZ", "English.txt"},
|
||||||
|
{"az_AZ", "English.txt"},
|
||||||
|
{"be", "English.txt"},
|
||||||
|
{"be_BY", "English.txt"},
|
||||||
|
{"bg", "English.txt"},
|
||||||
|
{"bg_BG", "English.txt"},
|
||||||
|
{"bs_BA", "English.txt"},
|
||||||
|
{"ca", "English.txt"},
|
||||||
|
{"ca_ES", "English.txt"},
|
||||||
|
{"cs", "Czech.txt"},
|
||||||
|
{"cs_CZ", "Czech.txt"},
|
||||||
|
{"cy", "English.txt"},
|
||||||
|
{"cy_GB", "English.txt"},
|
||||||
|
{"da", "English.txt"},
|
||||||
|
{"da_DK", "English.txt"},
|
||||||
|
{"de", "German.txt"},
|
||||||
|
{"de_AT", "German.txt"},
|
||||||
|
{"de_CH", "German.txt"},
|
||||||
|
{"de_DE", "German.txt"},
|
||||||
|
{"de_LI", "German.txt"},
|
||||||
|
{"de_LU", "German.txt"},
|
||||||
|
{"dv", "English.txt"},
|
||||||
|
{"dv_MV", "English.txt"},
|
||||||
|
{"el", "Greek.txt"},
|
||||||
|
{"el_GR", "Greek.txt"},
|
||||||
|
{"en", "English.txt"},
|
||||||
|
{"en_AU", "English.txt"},
|
||||||
|
{"en_BZ", "English.txt"},
|
||||||
|
{"en_CA", "English.txt"},
|
||||||
|
{"en_CB", "English.txt"},
|
||||||
|
{"en_GB", "English.txt"},
|
||||||
|
{"en_IE", "English.txt"},
|
||||||
|
{"en_JM", "English.txt"},
|
||||||
|
{"en_NZ", "English.txt"},
|
||||||
|
{"en_PH", "English.txt"},
|
||||||
|
{"en_TT", "English.txt"},
|
||||||
|
{"en_US", "English.txt"},
|
||||||
|
{"en_ZA", "English.txt"},
|
||||||
|
{"en_ZW", "English.txt"},
|
||||||
|
{"eo", "English.txt"},
|
||||||
|
{"es", "Spanish.txt"},
|
||||||
|
{"es_AR", "Spanish.txt"},
|
||||||
|
{"es_BO", "Spanish.txt"},
|
||||||
|
{"es_CL", "Spanish.txt"},
|
||||||
|
{"es_CO", "Spanish.txt"},
|
||||||
|
{"es_CR", "Spanish.txt"},
|
||||||
|
{"es_DO", "Spanish.txt"},
|
||||||
|
{"es_EC", "Spanish.txt"},
|
||||||
|
{"es_ES", "Spanish.txt"},
|
||||||
|
{"es_ES", "Spanish.txt"},
|
||||||
|
{"es_GT", "Spanish.txt"},
|
||||||
|
{"es_HN", "Spanish.txt"},
|
||||||
|
{"es_MX", "Spanish.txt"},
|
||||||
|
{"es_NI", "Spanish.txt"},
|
||||||
|
{"es_PA", "Spanish.txt"},
|
||||||
|
{"es_PE", "Spanish.txt"},
|
||||||
|
{"es_PR", "Spanish.txt"},
|
||||||
|
{"es_PY", "Spanish.txt"},
|
||||||
|
{"es_SV", "Spanish.txt"},
|
||||||
|
{"es_UY", "Spanish.txt"},
|
||||||
|
{"es_VE", "Spanish.txt"},
|
||||||
|
{"et", "English.txt"},
|
||||||
|
{"et_EE", "English.txt"},
|
||||||
|
{"eu", "English.txt"},
|
||||||
|
{"eu_ES", "English.txt"},
|
||||||
|
{"fa", "English.txt"},
|
||||||
|
{"fa_IR", "English.txt"},
|
||||||
|
{"fi", "English.txt"},
|
||||||
|
{"fi_FI", "English.txt"},
|
||||||
|
{"fo", "English.txt"},
|
||||||
|
{"fo_FO", "English.txt"},
|
||||||
|
{"fr", "French.txt"},
|
||||||
|
{"fr_BE", "French.txt"},
|
||||||
|
{"fr_CA", "French.txt"},
|
||||||
|
{"fr_CH", "French.txt"},
|
||||||
|
{"fr_FR", "French.txt"},
|
||||||
|
{"fr_LU", "French.txt"},
|
||||||
|
{"fr_MC", "French.txt"},
|
||||||
|
{"gl", "English.txt"},
|
||||||
|
{"gl_ES", "English.txt"},
|
||||||
|
{"gu", "English.txt"},
|
||||||
|
{"gu_IN", "English.txt"},
|
||||||
|
{"he", "English.txt"},
|
||||||
|
{"he_IL", "English.txt"},
|
||||||
|
{"hi", "English.txt"},
|
||||||
|
{"hi_IN", "English.txt"},
|
||||||
|
{"hr", "English.txt"},
|
||||||
|
{"hr_BA", "English.txt"},
|
||||||
|
{"hr_HR", "English.txt"},
|
||||||
|
{"hu", "English.txt"},
|
||||||
|
{"hu_HU", "English.txt"},
|
||||||
|
{"hy", "English.txt"},
|
||||||
|
{"hy_AM", "English.txt"},
|
||||||
|
{"id", "Indonesian.txt"},
|
||||||
|
{"id_ID", "Indonesian.txt"},
|
||||||
|
{"is", "English.txt"},
|
||||||
|
{"is_IS", "English.txt"},
|
||||||
|
{"it", "Italian.txt"},
|
||||||
|
{"it_CH", "Italian.txt"},
|
||||||
|
{"it_IT", "Italian.txt"},
|
||||||
|
{"ja", "Japanese.txt"},
|
||||||
|
{"ja_JP", "Japanese.txt"},
|
||||||
|
{"ka", "English.txt"},
|
||||||
|
{"ka_GE", "English.txt"},
|
||||||
|
{"kk", "English.txt"},
|
||||||
|
{"kk_KZ", "English.txt"},
|
||||||
|
{"kn", "English.txt"},
|
||||||
|
{"kn_IN", "English.txt"},
|
||||||
|
{"ko", "Korean.txt"},
|
||||||
|
{"ko_KR", "Korean.txt"},
|
||||||
|
{"kok", "English.txt"},
|
||||||
|
{"kok_IN", "English.txt"},
|
||||||
|
{"ky", "English.txt"},
|
||||||
|
{"ky_KG", "English.txt"},
|
||||||
|
{"lt", "Lithuanian.txt"},
|
||||||
|
{"lt_LT", "Lithuanian.txt"},
|
||||||
|
{"lv", "English.txt"},
|
||||||
|
{"lv_LV", "English.txt"},
|
||||||
|
{"mi", "English.txt"},
|
||||||
|
{"mi_NZ", "English.txt"},
|
||||||
|
{"mk", "English.txt"},
|
||||||
|
{"mk_MK", "English.txt"},
|
||||||
|
{"mn", "English.txt"},
|
||||||
|
{"mn_MN", "English.txt"},
|
||||||
|
{"mr", "English.txt"},
|
||||||
|
{"mr_IN", "English.txt"},
|
||||||
|
{"ms", "English.txt"},
|
||||||
|
{"ms_BN", "English.txt"},
|
||||||
|
{"ms_MY", "English.txt"},
|
||||||
|
{"mt", "English.txt"},
|
||||||
|
{"mt_MT", "English.txt"},
|
||||||
|
{"nb", "English.txt"},
|
||||||
|
{"nb_NO", "English.txt"},
|
||||||
|
{"nl", "English.txt"},
|
||||||
|
{"nl_BE", "English.txt"},
|
||||||
|
{"nl_NL", "English.txt"},
|
||||||
|
{"nn_NO", "English.txt"},
|
||||||
|
{"ns", "English.txt"},
|
||||||
|
{"ns_ZA", "English.txt"},
|
||||||
|
{"pa", "English.txt"},
|
||||||
|
{"pa_IN", "English.txt"},
|
||||||
|
{"pl", "Polish.txt"},
|
||||||
|
{"pl_PL", "Polish.txt"},
|
||||||
|
{"ps", "English.txt"},
|
||||||
|
{"ps_AR", "English.txt"},
|
||||||
|
{"pt", "Portugese.txt"},
|
||||||
|
{"pt_BR", "Portugese.txt"},
|
||||||
|
{"pt_PT", "Portugese.txt"},
|
||||||
|
{"qu", "English.txt"},
|
||||||
|
{"qu_BO", "English.txt"},
|
||||||
|
{"qu_EC", "English.txt"},
|
||||||
|
{"qu_PE", "English.txt"},
|
||||||
|
{"ro", "English.txt"},
|
||||||
|
{"ro_RO", "English.txt"},
|
||||||
|
{"ru", "Russian.txt"},
|
||||||
|
{"ru_RU", "Russian.txt"},
|
||||||
|
{"sa", "English.txt"},
|
||||||
|
{"sa_IN", "English.txt"},
|
||||||
|
{"se", "English.txt"},
|
||||||
|
{"se_FI", "English.txt"},
|
||||||
|
{"se_FI", "English.txt"},
|
||||||
|
{"se_FI", "English.txt"},
|
||||||
|
{"se_NO", "English.txt"},
|
||||||
|
{"se_NO", "English.txt"},
|
||||||
|
{"se_NO", "English.txt"},
|
||||||
|
{"se_SE", "English.txt"},
|
||||||
|
{"se_SE", "English.txt"},
|
||||||
|
{"se_SE", "English.txt"},
|
||||||
|
{"sk", "English.txt"},
|
||||||
|
{"sk_SK", "English.txt"},
|
||||||
|
{"sl", "Slovenian.txt"},
|
||||||
|
{"sl_SI", "Slovenian.txt"},
|
||||||
|
{"sq", "English.txt"},
|
||||||
|
{"sq_AL", "English.txt"},
|
||||||
|
{"sr_BA", "English.txt"},
|
||||||
|
{"sr_BA", "English.txt"},
|
||||||
|
{"sr_SP", "English.txt"},
|
||||||
|
{"sr_SP", "English.txt"},
|
||||||
|
{"sv", "English.txt"},
|
||||||
|
{"sv_FI", "English.txt"},
|
||||||
|
{"sv_SE", "English.txt"},
|
||||||
|
{"sw", "English.txt"},
|
||||||
|
{"sw_KE", "English.txt"},
|
||||||
|
{"syr", "English.txt"},
|
||||||
|
{"syr_SY", "English.txt"},
|
||||||
|
{"ta", "English.txt"},
|
||||||
|
{"ta_IN", "English.txt"},
|
||||||
|
{"te", "English.txt"},
|
||||||
|
{"te_IN", "English.txt"},
|
||||||
|
{"th", "English.txt"},
|
||||||
|
{"th_TH", "English.txt"},
|
||||||
|
{"tl", "English.txt"},
|
||||||
|
{"tl_PH", "English.txt"},
|
||||||
|
{"tn", "English.txt"},
|
||||||
|
{"tn_ZA", "English.txt"},
|
||||||
|
{"tr", "Turkish.txt"},
|
||||||
|
{"tr_TR", "Turkish.txt"},
|
||||||
|
{"tt", "English.txt"},
|
||||||
|
{"tt_RU", "English.txt"},
|
||||||
|
{"ts", "English.txt"},
|
||||||
|
{"uk", "English.txt"},
|
||||||
|
{"uk_UA", "English.txt"},
|
||||||
|
{"ur", "English.txt"},
|
||||||
|
{"ur_PK", "English.txt"},
|
||||||
|
{"uz", "English.txt"},
|
||||||
|
{"uz_UZ", "English.txt"},
|
||||||
|
{"uz_UZ", "English.txt"},
|
||||||
|
{"vi", "English.txt"},
|
||||||
|
{"vi_VN", "English.txt"},
|
||||||
|
{"xh", "English.txt"},
|
||||||
|
{"xh_ZA", "English.txt"},
|
||||||
|
{"zh", "Chinese.txt"},
|
||||||
|
{"zh_CN", "Chinese.txt"},
|
||||||
|
{"zh_HK", "Chinese.txt"},
|
||||||
|
{"zh_MO", "Chinese.txt"},
|
||||||
|
{"zh_SG", "Chinese.txt"},
|
||||||
|
{"zh_TW", "Chinese_TW.txt"},
|
||||||
|
{"zu", "English.txt"},
|
||||||
|
{"zu_ZA", "English.txt"},
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestResolveLicenseFile(t *testing.T) {
|
||||||
|
for _, table := range licenseTests {
|
||||||
|
os.Setenv("LANG", table.in)
|
||||||
|
f := resolveLicenseFile()
|
||||||
|
if f != table.out {
|
||||||
|
t.Errorf("resolveLicenseFile() with LANG=%v - expected %v, got %v", table.in, table.out, f)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user