Is there already a setup to execute tests against ...
# dev
e
Is there already a setup to execute tests against a mock infrastructure within the CI/CD pipeline?
a
Hi @Edmondo Porcu, It depends what exactly you mean, but I think the answer will be yes! Our "Nessie" (nothing to do with Project Nessie, we chose that name for our integration tests a short while before that project went popular) runs integration tests versus real S3, Azure GCP, and some MinIO, as well as a genuine PostgreSQL. Also many of our unit tests are actually component tests and also bring up a PostgreSQL instance. (However they use the local and/or mem block adapters, so these do not test the production block adapters.)
e
Thanks, are those executed in a Github Workflow?
a
Yes. Top-level directory
nessie
. Run by
.github/workflows/nessie.yaml
. (Name might change shortly, to reduce confusion with projectnessie.org. Nothing to do with that project! Yes, that is a sensitive subject around here.)
e
Awesome. So for example if one wanted to add tests for the CLI, they would add them in nessie?
a
Indeed. There are already lakectl tests for some features created by @Itai David! And we are always hungry for more. Note that for very many cases the controller_test is a better choice. It's a component test not a system test, but unless you are testing something that depends on specific block-adapter behaviours it will run much faster and allow you to test more errors!
e
@Itai David could you please have a look at the updated PR? There is still the bug of wrongly error handling the database failure... I tried to remove the duplication between the setup and the superuser.go as well
I also backported #3079, if you give me your feedback on it I would proceed in fixing the error https://github.com/treeverse/lakeFS/pull/3080/files
i
Hi @Edmondo Porcu. Sorry for the late reply. I am looking at your PR now
e
I have the feeling that the test pipeline doesn't run immediately but maybe I have been sloppy
I confirm, once I push I cannot open the github pipelines logs. (somehow I need to wait). Is there a reason for it?