From 8a7635e9275dfc44f39cb7d8ce60d9666b704c74 Mon Sep 17 00:00:00 2001 From: Rob Parker Date: Wed, 13 Jun 2018 16:08:59 +0100 Subject: [PATCH] Add License test to verify correct MQ license --- Makefile | 4 ++-- test/docker/docker_api_test.go | 31 +++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index b8cedb6f..e03cadfc 100644 --- a/Makefile +++ b/Makefile @@ -144,7 +144,7 @@ test-unit: .PHONY: test-advancedserver test-advancedserver: test/docker/vendor $(info $(SPACER)$(shell printf $(TITLE)"Test $(MQ_IMAGE_ADVANCEDSERVER) on Docker"$(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: @@ -154,7 +154,7 @@ build-devjmstest: .PHONY: test-devserver test-devserver: test/docker/vendor build-devjmstest $(info $(SPACER)$(shell printf $(TITLE)"Test $(MQ_IMAGE_DEVSERVER) on Docker"$(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) DEV_JMS_IMAGE=$(DEV_JMS_IMAGE) EXPECTED_LICENSE=Developer go test -parallel $(NUM_CPU) -tags mqdev $(TEST_OPTS_DOCKER) .PHONY: test-advancedserver-cover test-advancedserver-cover: test/docker/vendor diff --git a/test/docker/docker_api_test.go b/test/docker/docker_api_test.go index 01448a64..bbfd4647 100644 --- a/test/docker/docker_api_test.go +++ b/test/docker/docker_api_test.go @@ -23,6 +23,7 @@ import ( "encoding/json" "fmt" "io" + "os" "path/filepath" "regexp" "runtime" @@ -596,3 +597,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) + } +}