mirror of
				https://github.com/redhat-developer/odo.git
				synced 2025-10-19 03:06:19 +03:00 
			
		
		
		
	Disable service binding related integration tests (#6920)
* check SKIP_SERVICE_BINDING_TESTS to skip service binding tests * Pass SKIP_SERVICE_BINDING_TESTS to Windows for Windows tests * Use fsGroup on Kubernetes * add instructions to install devfile registry in cluster
This commit is contained in:
		| @@ -57,6 +57,7 @@ function Run-Test { | ||||
|     [Environment]::SetEnvironmentVariable("TEST_EXEC_NODES", "$TEST_EXEC_NODES")  | ||||
|     [Environment]::SetEnvironmentVariable("SKIP_USER_LOGIN_TESTS","true") | ||||
|     [Environment]::SetEnvironmentVariable("SKIP_WELCOMING_MESSAGES","true") | ||||
|     [Environment]::SetEnvironmentVariable("SKIP_SERVICE_BINDING_TESTS","$SKIP_SERVICE_BINDING_TESTS" ) | ||||
|     # Integration tests detecting key press when running DevSession are not working on Windows | ||||
|     [Environment]::SetEnvironmentVariable("SKIP_KEY_PRESS","true") | ||||
|     [Environment]::SetEnvironmentVariable("DEVFILE_REGISTRY", "$DEVFILE_REGISTRY")  | ||||
|   | ||||
| @@ -18,7 +18,7 @@ sshpass -p $WINDOWS_PASSWORD scp -o StrictHostKeyChecking=no ./.ibm/pipelines/wi | ||||
|  | ||||
| #execute test from the test script | ||||
| export TEST_EXEC_NODES=${TEST_EXEC_NODES:-"16"} | ||||
| sshpass -p $WINDOWS_PASSWORD ssh Administrator@$WINDOWS_IP -o StrictHostKeyChecking=no powershell /tmp/windows-test-script.ps1 "${GIT_PR_NUMBER}" "${BUILD_NUMBER}" "${API_KEY_QE}" "${IBM_OPENSHIFT_ENDPOINT}" "${LOGFILE}" "${REPO}" "${CLUSTER_ID}" "${TEST_EXEC_NODES}" "${DEVFILE_REGISTRY}" | ||||
| sshpass -p $WINDOWS_PASSWORD ssh Administrator@$WINDOWS_IP -o StrictHostKeyChecking=no powershell /tmp/windows-test-script.ps1 "${GIT_PR_NUMBER}" "${BUILD_NUMBER}" "${API_KEY_QE}" "${IBM_OPENSHIFT_ENDPOINT}" "${LOGFILE}" "${REPO}" "${CLUSTER_ID}" "${TEST_EXEC_NODES}" "${DEVFILE_REGISTRY}" "${SKIP_SERVICE_BINDING_TESTS}" | ||||
| RESULT=$? | ||||
| echo "RESULT: $RESULT" | ||||
|  | ||||
|   | ||||
| @@ -172,3 +172,9 @@ to user agents beginning with `containerd` or `Go-http-client`. | ||||
|  | ||||
| The integration tests are able to detect the presence of the Load Balancer service and use the proxy if the service is present | ||||
| and providing an external address. | ||||
|  | ||||
| ## Devfile registry | ||||
|  | ||||
| Install a local Devvile registry in the cluster with the instructions provoded at https://devfile.io/docs/2.1.0/deploying-a-devfile-registry  | ||||
| and the configuration in /scripts/devfile-registry/ci-values.yaml. You will need to modify the field `global.ingress.domain` in the configuration file. | ||||
|  | ||||
|   | ||||
| @@ -16,7 +16,7 @@ | ||||
| global: | ||||
|   ingress: | ||||
|     class: 'public-iks-k8s-nginx' | ||||
|     domain: 'odo-test-kubernetes-clust-49529fc6e6a4a9fe7ebba9a3db5b55c4-0000.eu-de.containers.appdomain.cloud' | ||||
|     domain: 'odo-test-kubernete-449701-49529fc6e6a4a9fe7ebba9a3db5b55c4-0000.eu-de.containers.appdomain.cloud' | ||||
|     secretName: '' | ||||
|   isOpenShift: false | ||||
|   tlsEnabled: false | ||||
|   | ||||
							
								
								
									
										55
									
								
								tests/examples/source/devfiles/nodejs/devfile-fsgroup.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								tests/examples/source/devfiles/nodejs/devfile-fsgroup.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,55 @@ | ||||
| schemaVersion: 2.0.0 | ||||
| metadata: | ||||
|   name: nodejs | ||||
|   projectType: nodejs | ||||
|   language: nodejs | ||||
| starterProjects: | ||||
|   - name: nodejs-starter | ||||
|     git: | ||||
|       remotes: | ||||
|         origin: "https://github.com/odo-devfiles/nodejs-ex.git" | ||||
| components: | ||||
|   - name: runtime | ||||
|     container: | ||||
|       image: registry.access.redhat.com/ubi8/nodejs-12:1-36 | ||||
|       memoryLimit: 1024Mi | ||||
|       endpoints: | ||||
|         - name: "3000-tcp" | ||||
|           targetPort: 3000 | ||||
|       mountSources: true | ||||
|     attributes: | ||||
|       pod-overrides: | ||||
|         spec: | ||||
|           securityContext: | ||||
|             fsGroup: 2000 | ||||
| commands: | ||||
|   - id: devbuild | ||||
|     exec: | ||||
|       component: runtime | ||||
|       commandLine: npm install | ||||
|       workingDir: ${PROJECTS_ROOT} | ||||
|       group: | ||||
|         kind: build | ||||
|         isDefault: true | ||||
|   - id: build | ||||
|     exec: | ||||
|       component: runtime | ||||
|       commandLine: npm install | ||||
|       workingDir: ${PROJECTS_ROOT} | ||||
|       group: | ||||
|         kind: build | ||||
|   - id: devrun | ||||
|     exec: | ||||
|       component: runtime | ||||
|       commandLine: npm start | ||||
|       workingDir: ${PROJECTS_ROOT} | ||||
|       group: | ||||
|         kind: run | ||||
|         isDefault: true | ||||
|   - id: run | ||||
|     exec: | ||||
|       component: runtime | ||||
|       commandLine: npm start | ||||
|       workingDir: ${PROJECTS_ROOT} | ||||
|       group: | ||||
|         kind: run | ||||
| @@ -2,6 +2,7 @@ package integration | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
|  | ||||
| 	. "github.com/onsi/ginkgo/v2" | ||||
| @@ -20,6 +21,11 @@ var _ = Describe("odo add binding command tests", func() { | ||||
| 	var err error | ||||
|  | ||||
| 	var _ = BeforeEach(func() { | ||||
| 		skipLogin := os.Getenv("SKIP_SERVICE_BINDING_TESTS") | ||||
| 		if skipLogin == "true" { | ||||
| 			Skip("Skipping service binding tests as SKIP_SERVICE_BINDING_TESTS is true") | ||||
| 		} | ||||
|  | ||||
| 		commonVar = helper.CommonBeforeEach() | ||||
| 		helper.Chdir(commonVar.Context) | ||||
| 		// Ensure that the operators are installed | ||||
|   | ||||
| @@ -17,6 +17,11 @@ var _ = Describe("odo describe/list binding command tests", func() { | ||||
|  | ||||
| 	// This is run before every Spec (It) | ||||
| 	var _ = BeforeEach(func() { | ||||
| 		skipLogin := os.Getenv("SKIP_SERVICE_BINDING_TESTS") | ||||
| 		if skipLogin == "true" { | ||||
| 			Skip("Skipping service binding tests as SKIP_SERVICE_BINDING_TESTS is true") | ||||
| 		} | ||||
|  | ||||
| 		commonVar = helper.CommonBeforeEach() | ||||
| 		helper.Chdir(commonVar.Context) | ||||
| 	}) | ||||
|   | ||||
| @@ -71,7 +71,11 @@ var _ = Describe("odo dev command tests", func() { | ||||
| 	When("a component is bootstrapped", func() { | ||||
| 		BeforeEach(func() { | ||||
| 			helper.CopyExample(filepath.Join("source", "devfiles", "nodejs", "project"), commonVar.Context) | ||||
| 			helper.Cmd("odo", "init", "--name", cmpName, "--devfile-path", helper.GetExamplePath("source", "devfiles", "nodejs", "devfile.yaml")).ShouldPass() | ||||
| 			devfile := "devfile.yaml" | ||||
| 			if os.Getenv("KUBERNETES") == "true" { | ||||
| 				devfile = "devfile-fsgroup.yaml" | ||||
| 			} | ||||
| 			helper.Cmd("odo", "init", "--name", cmpName, "--devfile-path", helper.GetExamplePath("source", "devfiles", "nodejs", devfile)).ShouldPass() | ||||
| 			Expect(helper.VerifyFileExists(".odo/env/env.yaml")).To(BeFalse()) | ||||
| 		}) | ||||
|  | ||||
| @@ -1786,6 +1790,11 @@ ComponentSettings: | ||||
|  | ||||
| 		When("Starting a PostgreSQL service", func() { | ||||
| 			BeforeEach(func() { | ||||
| 				skipLogin := os.Getenv("SKIP_SERVICE_BINDING_TESTS") | ||||
| 				if skipLogin == "true" { | ||||
| 					Skip("Skipping service binding tests as SKIP_SERVICE_BINDING_TESTS is true") | ||||
| 				} | ||||
|  | ||||
| 				// Ensure that the operators are installed | ||||
| 				commonVar.CliRunner.EnsureOperatorIsInstalled("service-binding-operator") | ||||
| 				commonVar.CliRunner.EnsureOperatorIsInstalled("cloud-native-postgresql") | ||||
|   | ||||
| @@ -385,6 +385,11 @@ ComponentSettings: | ||||
| 	When("deploying a ServiceBinding k8s resource", func() { | ||||
| 		const serviceBindingName = "my-nodejs-app-cluster-sample" // hard-coded from devfile-deploy-with-SB.yaml | ||||
| 		BeforeEach(func() { | ||||
| 			skipLogin := os.Getenv("SKIP_SERVICE_BINDING_TESTS") | ||||
| 			if skipLogin == "true" { | ||||
| 				Skip("Skipping service binding tests as SKIP_SERVICE_BINDING_TESTS is true") | ||||
| 			} | ||||
|  | ||||
| 			commonVar.CliRunner.EnsureOperatorIsInstalled("service-binding-operator") | ||||
| 			commonVar.CliRunner.EnsureOperatorIsInstalled("cloud-native-postgresql") | ||||
| 			Eventually(func() string { | ||||
|   | ||||
| @@ -1,6 +1,8 @@ | ||||
| package integration | ||||
|  | ||||
| import ( | ||||
| 	"os" | ||||
|  | ||||
| 	. "github.com/onsi/ginkgo/v2" | ||||
| 	. "github.com/onsi/gomega" | ||||
| 	"github.com/redhat-developer/odo/tests/helper" | ||||
| @@ -12,6 +14,11 @@ var _ = Describe("odo list services tests", func() { | ||||
| 	var randomProject string | ||||
|  | ||||
| 	BeforeEach(func() { | ||||
| 		skipLogin := os.Getenv("SKIP_SERVICE_BINDING_TESTS") | ||||
| 		if skipLogin == "true" { | ||||
| 			Skip("Skipping service binding tests as SKIP_SERVICE_BINDING_TESTS is true") | ||||
| 		} | ||||
|  | ||||
| 		commonVar = helper.CommonBeforeEach() | ||||
|  | ||||
| 		// Ensure that the operators are installed | ||||
|   | ||||
| @@ -2,6 +2,7 @@ package integration | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
|  | ||||
| 	. "github.com/onsi/ginkgo/v2" | ||||
| @@ -14,6 +15,11 @@ var _ = Describe("odo remove binding command tests", func() { | ||||
| 	var commonVar helper.CommonVar | ||||
|  | ||||
| 	var _ = BeforeEach(func() { | ||||
| 		skipLogin := os.Getenv("SKIP_SERVICE_BINDING_TESTS") | ||||
| 		if skipLogin == "true" { | ||||
| 			Skip("Skipping service binding tests as SKIP_SERVICE_BINDING_TESTS is true") | ||||
| 		} | ||||
|  | ||||
| 		commonVar = helper.CommonBeforeEach() | ||||
| 		helper.Chdir(commonVar.Context) | ||||
| 		// Note: We do not add any operators here because `odo remove binding` is simply about removing the ServiceBinding from devfile. | ||||
|   | ||||
| @@ -20,6 +20,11 @@ var _ = Describe("odo add binding interactive command tests", func() { | ||||
|  | ||||
| 	// This is run before every Spec (It) | ||||
| 	var _ = BeforeEach(func() { | ||||
| 		skipLogin := os.Getenv("SKIP_SERVICE_BINDING_TESTS") | ||||
| 		if skipLogin == "true" { | ||||
| 			Skip("Skipping service binding tests as SKIP_SERVICE_BINDING_TESTS is true") | ||||
| 		} | ||||
|  | ||||
| 		commonVar = helper.CommonBeforeEach() | ||||
| 		helper.Chdir(commonVar.Context) | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Philippe Martin
					Philippe Martin