Skip to content

Commit

Permalink
feat(CI): enable unit-tests for Konflux builds
Browse files Browse the repository at this point in the history
  • Loading branch information
LightOfHeaven1994 committed Jan 20, 2025
1 parent a9878b9 commit 3cd2d90
Show file tree
Hide file tree
Showing 3 changed files with 103 additions and 89 deletions.
89 changes: 48 additions & 41 deletions .tekton/compliance-frontend-pull-request.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -301,48 +301,55 @@ spec:
workspaces:
- name: basic-auth
workspace: git-auth
# - name: run-unit-tests
# description: Validates frontend unit tests
# params:
# - name: SOURCE_ARTIFACT
# value: $(tasks.clone-repository-oci-ta.results.SOURCE_ARTIFACT)
# runAfter:
# - clone-repository-oci-ta
# workspaces:
# - name: basic-auth
# workspace: git-auth
# taskSpec:
# params:
# - description: The Trusted Artifact URI pointing to the artifact with the application source code.
# name: SOURCE_ARTIFACT
# type: string
# volumes:
# # New volume to store a copy of the source code accessible only to this Task.
# - name: workdir
# emptyDir: {}
# stepTemplate:
# volumeMounts:
# - mountPath: /var/workdir
# name: workdir
# readOnly: false
# sidecars:
# steps:
# - name: use-trusted-artifact
# image: quay.io/redhat-appstudio/build-trusted-artifacts:latest@sha256:8391272c4e5011120e9e7fee2c1f339e9405366110bf239dadcbc21e953ce099
# args:
# - use
# - $(params.SOURCE_ARTIFACT)=/var/workdir
# - image: registry.access.redhat.com/ubi8/nodejs-20
# workingDir: /var/workdir
# name: unit-tests
# securityContext:
# runAsUser: 0
# script: |
# #!/bin/bash
# set -ex
- name: run-unit-tests
description: Validates frontend unit tests
params:
- name: SOURCE_ARTIFACT
value: $(tasks.clone-repository-oci-ta.results.SOURCE_ARTIFACT)
runAfter:
- clone-repository-oci-ta
workspaces:
- name: basic-auth
workspace: git-auth
taskSpec:
params:
- description: The Trusted Artifact URI pointing to the artifact with the application source code.
name: SOURCE_ARTIFACT
type: string
volumes:
# New volume to store a copy of the source code accessible only to this Task.
- name: workdir
emptyDir: {}
stepTemplate:
volumeMounts:
- mountPath: /var/workdir
name: workdir
readOnly: false
sidecars:
steps:
- name: use-trusted-artifact
image: quay.io/redhat-appstudio/build-trusted-artifacts:latest@sha256:52f1391e6f1c472fd10bb838f64fae2ed3320c636f536014978a5ddbdfc6b3af
args:
- use
- $(params.SOURCE_ARTIFACT)=/var/workdir
- image: registry.access.redhat.com/ubi8/nodejs-20
workingDir: /var/workdir
name: unit-tests
computeResources:
requests:
memory: 7Gi
cpu: 1000m
limits:
memory: 14Gi
cpu: 2000m
securityContext:
runAsUser: 0
script: |
#!/bin/bash
set -ex
# npm install
# npm test
npm install
npm test
- name: build-container
params:
- name: IMAGE
Expand Down
92 changes: 46 additions & 46 deletions .tekton/compliance-frontend-push.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -298,53 +298,53 @@ spec:
workspaces:
- name: basic-auth
workspace: git-auth
# - name: run-unit-tests
# description: Validates frontend unit tests
# params:
# - name: SOURCE_ARTIFACT
# value: $(tasks.clone-repository-oci-ta.results.SOURCE_ARTIFACT)
# runAfter:
# - clone-repository-oci-ta
# computeResources:
# requests:
# memory: 1Gi
# requests:
# memory: 2Gi
# workspaces:
# - name: basic-auth
# workspace: git-auth
# taskSpec:
# params:
# - description: The Trusted Artifact URI pointing to the artifact with the application source code.
# name: SOURCE_ARTIFACT
# type: string
# volumes:
# # New volume to store a copy of the source code accessible only to this Task.
# - name: workdir
# emptyDir: {}
# stepTemplate:
# volumeMounts:
# - mountPath: /var/workdir
# name: workdir
# readOnly: false
# sidecars:
# steps:
# - name: use-trusted-artifact
# image: quay.io/redhat-appstudio/build-trusted-artifacts:latest@sha256:8391272c4e5011120e9e7fee2c1f339e9405366110bf239dadcbc21e953ce099
# args:
# - use
# - $(params.SOURCE_ARTIFACT)=/var/workdir
# - image: registry.access.redhat.com/ubi8/nodejs-20
# workingDir: /var/workdir
# name: unit-tests
# securityContext:
# runAsUser: 0
# script: |
# #!/bin/bash
# set -ex
- name: run-unit-tests
description: Validates frontend unit tests
params:
- name: SOURCE_ARTIFACT
value: $(tasks.clone-repository-oci-ta.results.SOURCE_ARTIFACT)
runAfter:
- clone-repository-oci-ta
computeResources:
requests:
memory: 1Gi
requests:
memory: 2Gi
workspaces:
- name: basic-auth
workspace: git-auth
taskSpec:
params:
- description: The Trusted Artifact URI pointing to the artifact with the application source code.
name: SOURCE_ARTIFACT
type: string
volumes:
# New volume to store a copy of the source code accessible only to this Task.
- name: workdir
emptyDir: {}
stepTemplate:
volumeMounts:
- mountPath: /var/workdir
name: workdir
readOnly: false
sidecars:
steps:
- name: use-trusted-artifact
image: quay.io/redhat-appstudio/build-trusted-artifacts:latest@sha256:52f1391e6f1c472fd10bb838f64fae2ed3320c636f536014978a5ddbdfc6b3af
args:
- use
- $(params.SOURCE_ARTIFACT)=/var/workdir
- image: registry.access.redhat.com/ubi8/nodejs-20
workingDir: /var/workdir
name: unit-tests
securityContext:
runAsUser: 0
script: |
#!/bin/bash
set -ex
# npm install
# npm test
npm install
npm test
- name: build-container
params:
- name: IMAGE
Expand Down
11 changes: 9 additions & 2 deletions src/SmartComponents/CreatePolicy/CreatePolicy.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,15 @@ describe('CreatePolicy', () => {
randomSystems,
randomSystemsCounts,
} = graphqlQueryMocks(['7']);

console.log('Start rendering');
render(
<TestWrapper mocks={mocks} store={store}>
<CreatePolicy />
</TestWrapper>
);

console.log('TEST 1');
expect(screen.getByRole('button', { name: 'Next' })).toBeDisabled();
console.log('TEST 2');

await checkStep('Create SCAP policy', async () => {
await screen.findByText('Operating system');
Expand All @@ -63,6 +64,7 @@ describe('CreatePolicy', () => {
name: 'RHEL ' + osMajorVersionToSelect.osMajorVersion,
})
);
console.log('TEST 3');

expect(screen.getByText('Policy type')).toBeInTheDocument();

Expand All @@ -71,21 +73,26 @@ describe('CreatePolicy', () => {
screen.getByRole('textbox', { name: 'text input' }),
profileToSelect.name
);
console.log('TEST 4');

await userEvent.click(
screen.getByRole('radio', { name: 'Select row 0' })
);
});
console.log('TEST 5');

await nextStep('Details', async () => {
expect(screen.getByText('Policy name')).toBeInTheDocument();
});
console.log('TEST 6');

await nextStep('Systems', async () => {
// Since we mock InventoryTable we need to dispatch a change manually
dispatchFieldChange(store, 'systems', randomSystems);
dispatchFieldChange(store, 'osMinorVersionCounts', randomSystemsCounts);
});
console.log('TEST 7');

// TODO add proper rules data
// await nextStep('Rules', async () => {
// expect(screen.getByText(profileToSelect.name)).toBeInTheDocument();
Expand Down

0 comments on commit 3cd2d90

Please sign in to comment.