dapr / cli

Command-line tools for Dapr.
Apache License 2.0
315 stars 200 forks source link

[Proposal] Adding supporting docs for E2E test development under development guide #1313

Open mcaupybugs opened 1 year ago

mcaupybugs commented 1 year ago

Describe the proposal

  1. Right now under the cli/development.md we do not have a supporting guide to run the E2E test. This includes maybe the command used to run the individual test because to run E2E tests one needs to add --tags=e2e while running the command and it looks something like go test --tags=e2e ./test/e2e/... -run NameOfTest which is different from how one runs unit tests. Additionally one has to build the project using make build command before running the E2E test as it requires the binary to be in dist/darwin_arch/release folder. Now this might be non-intuitive to a new contributor.
  2. Also while contributing or making changes to the E2E test, I had to add some environment variables for example in my case I was working on tests/e2e/standalone/uninstall_test.go which requires the addition of two environment variables DAPR_DASHBOARD_PINNED_VERSION and DAPR_RUNTIME_PINNED_VERSION. Now this was discovered while dry-running the code to navigate to a function where on the comment it is written that we need to add these variables as environment variables, otherwise, the test run fails. Although I do understand that the error message while tests failed was accurate in describing where the issue is and it clearly mentioned that DAPR_RUNTIME_PINNED_VERSION variable was not set. However, for someone new to the code base it would not make sense as to what the value should be of the given variable DAPR_RUNTIME_PINNED_VERSION or why it needs to be added.

The proposal is to add some supporting docs at least with basic details under deployment.md or at some other appropriate location.

My Setup

I was having docker installed on Mac machine. I built the code using make build and used the binary in the dist/darwin_arch/release folder to run dapr init. This did not automatically set the environment variables DAPR_DASHBOARD_PINNED_VERSION and DAPR_RUNTIME_PINNED_VERSION required to run the E2E test.

mukundansundar commented 1 year ago

My proposal is to add a running-e2e.md file under tests/docs/ folder. We need to add the required env vars as a prerequisite before running E2E.

Also add back a link to docs/development.md to the new doc. Additionally, @mcaupybugs there are make commands available for running the E2E tests. See lines https://github.com/dapr/cli/blob/master/Makefile#L188-L197