From b570a9f019a4955dddbb06a673ca719d164ca16c Mon Sep 17 00:00:00 2001 From: Rob Parker Date: Wed, 13 Jun 2018 16:27:28 +0100 Subject: [PATCH] Add License test to verify correct license --- Makefile | 4 ++-- test/docker/docker_api_test.go | 31 +++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index dac6f1f..9b225d9 100644 --- a/Makefile +++ b/Makefile @@ -148,7 +148,7 @@ test-unit: .PHONY: test-advancedserver test-advancedserver: test/docker/vendor $(info $(SPACER)$(shell printf $(TITLE)"Test $(MQ_IMAGE_ADVANCEDSERVER) on $(shell docker --version)"$(END))) - cd test/docker && TEST_IMAGE=$(MQ_IMAGE_ADVANCEDSERVER) go test -parallel $(NUM_CPU) $(TEST_OPTS_DOCKER) + cd test/docker && TEST_IMAGE=$(MQ_IMAGE_ADVANCEDSERVER) EXPECTED_LICENSE=Production go test -parallel $(NUM_CPU) $(TEST_OPTS_DOCKER) .PHONY: build-devjmstest build-devjmstest: @@ -158,7 +158,7 @@ build-devjmstest: .PHONY: test-devserver test-devserver: test/docker/vendor $(info $(SPACER)$(shell printf $(TITLE)"Test $(MQ_IMAGE_DEVSERVER) on $(shell docker --version)"$(END))) - cd test/docker && TEST_IMAGE=$(MQ_IMAGE_DEVSERVER) DEV_JMS_IMAGE=$(DEV_JMS_IMAGE) go test -parallel $(NUM_CPU) -tags mqdev $(TEST_OPTS_DOCKER) + cd test/docker && TEST_IMAGE=$(MQ_IMAGE_DEVSERVER) EXPECTED_LICENSE=Developer DEV_JMS_IMAGE=$(DEV_JMS_IMAGE) go test -parallel $(NUM_CPU) -tags mqdev $(TEST_OPTS_DOCKER) coverage: mkdir coverage diff --git a/test/docker/docker_api_test.go b/test/docker/docker_api_test.go index 5b136e9..e93bfec 100644 --- a/test/docker/docker_api_test.go +++ b/test/docker/docker_api_test.go @@ -21,6 +21,7 @@ import ( "context" "encoding/json" "fmt" + "os" "path/filepath" "regexp" "runtime" @@ -614,3 +615,33 @@ func TestMQJSONDisabled(t *testing.T) { // JSON logs to appear) stopContainer(t, cli, id) } + +func TestCorrectLicense(t *testing.T) { + t.Parallel() + + //Check we have the license set + expectedLicense, ok := os.LookupEnv("EXPECTED_LICENSE") + if !ok { + t.Fatal("Required test environment variable 'EXPECTED_LICENSE' was not set.") + } + + cli, err := client.NewEnvClient() + if err != nil { + t.Fatal(err) + } + + containerConfig := container.Config{ + Env: []string{"LICENSE=accept"}, + } + id := runContainer(t, cli, &containerConfig) + defer cleanContainer(t, cli, id) + + rc, license := execContainer(t, cli, id, "mqm", []string{"dspmqver", "-f", "8192", "-b"}) + if rc != 0 { + t.Fatalf("Failed to get license string. RC=%d. Output=%s", rc, license) + } + + if license != expectedLicense { + t.Errorf("Expected license to be '%s' but was '%s", expectedLicense, license) + } +}