|
| 1 | += Testing Farm |
| 2 | + |
| 3 | +In this guide, you'll learn how to xref:/how-tos/testing/integration/adding.adoc[add a custom integration test] in {ProductName} that uses link:https://docs.testing-farm.io/[Testing Farm] as a third-party backend for test execution. |
| 4 | + |
| 5 | +.Prerequisites |
| 6 | + |
| 7 | +. You have xref:/how-tos/creating.adoc[created an application] in {ProductName} |
| 8 | + |
| 9 | +. You have a Testing Farm API key, which can be acquired by following the link:https://docs.testing-farm.io/Testing%20Farm/0.1/onboarding.html[Testing Farm onboarding guide]. |
| 10 | + |
| 11 | +. You have or are ready to create a git repository with link:https://fmf.readthedocs.io/[fmf] files suitable for use with the link:https://tmt.readthedocs.io/[tmt] testing tool. This is the testing technology used by Testing Farm. If you don't have fmf tests already prepared, you can use our tmt link:https://github.com/ralphbean/tmt-hello-world[hello world repository]. |
| 12 | + |
| 13 | +.Procedure |
| 14 | + |
| 15 | +You need to perform two major steps. Upload your Testing Farm API key, and register an *Integration test* to send requests to the Testing Farm API. Complete the following steps in the {ProductName} console: |
| 16 | + |
| 17 | +.Procedure - Upload your Testing Farm API key |
| 18 | + |
| 19 | +Follow the instructions in the xref:/how-tos/configuring/creating-secrets.adoc[creating secrets] guide, with the following details: |
| 20 | + |
| 21 | +. For **Secret name**, enter `testing-farm-secret`. |
| 22 | + |
| 23 | +. Under **Key/value secret**, expand **Key/value 1**, then enter the key name `testing-farm-token`. |
| 24 | + |
| 25 | +NOTE: Be sure that the secret name is `testing-farm-secret` and the key name is `testing-farm-token`. The link:https://github.com/ralphbean/testing-farm-tekton/blob/main/tasks/testing-farm.yaml[tekton task] expects the secret and key name to be named these strings exactly. |
| 26 | + |
| 27 | +. For **Upload the file with value for your key or paste its contents**, paste the value of your token into the space under **Upload**. |
| 28 | + |
| 29 | +.Procedure - Registering the Integration Test |
| 30 | + |
| 31 | +Follow the instructions in the xref:/how-tos/testing/integration/adding.adoc[adding an integration test] guide, with the following details: |
| 32 | + |
| 33 | +. In the *GitHub URL* field, enter `https://github.com/ralphbean/testing-farm-tekton`, which is a git repository containing a tekton pipeline and task that can send requests to the Testing Farm API. |
| 34 | + |
| 35 | +. In the *Path in repository* field, enter `pipelines/testing-farm.yaml`, which refers to link:https://github.com/ralphbean/testing-farm-tekton/blob/main/pipelines/testing-farm.yaml[this path in the repo]. |
| 36 | + |
| 37 | +. Expand the *Parameters* field. |
| 38 | + |
| 39 | +. Select *Add parameter*. For the *Name* field, enter `GIT_URL`. For the *Value* field, enter the url to the git repository that contains your *fmf* files. If you do not have any, try using our tmt link:https://github.com/ralphbean/tmt-hello-world[hello world repository] to try it out. |
| 40 | + |
| 41 | +. Optional: Select *Add parameter*. For the *Name* field, enter `COMPOSE`. For the *Value* field, enter a valid Testing Farm compose identifier. Try `Fedora-40`. |
| 42 | + |
| 43 | +.Verification |
| 44 | + |
| 45 | +To start building a new component, either open a new pull request (PR) that targets the tracked branch of the component in the GitHub repository, or comment '/retest' on an existing PR. |
| 46 | + |
| 47 | +When the new build is finished: |
| 48 | + |
| 49 | +. Go to the *Integration tests* tab and select the highlighted name of your test. |
| 50 | + |
| 51 | +. Go to the *Pipeline runs* tab of that test and select the most recent run. |
| 52 | + |
| 53 | +. You should be able to find the testing-farm URLs in the logs. |
| 54 | + |
| 55 | +. xref:/how-tos/testing/integration/editing.adoc[Edit the integration test] if it is not properly configured. |
0 commit comments