@@ -532,7 +532,7 @@ WEB_UI_CONFIG_FILE="tests/config/local/ocis-web.json" \
532532ocis/bin/ocis server
533533```
534534
535- The first oCIS instance should be available at: https://localhost:9200/
535+ The first oCIS instance should be available at: < https://localhost:9200/ >
536536
537537### Setup Second oCIS Instance
538538
@@ -552,7 +552,7 @@ source tests/config/local/.env-federation && ocis/bin/ocis init
552552ocis/bin/ocis server
553553```
554554
555- The second oCIS instance should be available at: https://localhost:10200/
555+ The second oCIS instance should be available at: < https://localhost:10200/ >
556556
557557{{< hint info >}}
558558To enable ocm in the web interface, you need to set the following envs:
@@ -589,6 +589,90 @@ The sample `fontsMap.json` file is located in `tests/config/drone/fontsMap.json`
589589}
590590```
591591
592+ ## Running Test on helm setup
593+
594+ Make sure the following tools are installed:
595+
596+ Install [ k3d] ( https://k3d.io/stable/#install-script )
597+ Install [ kubectl] ( https://kubernetes.io/docs/tasks/tools/#kubectl )
598+ Install [ helm] ( https://helm.sh/docs/intro/install/ )
599+
600+ Also, clone the [ ` ocis-charts ` ] ( https://github.com/owncloud/ocis-charts/ ) repository.
601+
602+ 1 . Setup Basicauth
603+ Enable basic authentication for the proxy in the ocis-charts repo:
604+ ``` bash
605+ cd ocis-charts
606+ # Enable basic auth in proxy deployment
607+ sed -i ' /- name: PROXY_HTTP_ADDR/i\
608+ - name: PROXY_ENABLE_BASIC_AUTH\
609+ value: "true"' ./charts/ocis/templates/proxy/deployment.yaml
610+ # copy authbasic service
611+ cp -r < path-to-ocis-repo> /tests/config/drone/k3s/authbasic ./charts/ocis/templates/
612+ # change admin password
613+ sed -i ' /- name: IDM_ADMIN_PASSWORD/{n;N;N;N;d;}' ./charts/ocis/templates/idm/deployment.yaml
614+ sed -i ' /- name: IDM_ADMIN_PASSWORD/a\\n value: "admin"' ./charts/ocis/templates/idm/deployment.yaml
615+ # Update values.yaml
616+ cp < path-to-ocis-repo> /tests/config/drone/k3s/values.yaml charts/charts/ocis/ci/deployment-values.yaml
617+ # Update template values
618+ sed -i ' /{{- $_ := set .scope "appNameAuthMachine" "authmachine" -}}/a\ {{- $_ := set .scope "appNameAuthBasic" "authbasic" -}}' ./charts/ocis/templates/_common/_tplvalues.tpl
619+ ```
620+
621+ 2 . Install charts using k3d
622+
623+ ``` bash
624+ k3d cluster create drone --api-port ocis-server:33199 -p ' 80:80@loadbalancer' -p ' 443:443@loadbalancer' --k3s-arg ' --tls-san=k3d@server:*' --k3s-arg ' --disable=metrics-server@server:*'
625+ k3d kubeconfig get drone > kubeconfig.yaml
626+ chmod 0600 kubeconfig.yaml
627+ kubectl create configmap coredns-custom --namespace kube-system --from-literal=' rewritehost.override=rewrite name exact ocis-server host.k3d.internal'
628+ kubectl -n kube-system rollout restart deployment coredns
629+ make helm-install-atomic
630+ ```
631+
632+ 3 . Run test
633+ To run test you should set ` K8S ` to true.
634+ ``` bash
635+ cd ../ocis
636+
637+ # build and run ocis wrapper
638+ make -C ./tests/ociswrapper
639+ ./tests/ociswrapper/bin/ociswrapper serve --url https://ocis-server --admin-username admin --admin-password admin --skip-ocis-run
640+
641+ K8S=true TEST_SERVER_URL=" https://ocis-server" make test-acceptance-api BEHAT_FEATURE=tests/acceptance/features/apiArchiver/downloadById.feature
642+ ```
643+ 1 . Run Test With ociswrapper
644+ ``` bash
645+ ociswrapper serve --url https://ocis-server --admin-username admin --admin-password admin --skip-ocis-run
646+ ```
647+ 1 . Run Antivirus Test
648+ To run clamav service run these command deploying the helm chart
649+ ``` bash
650+ cp -r config/drone/k8s/clamav charts/ocis/templates/
651+ sed -i ' s/{{ *\.Values\.features\.virusscan\.infectedFileHandling *| *quote *}}/"delete"/' ocis/templates/antivirus/deployment.yaml
652+ sed -i ' s/{{ *\.Values\.features\.virusscan\.infectedFileHandling *| *quote *}}/"delete"/' ocis/templates/antivirus/deployment.yaml
653+ sed -i ' /name: ANTIVIRUS_SCANNER_TYPE/{n;s/value: *"icap"/value: "clamav"/}' charts/ocis/templates/antivirus/deployment.yaml
654+ sed -i ' /- name: ANTIVIRUS_SCANNER_TYPE/i\ - name: ANTIVIRUS_CLAMAV_SOCKET\n value: "tcp://clamav:3310"' charts/ocis/templates/antivirus/deployment.yaml
655+ ```
656+ 1 . Run Email Test
657+ To run email service run these command deploying the helm chart
658+ ``` bash
659+ cp -r < path-to-ocis-repo> /tests/config/drone/k8s/mailpit charts/ocis/templates/
660+ ```
661+ After ocis is deployed
662+ ``` bash
663+ kubectl port-forward svc/mailpit $EMAIL_PORT :8025 -n ocis
664+ ```
665+ 1 . Run Authapp Test
666+ To run authapp service run these command deploying the helm chart
667+ ``` bash
668+ cp -r < path-to-ocis-repo> /tests/config/drone/k8s/mailpit charts/ocis/templates/
669+ ```
670+ 1 . Run Tika Test
671+ To run tika service run these command deploying the helm chart
672+ ``` bash
673+ cp -r < path-to-ocis-repo> /tests/config/drone/k8s/tika charts/ocis/templates/
674+ ```
675+
592676## Generating Code Coverage Report by Running Acceptance Tests
593677
594678To find out what oCIS code is covered by the API tests, first create a debug build of oCIS.
@@ -623,4 +707,4 @@ You can also view the report in a web UI using the following command.
623707go tool cover -html=cov.txt
624708```
625709
626- This command should open a browser with the code report.
710+ This command should open a browser with the code report.
0 commit comments