Skip to content

Commit

Permalink
fix(ci): run test for preview
Browse files Browse the repository at this point in the history
Signed-off-by: WrenIX <[email protected]>
  • Loading branch information
wrenix committed Nov 22, 2024
1 parent b1c0d54 commit 3dbdd53
Show file tree
Hide file tree
Showing 5 changed files with 81 additions and 35 deletions.
59 changes: 59 additions & 0 deletions .github/tests/test_job.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
apiVersion: batch/v1
kind: Job
metadata:
name: test-nextcloud
namespace: nextcloud
spec:
template:
metadata:
name: test-nextcloud
spec:
initContainers:
- name: 05-create-nextcloud-file
image: curlimages/curl
command:
- /bin/sh
- -c
- |
set -e
echo "download image:"
curl -s "https://upload.wikimedia.org/wikipedia/commons/d/df/Open_data.png" -o test_upload.png
echo "upload to nextcloud:"
curl \
-s \
-w "%{http_code}" \
-u admin:changeme \
-T test_upload.png \
"http://nextcloud.nextcloud.svc.cluster.local:8080/remote.php/dav/files/admin/test_upload.png" || exit 1;
echo "done"
- name: 10-generate-preview
image: docker.io/library/nextcloud:latest
command:
- /bin/sh
- -c
- |
set -e
echo "fetch preview:"
OUTPUT=$(curl \
-s \
-w "%{http_code}" \
-u admin:changeme \
"http://nextcloud.nextcloud.svc.cluster.local:8080/index.php/core/preview.png?file=test_upload.png&x=128&y=128&mimeFallback=true&a=0" \
-o - | file -)
echo "${OUTPUT}";
if ! echo "${OUTPUT}" | grep -q "PNG"; then
echo "PNG was not detected"
exit 1;
fi
echo "done"
containers:
- name: final
image: curlimages/curl
command:
- /bin/sh
- -c
- |
set -e
echo "All tests run successfull (initContainer in given order)"
restartPolicy: Never
26 changes: 0 additions & 26 deletions .github/tests/test_upload_job.yaml

This file was deleted.

22 changes: 13 additions & 9 deletions .github/workflows/lint-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -87,10 +87,12 @@ jobs:
# we need to skip the clean up so we can test adding a file
helm_args: |
--namespace nextcloud --skip-clean-up --helm-extra-set-args "--values charts/nextcloud/test-values/s3-as-primary-storage.yaml"
test: true

# test the helm chart with imaginary
- name: Imaginary Enabled
helm_args: --helm-extra-set-args "--values charts/nextcloud/test-values/imaginary.yaml"
helm_args: --namespace nextcloud --skip-clean-up --helm-extra-set-args "--create-namespace --values charts/nextcloud/test-values/imaginary.yaml"
test: true

steps:
- name: Checkout
Expand Down Expand Up @@ -142,18 +144,20 @@ jobs:
if: steps.list-changed.outputs.changed == 'true'
run: ct install --target-branch ${{ github.event.repository.default_branch }} ${{ matrix.test_cases.helm_args }}

- name: Try adding a file to Nextcloud
if: matrix.test_cases.name == 'S3 Enabled as Primary Storage'
- name: Run test for Nextcloud
if: matrix.test_cases.test
# applies a kubernetes job that uploads a file and then checks log of finished pod
run: |
EXIT=0
kubectl config set-context --current --namespace=nextcloud && \
kubectl apply -f ./.github/tests/test_upload_job.yaml --wait=true && \
kubectl apply -f ./.github/tests/test_job.yaml --wait=true && \
sleep 2 && \
kubectl wait --for=condition=Complete --timeout=2m job/create-nextcloud-file && \
echo "Here's the logs from the job:" && \
kubectl logs --tail=-1 -f -l batch.kubernetes.io/job-name=create-nextcloud-file && \
echo "Here's the logs from the nextcloud pod:" && \
kubectl logs -l app.kubernetes.io/name=nextcloud
kubectl wait --for=condition=Complete --timeout=2m job/test-nextcloud || EXIT=1
echo "Here's the logs from the job:"
kubectl logs --ignore-errors --prefix --tail=-1 --all-containers=true -l batch.kubernetes.io/job-name=test-nextcloud
echo "Here's the logs from the nextcloud pod:"
kubectl logs --ignore-errors --prefix -l app.kubernetes.io/name=nextcloud
exit $EXIT
summary:
runs-on: ubuntu-latest-low
Expand Down
6 changes: 6 additions & 0 deletions charts/nextcloud/test-values/imaginary.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
fullnameOverride: nextcloud

nextcloud:
host: nextcloud
trustedDomains:
- 'nextcloud.nextcloud.svc.cluster.local'
- 'nextcloud'
defaultConfigs:
imaginary.config.php: true

Expand Down
3 changes: 3 additions & 0 deletions charts/nextcloud/test-values/s3-as-primary-storage.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ nginx:

nextcloud:
host: nextcloud
trustedDomains:
- 'nextcloud.nextcloud.svc.cluster.local'
- 'nextcloud'
objectStore:
s3:
enabled: true
Expand Down

0 comments on commit 3dbdd53

Please sign in to comment.