func/test
Matej Vašek 858a0e84b9
[release-1.15] Release 1.15.1 (#2480)
* test: adding GO s2i to e2e test suite (#2401)

* Remove superfluous equals sign from envvar (#2446)

* Remove superfluous equals sign from envvar

Signed-off-by: Matej Vašek <matejvasek@gmail.com>

* Update rust templates Cargo.lock

Signed-off-by: Matej Vašek <matejvasek@gmail.com>

---------

Signed-off-by: Matej Vašek <matejvasek@gmail.com>

* allow digested images to be 'run' (#2445)

* init fix

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* dont override direct deploy tag, more tests

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* fix

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* dont validate with tagged image, fix comment

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* init run fix for --image

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* init

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* int test, add valid untdigested images to run

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* check images passed to runner for func run command

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* fix build/deploy image passing bug add test

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* fix

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* remove extra printing

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* merge functions to digested

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* misspell

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* simplify

Signed-off-by: David Fridrich <fridrich.david19@gmail.com>

* quick fix

Signed-off-by: David Fridrich <fridrich.david19@gmail.com>

* remove prints, comment

Signed-off-by: David Fridrich <fridrich.david19@gmail.com>

---------

Signed-off-by: gauron99 <fridrich.david19@gmail.com>
Signed-off-by: David Fridrich <fridrich.david19@gmail.com>

* On cluster s2i build for Go (alternative version) (#2471)

* Prepare util image to accomodate multiple cmds

As of now func-util image has only one command of our own -- "deploy".
This commits prepares grounds for one additional command named "scaffolding".
The commands will be implemented in one binary and dispatched over
argv[0] using symlinks. Kinda like busybox does.

Signed-off-by: Matej Vašek <matejvasek@gmail.com>

* Add scaffolding for on-cluster build

Added new build step in tekton pipeline that scaffolds main() for Go
porject when using s2i builder.

Signed-off-by: Matej Vašek <matejvasek@gmail.com>

* Better docker build caching

This will cache dependencies between docker builds.

Signed-off-by: Matej Vašek <matejvasek@gmail.com>

* fixup: perms

Signed-off-by: Matej Vašek <matejvasek@gmail.com>

* fixup: remove broken check

Signed-off-by: Matej Vašek <matejvasek@gmail.com>

* fixup: remove test because of 'no space left on device'

Signed-off-by: Matej Vašek <matejvasek@gmail.com>

* Make func-util rootfull

Signed-off-by: Matej Vašek <matejvasek@gmail.com>

---------

Signed-off-by: Matej Vašek <matejvasek@gmail.com>

* Incorporate s2i CLI into func-utils image. (#2473)

Signed-off-by: Matej Vašek <matejvasek@gmail.com>

* chore: update Quarkus platform version to 3.14.1 (#2474)

Co-authored-by: Knative Automation <automation@knative.team>
Signed-off-by: Matej Vašek <matejvasek@gmail.com>

* chore: update Springboot platform version to 3.3.3 (#2465)

Co-authored-by: Knative Automation <automation@knative.team>
Signed-off-by: Matej Vašek <matejvasek@gmail.com>

---------

Signed-off-by: Matej Vašek <matejvasek@gmail.com>
Signed-off-by: gauron99 <fridrich.david19@gmail.com>
Signed-off-by: David Fridrich <fridrich.david19@gmail.com>
Co-authored-by: Jefferson Ramos <jeramos@redhat.com>
Co-authored-by: David Fridrich <49119790+gauron99@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Knative Automation <automation@knative.team>
2024-09-05 09:12:33 +00:00
..
common chore: prepare/update oncluster e2e test for presubmit (#2270) 2024-04-12 12:57:22 +00:00
e2e [release-1.15] Release 1.15.1 (#2480) 2024-09-05 09:12:33 +00:00
oncluster test: revert error suppresion (#2363) 2024-06-14 06:53:24 +00:00
testhttp fix: err check at correct place (#1945) 2023-08-28 19:57:29 +00:00
README.md src: cleanup setup scripts (#2247) 2024-04-02 08:29:03 +00:00
e2e_extended_tests.sh e2e tests restructuring / refactoring (#1615) 2023-03-16 20:52:59 +00:00
e2e_lifecycle_tests.sh e2e tests restructuring / refactoring (#1615) 2023-03-16 20:52:59 +00:00
e2e_oncluster_tests.sh chore: coverage for e2e tests (#1603) 2023-03-08 17:53:20 +00:00
patch_network.sh Fix linter issues (#2420) 2024-07-09 13:48:22 +00:00
presubmit-tests.sh test: do test embedded template (#2050) 2023-10-26 16:59:09 +00:00

README.md

Functions E2E Test

Lifecycle tests

Lifecycle tests exercises the most important phases of a function lifecycle starting from creation, going thru to build, deployment, execution and then deletion (CRUD operations). It runs func commands such as create, deploy, list and delete for a language runtime using both default http and cloudevents templates.

Extended tests

Extended tests performs additional tests on func such as templates, config envs, volumes, labels and other scenarios.

On Cluster Builds tests

On cluster builds e2e tests exercises functions built directly on cluster. The tests are organized per scenarios under ./oncluster folder.

Pre-requisites

Prior to run On Cluster builds e2e tests ensure you are connected to a Kubernetes Cluster with the following deployed:

  • Knative Serving
  • Tekton
  • Tekton Tasks listed here
  • Embedded Git Server (func-git) used by tests

For your convenience you can run the following script to setup Tekton and required Tasks:

$ ./hack/install-tekton.sh

To install the Git Server required by tests, run:

$ ./hack/install-git-server.sh

Running all the Tests on KinD

The below instructions will run all the tests on KinD using an ephemeral container registry.

# Pre-Reqs
./hack/allocate.sh
./hack/install-tekton.sh
./hack/install-git-server.sh
make build

# Run tests
./test/e2e_oncluster_tests.sh

Running "runtime" only scenario

You can run only e2e tests to exercise a given language/runtime, for example python

env E2E_RUNTIMES=python TEST_TAGS=runtime ./test/e2e_oncluster_tests.sh

Running tests except "runtime" ones

You can run most of on cluster builds e2e scenarios, except the language/runtime specific ones, by running:

env E2E_RUNTIMES="" ./test/e2e_oncluster_tests.sh