linkerd / linkerd2

Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.
https://linkerd.io
Apache License 2.0
10.59k stars 1.27k forks source link

Automated dashboard integration testing (MVP) #2475

Open admc opened 5 years ago

admc commented 5 years ago

It would be very helpful if we had an integration test suite that was easy to run for the linkerd2 dashboard. It appears that webdriver.io is the most polished project for building that suite, and we have a free open source account with lots of concurrency to run it on our build using Sauce Labs.

I would start with each of the pages in the sidebar, and build a test for each component on that page to validate that normal happy path interactions are working as expected.

This would require some setup steps, like injecting emojivoto so that there is real traffic we can validate.

grampelberg commented 5 years ago

A mostly priority sorted list of pages:

grampelberg commented 5 years ago

@rmars where do you think this should live in the repo?

admc commented 5 years ago

In CI we should use the webdriver.io sauce service, locally - whatever is faster for building good tests (webdriver, chromedriver, etc)

rmars commented 5 years ago

I think it could live in web/app/integration since we have the unit tests alongside components in web/app/js and we have test fixtures in web/app/test (or even web/integration could work)

drholmie commented 5 years ago

Hey there! I have been working on this issue a bit. (https://github.com/drholmie/webdrive-tests). Thanks for clarifying where this should live on the repo! So far I think I have covered the tests for sidebar(they check if all buttons are working, and if links are broken. Do tell if I've missed anything). Will begin work on individual pages now.

grampelberg commented 5 years ago

/assign @drholmie