kyma icon indicating copy to clipboard operation
kyma copied to clipboard

New Application Connectivity tests - Test suite for Application Connectivity Validator

Open franpog859 opened this issue 1 year ago • 3 comments

Description

We need an integration test of (Central) Application Connectivity Validator. The test should be implemented with a similar structure to the Application Gateway test. It should be fast, simple, and easy to maintain. If something breaks on some end-to-end pipeline or some environment, this test should clearly tell if there is a problem with the Validator or not

Acceptance criteria

  • [ ] A test checking Connectivity Validator functionality is implemented (consider using a static TLS certificate and just sending a request there)
  • [ ] The test takes minimal possible execution time
  • [ ] The test is considered as easy to maintain and has a similar structure to the Application Gateway tests
  • [ ] The test runs on the Prow pipeline
  • [ ] The test is runnable locally/ on a custom cluster

Attachments

epic issue - https://github.com/kyma-project/kyma/issues/13977 PR with pipelines - https://github.com/kyma-project/test-infra/pull/5563 PR with new test - https://github.com/kyma-project/kyma/pull/14912/files

franpog859 avatar Jul 22 '22 10:07 franpog859

Work plan:

  • [x] Analyze the (Central) Application Connectivity Validator duties as described in the doc and the readme, and prepare a task-oriented work plan like this one - Done - @franpog859 @akgalwas @koala7659
  • [x] Agreement on test project design - Done
  • [x] Implementation of MVP of test-application-validator project with a simple healthCheck test
  • [x] Integration with prow pipelines via Makefile - Done - @franpog859
  • [x] Adding positive test case as HTTP calls to central-application-connectivity-validator-service covering both v1 and v2 apis
  • [x] Adding negative test case as HTTP calls to central-application-connectivity-validator-service covering both v1 and v2 apis
  • [ ] Add the README about the test - Reviewed - @franpog859 @majakurcius - PR
    • [ ] New PR #14912 from @akgalwas - Reviewed by @majakurcius and @koala7659, waiting for a reply concerning Docker images
  • [ ] Make sure that used 3rd party images are secure
  • [ ] Re-enable the test pipeline

franpog859 avatar Jul 22 '22 10:07 franpog859

Project design:

  • Kyma cluster installed in k3d mode
  • AppConnectivityValidator exists in kyma-system namespace
  • Deployed TestPod, and HttpBin service in separate testing namespace
  • AppConnectivityValidator patched to proxy requests to HttpBin service (simulating enpoints of event-publisher-proxy)
  • Application CR deployed to Kyma
  • TestPod sending HTTP prepared requests with certificate details to AppConnectivityValidator pod
  • TestPod checks return code and prints test report

koala7659 avatar Jul 27 '22 07:07 koala7659

PR with new test - https://github.com/kyma-project/kyma/pull/14912

koala7659 avatar Jul 27 '22 07:07 koala7659

Should this pipeline be enabled before it's ready? It's failing in PRs such as this one and might be confusing for people.

Disper avatar Aug 29 '22 14:08 Disper