Skip to content

Add a helm test for the unicorn chart.

DJ Mountney requested to merge add-unicorn-helm-test into master

Closes: https://gitlab.com/charts/gitlab/issues/545

Very basic initial helm test for unicorn

How it's used

Once app it deployed, you can run the test using helm test release-name

For our own CI, it runs alongside the qa tests.

Helm test purpose

These tests are different from our others, in that they are intended to be shipped with the released package, for users and downstream providers to run them against test or real instances.

What it does

This test is just meant to confirm unicorn/workhorse is up and operational.

Ideally we would have simply done an API test, but the only user we know exists is root, and we currently only have the password, and not any access token for the user (meaning we can't access the API). So instead the test uses curl to login through the UI.

Another drawback, is that while I would have rather used the workhorse service to test, rather than the external ingress url, I need the secure http cookies in order to login with the correct csrf, and curl won't let us easily cheat and grab secure cookies. As now the test also includes testing the ingress, nginx, and dns. :(

As followups we could add a root user access token when setting up the db. To test using the api instead of webui. OR we could add socat to our task runner image, and use that to present a secure connection to curl for the workhorse. (Neither of which I have done, because this single test took far too long to get to this point)

Edited by DJ Mountney

Merge request reports