@eclipse-che/che-e2e 7.102.0-next-fd9242b → 7.102.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20,6 +20,7 @@ export enum GitProviderType {
20
20
 
21
21
  export const FACTORY_TEST_CONSTANTS: {
22
22
  TS_SELENIUM_FACTORY_GIT_REPO_URL: string;
23
+ TS_SELENIUM_AIRGAP_FACTORY_GIT_REPO_URL: string;
23
24
  TS_SELENIUM_PROJECT_NAME: string;
24
25
  TS_SELENIUM_IS_PRIVATE_FACTORY_GIT_REPO: boolean;
25
26
  TS_SELENIUM_FACTORY_GIT_PROVIDER: string;
@@ -36,6 +37,11 @@ export const FACTORY_TEST_CONSTANTS: {
36
37
  */
37
38
  TS_SELENIUM_FACTORY_GIT_REPO_URL: process.env.TS_SELENIUM_FACTORY_GIT_REPO_URL || '',
38
39
 
40
+ /**
41
+ * url to create factory for airgap/disconnected environments
42
+ */
43
+ TS_SELENIUM_AIRGAP_FACTORY_GIT_REPO_URL: process.env.TS_SELENIUM_AIRGAP_FACTORY_GIT_REPO_URL || '',
44
+
39
45
  /**
40
46
  * git repository name
41
47
  */
@@ -29,6 +29,10 @@ exports.FACTORY_TEST_CONSTANTS = {
29
29
  * url to create factory
30
30
  */
31
31
  TS_SELENIUM_FACTORY_GIT_REPO_URL: process.env.TS_SELENIUM_FACTORY_GIT_REPO_URL || '',
32
+ /**
33
+ * url to create factory for airgap/disconnected environments
34
+ */
35
+ TS_SELENIUM_AIRGAP_FACTORY_GIT_REPO_URL: process.env.TS_SELENIUM_AIRGAP_FACTORY_GIT_REPO_URL || '',
32
36
  /**
33
37
  * git repository name
34
38
  */
@@ -1 +1 @@
1
- {"version":3,"file":"FACTORY_TEST_CONSTANTS.js","sourceRoot":"","sources":["../../constants/FACTORY_TEST_CONSTANTS.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;wEAQwE;AACxE,+DAA4D;AAE5D,IAAY,eAOX;AAPD,WAAY,eAAe;IAC1B,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;IACjB,sEAAmD,CAAA;IACnD,sEAAmD,CAAA;IACnD,2DAAwC,CAAA;IACxC,gDAA6B,CAAA;AAC9B,CAAC,EAPW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAO1B;AAEY,QAAA,sBAAsB,GAO/B;IACH;;OAEG;IACH,gCAAgC,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,eAAe,CAAC,MAAM;IAExG;;OAEG;IACH,gCAAgC,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,EAAE;IAEpF;;OAEG;IACH,wBAAwB,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE;IAEpE;;OAEG;IACH,uCAAuC,EAAE,OAAO,CAAC,GAAG,CAAC,uCAAuC,KAAK,MAAM;IAEvG;;OAEG;IACH,mCAAmC,EAAE,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,QAAQ;IAEhG;;OAEG;IACH,uBAAuB;QACtB,OAAO,CACN,OAAO,CAAC,GAAG,CAAC,uBAAuB;YACnC,yCAAmB,CAAC,oBAAoB,GAAG,eAAe,GAAG,IAAI,CAAC,gCAAgC,CAClG,CAAC;IACH,CAAC;CACD,CAAC"}
1
+ {"version":3,"file":"FACTORY_TEST_CONSTANTS.js","sourceRoot":"","sources":["../../constants/FACTORY_TEST_CONSTANTS.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;wEAQwE;AACxE,+DAA4D;AAE5D,IAAY,eAOX;AAPD,WAAY,eAAe;IAC1B,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;IACjB,sEAAmD,CAAA;IACnD,sEAAmD,CAAA;IACnD,2DAAwC,CAAA;IACxC,gDAA6B,CAAA;AAC9B,CAAC,EAPW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAO1B;AAEY,QAAA,sBAAsB,GAQ/B;IACH;;OAEG;IACH,gCAAgC,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,eAAe,CAAC,MAAM;IAExG;;OAEG;IACH,gCAAgC,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,EAAE;IAEpF;;OAEG;IACH,uCAAuC,EAAE,OAAO,CAAC,GAAG,CAAC,uCAAuC,IAAI,EAAE;IAElG;;OAEG;IACH,wBAAwB,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE;IAEpE;;OAEG;IACH,uCAAuC,EAAE,OAAO,CAAC,GAAG,CAAC,uCAAuC,KAAK,MAAM;IAEvG;;OAEG;IACH,mCAAmC,EAAE,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,QAAQ;IAEhG;;OAEG;IACH,uBAAuB;QACtB,OAAO,CACN,OAAO,CAAC,GAAG,CAAC,uBAAuB;YACnC,yCAAmB,CAAC,oBAAoB,GAAG,eAAe,GAAG,IAAI,CAAC,gCAAgC,CAClG,CAAC;IACH,CAAC;CACD,CAAC"}
@@ -15,6 +15,7 @@ const inversify_types_1 = require("../../configs/inversify.types");
15
15
  const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
16
16
  const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
17
17
  const MochaHooks_1 = require("../MochaHooks");
18
+ const FACTORY_TEST_CONSTANTS_1 = require("../../constants/FACTORY_TEST_CONSTANTS");
18
19
  suite(`Test podman build container functionality ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
19
20
  const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
20
21
  const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
@@ -28,6 +29,16 @@ suite(`Test podman build container functionality ${BASE_TEST_CONSTANTS_1.BASE_TE
28
29
  let originalBuildCapabilitiesSetting = '';
29
30
  let devSpacesNamespace = '';
30
31
  let cheClusterName = '';
32
+ /**
33
+ * test requires the following files to be present in the workspace root:
34
+ * - A Dockerfile named Dockerfile.${ARCH} with content:
35
+ * FROM scratch
36
+ * COPY hello /hello
37
+ * CMD ["/hello"]
38
+ * - A compiled 'hello' binary, that prints "Hello from Kubedock!" to output.
39
+ *
40
+ * Used to build and run a container in a pod for verifying Podman functionality.
41
+ */
31
42
  const buildPushScript = `
32
43
  export ARCH=$(uname -m)
33
44
  export DATE=$(date +"%m%d%y")
@@ -36,19 +47,10 @@ export TKN=$(oc whoami -t)
36
47
  export REG="image-registry.openshift-image-registry.svc:5000"
37
48
  export PROJECT=$(oc project -q)
38
49
  export IMG="\${REG}/\${PROJECT}/hello:\${DATE}"
39
-
40
- # Create test directory and Dockerfile
41
- mkdir -p /projects/dockerfile-test
42
- cd /projects/dockerfile-test
43
-
44
- cat > Dockerfile << EOF
45
- FROM registry.access.redhat.com/ubi8/ubi-minimal:latest
46
- RUN echo "Hello from Kubedock!" > /hello.txt
47
- CMD ["cat", "/hello.txt"]
48
- EOF
50
+ cd $PROJECT_SOURCE
49
51
 
50
52
  podman login --tls-verify=false --username "\${USER}" --password "\${TKN}" "\${REG}"
51
- podman build -t "\${IMG}" .
53
+ podman build -t "\${IMG}" -f Dockerfile.\${ARCH} .
52
54
  podman push --tls-verify=false "\${IMG}"
53
55
  `;
54
56
  const runTestScript = `
@@ -70,6 +72,10 @@ fi
70
72
 
71
73
  oc logs test-hello-pod
72
74
  `;
75
+ const factoryUrl = BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()
76
+ ? FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_AIRGAP_FACTORY_GIT_REPO_URL ||
77
+ 'https://gh.crw-qe.com/test-automation-only/dockerfile-hello-world'
78
+ : FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_URL || 'https://github.com/crw-qe/dockerfile-hello-world';
73
79
  suiteSetup('Setup DevSpaces with container build capabilities enabled', function () {
74
80
  kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
75
81
  kubernetesCommandLineToolsExecutor.loginToOcp();
@@ -90,9 +96,8 @@ oc logs test-hello-pod
90
96
  suiteSetup('Login into DevSpaces', async function () {
91
97
  await loginTests.loginIntoChe();
92
98
  });
93
- test('Create and open new Empty Workspace', async function () {
94
- await dashboard.waitPage();
95
- await workspaceHandlingTests.createAndOpenWorkspace('Empty Workspace');
99
+ test(`Create and open new workspace from: ${factoryUrl}`, async function () {
100
+ await workspaceHandlingTests.createAndOpenWorkspaceFromGitRepository(factoryUrl);
96
101
  await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
97
102
  workspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
98
103
  (0, chai_1.expect)(workspaceName, 'Workspace name was not detected').not.empty;
@@ -101,6 +106,10 @@ oc logs test-hello-pod
101
106
  test('Wait for workspace readiness', async function () {
102
107
  await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
103
108
  });
109
+ test('Check the project files were imported', async function () {
110
+ const projectSection = await projectAndFileTests.getProjectViewSession();
111
+ (0, chai_1.expect)(await projectAndFileTests.getProjectTreeItem(projectSection, 'Dockerfile.x86_64'), 'Dockerfile not found in the project tree').not.undefined;
112
+ });
104
113
  test('Build and push container image from workspace', function () {
105
114
  kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
106
115
  kubernetesCommandLineToolsExecutor.workspaceName = workspaceName;
@@ -1 +1 @@
1
- {"version":3,"file":"BuildPushRunPodmanContainerAPI.spec.js","sourceRoot":"","sources":["../../../specs/api/BuildPushRunPodmanContainerAPI.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BuildPushRunPodmanContainerAPI.spec.js","sourceRoot":"","sources":["../../../specs/api/BuildPushRunPodmanContainerAPI.spec.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingT
6
6
  const MochaHooks_1 = require("../MochaHooks");
7
7
  const chai_1 = require("chai");
8
8
  const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
9
+ const FACTORY_TEST_CONSTANTS_1 = require("../../constants/FACTORY_TEST_CONSTANTS");
9
10
  suite(`Check possibility to manage containers within a workspace with kubedock and podman ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
10
11
  const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
11
12
  const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
@@ -15,6 +16,16 @@ suite(`Check possibility to manage containers within a workspace with kubedock a
15
16
  const dashboard = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Dashboard);
16
17
  let kubernetesCommandLineToolsExecutor;
17
18
  let workspaceName = '';
19
+ /**
20
+ * test requires the following files to be present in the workspace root:
21
+ * - A Dockerfile named Dockerfile.${ARCH} with content:
22
+ * FROM scratch
23
+ * COPY hello /hello
24
+ * CMD ["/hello"]
25
+ * - A compiled 'hello' binary, that prints "Hello from Kubedock!" to output.
26
+ *
27
+ * Used to build and run a container in a pod for verifying Podman functionality.
28
+ */
18
29
  const testScript = '# Enable Kubedock\n' +
19
30
  'export KUBEDOCK_ENABLED=true\n' +
20
31
  'echo KUBEDOCK_ENABLED\n' +
@@ -42,7 +53,10 @@ suite(`Check possibility to manage containers within a workspace with kubedock a
42
53
  'export IMG="${REG}/${PROJECT}/hello:${DATE}"\n' +
43
54
  'podman login --tls-verify=false --username ${USER} --password ${TKN} ${REG}\n' +
44
55
  'podman run --rm ${IMG}';
45
- const factoryUrl = 'https://github.com/crw-qe/dockerfile-hello-world';
56
+ const factoryUrl = BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()
57
+ ? FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_AIRGAP_FACTORY_GIT_REPO_URL ||
58
+ 'https://gh.crw-qe.com/test-automation-only/dockerfile-hello-world'
59
+ : FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_URL || 'https://github.com/crw-qe/dockerfile-hello-world';
46
60
  suiteSetup('Login', async function () {
47
61
  await loginTests.loginIntoChe();
48
62
  });
@@ -1 +1 @@
1
- {"version":3,"file":"KubedockPodmanTest.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/KubedockPodmanTest.spec.ts"],"names":[],"mappings":";;AAWA,mEAA+D;AAC/D,qEAA8D;AAC9D,uFAAoF;AACpF,8CAAyD;AAGzD,+BAA8B;AAG9B,6EAA0E;AAI1E,KAAK,CACJ,sFAAsF,yCAAmB,CAAC,gBAAgB,EAAE,EAC5H;IACC,MAAM,mBAAmB,GAAwB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,mBAAmB,CAAC,CAAC;IAC/F,MAAM,sBAAsB,GAA2B,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,sBAAsB,CAAC,CAAC;IACxG,MAAM,UAAU,GAAe,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,UAAU,CAAC,CAAC;IACpE,MAAM,eAAe,GAAoB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,eAAe,CAAC,CAAC;IACnF,MAAM,iBAAiB,GAAuB,+BAAY,CAAC,GAAG,CAAC,uBAAK,CAAC,aAAa,CAAC,CAAC;IACpF,MAAM,SAAS,GAAc,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,SAAS,CAAC,CAAC;IAEjE,IAAI,kCAAsE,CAAC;IAC3E,IAAI,aAAa,GAAW,EAAE,CAAC;IAE/B,MAAM,UAAU,GACf,qBAAqB;QACrB,gCAAgC;QAChC,yBAAyB;QACzB,kBAAkB;QAClB,sBAAsB;QACtB,2BAA2B;QAC3B,iCAAiC;QACjC,4BAA4B;QAC5B,8BAA8B;QAC9B,iEAAiE;QACjE,mCAAmC;QACnC,gDAAgD;QAChD,+EAA+E;QAC/E,gDAAgD;QAChD,yCAAyC,CAAC;IAE3C,MAAM,aAAa,GAClB,qBAAqB;QACrB,gCAAgC;QAChC,yBAAyB;QACzB,kBAAkB;QAClB,iCAAiC;QACjC,4BAA4B;QAC5B,8BAA8B;QAC9B,iEAAiE;QACjE,mCAAmC;QACnC,gDAAgD;QAChD,+EAA+E;QAC/E,wBAAwB,CAAC;IAE1B,MAAM,UAAU,GAAW,kDAAkD,CAAC;IAE9E,UAAU,CAAC,OAAO,EAAE,KAAK;QACxB,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8CAA8C,UAAU,EAAE,EAAE,KAAK;QACrE,MAAM,sBAAsB,CAAC,uCAAuC,CAAC,UAAU,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kDAAkD,EAAE,KAAK;QAC7D,MAAM,sBAAsB,CAAC,mCAAmC,EAAE,CAAC;QACnE,aAAa,GAAG,+CAAsB,CAAC,gBAAgB,EAAE,CAAC;QAC1D,IAAA,aAAM,EAAC,aAAa,EAAE,sDAAsD,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;IAC7F,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4BAA4B,EAAE;QAClC,IAAA,qCAAwB,EAAC,aAAa,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0BAA0B,EAAE,KAAK;QACrC,MAAM,mBAAmB,CAAC,sCAAsC,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uCAAuC,EAAE,KAAK;QAClD,MAAM,cAAc,GAAgB,MAAM,mBAAmB,CAAC,qBAAqB,EAAE,CAAC;QACtF,IAAA,aAAM,EAAC,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,cAAc,EAAE,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;IAChI,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2DAA2D,EAAE;QACjE,kCAAkC,GAAG,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,kCAAkC,CAAC,CAAC;QAClG,kCAAkC,CAAC,aAAa,GAAG,aAAa,CAAC;QACjE,kCAAkC,CAAC,UAAU,EAAE,CAAC;QAChD,kCAAkC,CAAC,uBAAuB,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAgB,kCAAkC,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAClG,IAAA,aAAM,EAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAC5E,MAAM,SAAS,GAAgB,kCAAkC,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;QACxG,IAAA,aAAM,EAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,yCAAyC,EAAE,KAAK;QAC7D,MAAM,SAAS,CAAC,aAAa,EAAE,CAAC;QAChC,MAAM,eAAe,CAAC,yBAAyB,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,sCAAsC,EAAE,KAAK;QAC1D,MAAM,iBAAiB,CAAC,4BAA4B,CAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,8BAA8B,EAAE;QAC7C,IAAA,qCAAwB,EAAC,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACJ,CAAC,CACD,CAAC"}
1
+ {"version":3,"file":"KubedockPodmanTest.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/KubedockPodmanTest.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-che/che-e2e",
3
- "version": "7.102.0-next-fd9242b",
3
+ "version": "7.102.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -66,7 +66,8 @@
66
66
  "dependencies": {
67
67
  "@eclipse-che/api": "latest",
68
68
  "inversify": "6.0.1",
69
- "reflect-metadata": "0.1.13"
69
+ "reflect-metadata": "0.1.13",
70
+ "@eclipse-che/che-devworkspace-generator": "7.102.0"
70
71
  },
71
72
  "resolutions": {
72
73
  "minimist": "^1.2.5"
@@ -21,6 +21,8 @@ import { ShellString } from 'shelljs';
21
21
  import { ITestWorkspaceUtil } from '../../utils/workspace/ITestWorkspaceUtil';
22
22
  import { Dashboard } from '../../pageobjects/dashboard/Dashboard';
23
23
  import { ShellExecutor } from '../../utils/ShellExecutor';
24
+ import { FACTORY_TEST_CONSTANTS } from '../../constants/FACTORY_TEST_CONSTANTS';
25
+ import { ViewSection } from 'monaco-page-objects';
24
26
 
25
27
  suite(`Test podman build container functionality ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function (): void {
26
28
  const projectAndFileTests: ProjectAndFileTests = e2eContainer.get(CLASSES.ProjectAndFileTests);
@@ -37,6 +39,16 @@ suite(`Test podman build container functionality ${BASE_TEST_CONSTANTS.TEST_ENVI
37
39
  let devSpacesNamespace: string = '';
38
40
  let cheClusterName: string = '';
39
41
 
42
+ /**
43
+ * test requires the following files to be present in the workspace root:
44
+ * - A Dockerfile named Dockerfile.${ARCH} with content:
45
+ * FROM scratch
46
+ * COPY hello /hello
47
+ * CMD ["/hello"]
48
+ * - A compiled 'hello' binary, that prints "Hello from Kubedock!" to output.
49
+ *
50
+ * Used to build and run a container in a pod for verifying Podman functionality.
51
+ */
40
52
  const buildPushScript: string = `
41
53
  export ARCH=$(uname -m)
42
54
  export DATE=$(date +"%m%d%y")
@@ -45,19 +57,10 @@ export TKN=$(oc whoami -t)
45
57
  export REG="image-registry.openshift-image-registry.svc:5000"
46
58
  export PROJECT=$(oc project -q)
47
59
  export IMG="\${REG}/\${PROJECT}/hello:\${DATE}"
48
-
49
- # Create test directory and Dockerfile
50
- mkdir -p /projects/dockerfile-test
51
- cd /projects/dockerfile-test
52
-
53
- cat > Dockerfile << EOF
54
- FROM registry.access.redhat.com/ubi8/ubi-minimal:latest
55
- RUN echo "Hello from Kubedock!" > /hello.txt
56
- CMD ["cat", "/hello.txt"]
57
- EOF
60
+ cd $PROJECT_SOURCE
58
61
 
59
62
  podman login --tls-verify=false --username "\${USER}" --password "\${TKN}" "\${REG}"
60
- podman build -t "\${IMG}" .
63
+ podman build -t "\${IMG}" -f Dockerfile.\${ARCH} .
61
64
  podman push --tls-verify=false "\${IMG}"
62
65
  `;
63
66
 
@@ -81,6 +84,11 @@ fi
81
84
  oc logs test-hello-pod
82
85
  `;
83
86
 
87
+ const factoryUrl: string = BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()
88
+ ? FACTORY_TEST_CONSTANTS.TS_SELENIUM_AIRGAP_FACTORY_GIT_REPO_URL ||
89
+ 'https://gh.crw-qe.com/test-automation-only/dockerfile-hello-world'
90
+ : FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_URL || 'https://github.com/crw-qe/dockerfile-hello-world';
91
+
84
92
  suiteSetup('Setup DevSpaces with container build capabilities enabled', function (): void {
85
93
  kubernetesCommandLineToolsExecutor = e2eContainer.get(CLASSES.KubernetesCommandLineToolsExecutor);
86
94
  kubernetesCommandLineToolsExecutor.loginToOcp();
@@ -108,9 +116,8 @@ oc logs test-hello-pod
108
116
  await loginTests.loginIntoChe();
109
117
  });
110
118
 
111
- test('Create and open new Empty Workspace', async function (): Promise<void> {
112
- await dashboard.waitPage();
113
- await workspaceHandlingTests.createAndOpenWorkspace('Empty Workspace');
119
+ test(`Create and open new workspace from: ${factoryUrl}`, async function (): Promise<void> {
120
+ await workspaceHandlingTests.createAndOpenWorkspaceFromGitRepository(factoryUrl);
114
121
  await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
115
122
  workspaceName = WorkspaceHandlingTests.getWorkspaceName();
116
123
  expect(workspaceName, 'Workspace name was not detected').not.empty;
@@ -121,6 +128,14 @@ oc logs test-hello-pod
121
128
  await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
122
129
  });
123
130
 
131
+ test('Check the project files were imported', async function (): Promise<void> {
132
+ const projectSection: ViewSection = await projectAndFileTests.getProjectViewSession();
133
+ expect(
134
+ await projectAndFileTests.getProjectTreeItem(projectSection, 'Dockerfile.x86_64'),
135
+ 'Dockerfile not found in the project tree'
136
+ ).not.undefined;
137
+ });
138
+
124
139
  test('Build and push container image from workspace', function (): void {
125
140
  kubernetesCommandLineToolsExecutor = e2eContainer.get(CLASSES.KubernetesCommandLineToolsExecutor);
126
141
  kubernetesCommandLineToolsExecutor.workspaceName = workspaceName;
@@ -21,6 +21,7 @@ import { ShellString } from 'shelljs';
21
21
  import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
22
22
  import { ITestWorkspaceUtil } from '../../utils/workspace/ITestWorkspaceUtil';
23
23
  import { Dashboard } from '../../pageobjects/dashboard/Dashboard';
24
+ import { FACTORY_TEST_CONSTANTS } from '../../constants/FACTORY_TEST_CONSTANTS';
24
25
 
25
26
  suite(
26
27
  `Check possibility to manage containers within a workspace with kubedock and podman ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`,
@@ -35,6 +36,16 @@ suite(
35
36
  let kubernetesCommandLineToolsExecutor: KubernetesCommandLineToolsExecutor;
36
37
  let workspaceName: string = '';
37
38
 
39
+ /**
40
+ * test requires the following files to be present in the workspace root:
41
+ * - A Dockerfile named Dockerfile.${ARCH} with content:
42
+ * FROM scratch
43
+ * COPY hello /hello
44
+ * CMD ["/hello"]
45
+ * - A compiled 'hello' binary, that prints "Hello from Kubedock!" to output.
46
+ *
47
+ * Used to build and run a container in a pod for verifying Podman functionality.
48
+ */
38
49
  const testScript: string =
39
50
  '# Enable Kubedock\n' +
40
51
  'export KUBEDOCK_ENABLED=true\n' +
@@ -66,7 +77,10 @@ suite(
66
77
  'podman login --tls-verify=false --username ${USER} --password ${TKN} ${REG}\n' +
67
78
  'podman run --rm ${IMG}';
68
79
 
69
- const factoryUrl: string = 'https://github.com/crw-qe/dockerfile-hello-world';
80
+ const factoryUrl: string = BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()
81
+ ? FACTORY_TEST_CONSTANTS.TS_SELENIUM_AIRGAP_FACTORY_GIT_REPO_URL ||
82
+ 'https://gh.crw-qe.com/test-automation-only/dockerfile-hello-world'
83
+ : FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_URL || 'https://github.com/crw-qe/dockerfile-hello-world';
70
84
 
71
85
  suiteSetup('Login', async function (): Promise<void> {
72
86
  await loginTests.loginIntoChe();