diff --git a/_documentation/bamboo.md b/_documentation/bamboo.md index 0a688e2..2e0c69d 100644 --- a/_documentation/bamboo.md +++ b/_documentation/bamboo.md @@ -64,11 +64,14 @@ The Build JDK that is selected needs to be Java 11 or higher. To interact with the server, fill out the IP address (or hostname) of the server that was started in the previous job. Also provide the name of the XMPP domain that is serviced by that server. When the server is running on local hardware, then there should not be a reason to increase the default timeout value. -The tests are executed using dedicated accounts. These accounts are created by the test framework in one of two ways: +The tests are executed using dedicated accounts. These accounts are created by the test framework in one of three ways: - by using an administrative account (per [XEP-0133](https://xmpp.org/extensions/xep-0133.html)) +- by explicitly providing three accounts - using in-band registration (per [XEP-0077](https://xmpp.org/extensions/xep-0077.html)) -If the former method is desired, then you should provide the credentials of an administrative user in the task configuration. When these credentials are not provided, then the latter method will be used to provision test accounts. +If the first method is desired, then you should provide the credentials of an administrative user in the task configuration. Alternatively, three sets of test accounts can be provided. When none of these credentials are provided, then the last method will be used to provision test accounts. + +For more information on provisioning accounts, consult the ['Test Account Provisioning' guide](/documentation/provisioning-accounts). Finally, you can control the tests that are to be attempted. You can provide a comma-separated list of tests that are to be skipped (For example: `EntityCapsTest,SoftwareInfoIntegrationTest`), or specifications (not case-sensitive) that are to be skipped (For example: `XEP-0045,XEP-0060`). Conversely, you can limit the run tests by providing a comma-separated list of tests or specifications to enabled (for example, for quick tests of refactored functionality, or to test functionality offered in a server with a plugin architecture). If both the enabled and disabled lists are provided, then tests will only run that match the enabled list, and are not in the disabled list. For more information on enabling and disabling tests, consult [this guide](/documentation/selecting-tests). diff --git a/_documentation/circleci.md b/_documentation/circleci.md index 713134c..56d97a8 100644 --- a/_documentation/circleci.md +++ b/_documentation/circleci.md @@ -166,24 +166,13 @@ usage: ## Configuration -Various options are available when calling _xmpp_interop_tests_action_, and whilst none of them are absolutely required, the defaults are unlikely to be perfect for everyone. - -| Option | Description | Default value | -|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------| -| host | IP address or DNS name of the XMPP service to run the tests on. | 127.0.0.1 | -| domain | the XMPP domain name of server under test. | example.org | -| timeout | the amount of milliseconds after which an XMPP action (typically an IQ request) is considered timed out. | 5000 (five seconds) | -| adminAccountUsername | (optional) The account name of a pre-existing user that is allowed to create other users, per [XEP-0133](https://xmpp.org/extensions/xep-0133.html). If not provided, in-band registration ([XEP-0077](https://xmpp.org/extensions/xep-0077.html)) will be used to provision accounts | - | -| adminAccountPassword | (optional) The password of the admin account | - | -| disabledTests | (optional) A comma-separated list of tests that are to be skipped. For example: EntityCapsTest,SoftwareInfoIntegrationTest | - | -| disabledSpecifications | (optional) A comma-separated list of specifications (not case-sensitive) that are to be skipped. For example: XEP-0045,XEP-0060 | - | -| enabledTests | (optional) A comma-separated list of tests that are the only ones to be run. For example: EntityCapsTest,SoftwareInfoIntegrationTest | - | -| enabledSpecifications | (optional) A comma-separated list of specifications (not case-sensitive) that are the only ones to be run. For example: XEP-0045,XEP-0060 | - | -| logDir | (optional) The directory in which the test output and logs are to be stored. This directory will be created, if it does not already exist. | ./output | - -For more information on enabling and disabling tests, consult [this guide](/documentation/selecting-tests). - -For the latest updates to the documentation of the configuration updates, consult the [GitHub repository](https://github.com/XMPP-Interop-Testing/xmpp-interop-tests-circleci-orb). +Various options are available when calling _xmpp-interop-tests_, and whilst none of them are absolutely required, the defaults are unlikely to be perfect for everyone. + +For the latest updates to the documentation of the configuration updates, consult the [GitHub repository of the CircleCI orb](https://github.com/XMPP-Interop-Testing/xmpp-interop-tests-circleci-orb). + +{% include doc-conf-table.html %} + +{% include doc-conf-provision.html %} {% include doc-next-steps.html %} diff --git a/_documentation/docker.md b/_documentation/docker.md index 6672f7a..455ba5c 100644 --- a/_documentation/docker.md +++ b/_documentation/docker.md @@ -31,19 +31,11 @@ The above assumes that your server is running and reachable on the domain `shake Various options are available when invoking the _xmpp_interop_tests_, and whilst none of them are absolutely required, the defaults are unlikely to be perfect for everyone. -| Option | Description | Default value | -|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------| -| host | IP address or DNS name of the XMPP service to run the tests on. | 127.0.0.1 | -| domain | the XMPP domain name of server under test. | example.org | -| timeout | the amount of milliseconds after which an XMPP action (typically an IQ request) is considered timed out. | 5000 (five seconds) | -| adminAccountUsername | (optional) The account name of a pre-existing user that is allowed to create other users, per [XEP-0133](https://xmpp.org/extensions/xep-0133.html). If not provided, in-band registration ([XEP-0077](https://xmpp.org/extensions/xep-0077.html)) will be used to provision accounts | - | -| adminAccountPassword | (optional) The password of the admin account | - | -| disabledTests | (optional) A comma-separated list of tests that are to be skipped. For example: EntityCapsTest,SoftwareInfoIntegrationTest | - | -| disabledSpecifications | (optional) A comma-separated list of specifications (not case-sensitive) that are to be skipped. For example: XEP-0045,XEP-0060 | - | -| enabledTests | (optional) A comma-separated list of tests that are the only ones to be run. For example: EntityCapsTest,SoftwareInfoIntegrationTest | - | -| enabledSpecifications | (optional) A comma-separated list of specifications (not case-sensitive) that are the only ones to be run. For example: XEP-0045,XEP-0060 | - | - -For more information on enabling and disabling tests, consult [this guide](/documentation/selecting-tests). +For the latest updates to the documentation of the configuration updates, consult the [GitHub repository of the Docker image](https://github.com/XMPP-Interop-Testing/smack-sint-server-extensions?#from-a-container). + +{% include doc-conf-table.html %} + +{% include doc-conf-provision.html %} ### Exposing XMPP traffic logs @@ -85,8 +77,6 @@ $ echo $? 2 {% endhighlight %} -For the latest updates to the documentation of the configuration updates, consult the [GitHub repository](https://github.com/XMPP-Interop-Testing/smack-sint-server-extensions?#from-a-container). - {% include doc-next-steps.html %} _Splash image courtesy of [Bernd 📷 Dittrich, Unsplash](https://unsplash.com/photos/a-group-of-trucks-parked-next-to-each-other-in-a-parking-lot-bUnsDLFRNWc?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash")_ diff --git a/_documentation/drone.md b/_documentation/drone.md index 2ba2186..27af6f5 100644 --- a/_documentation/drone.md +++ b/_documentation/drone.md @@ -91,21 +91,12 @@ Drone does not make available the XMPP stanza logs that are generated by the XMP Various options are available when calling _xmpp-interop-testing/drone-xmpp-test_, and whilst none of them are absolutely required, the defaults are unlikely to be perfect for everyone. -| Option | Description | Default value | -|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------| -| host | IP address or DNS name of the XMPP service to run the tests on. | 127.0.0.1 | -| domain | the XMPP domain name of server under test. | example.org | -| timeout | the amount of milliseconds after which an XMPP action (typically an IQ request) is considered timed out. | 5000 (five seconds) | -| adminAccountUsername | (optional) The account name of a pre-existing user that is allowed to create other users, per [XEP-0133](https://xmpp.org/extensions/xep-0133.html). If not provided, in-band registration ([XEP-0077](https://xmpp.org/extensions/xep-0077.html)) will be used to provision accounts | - | -| adminAccountPassword | (optional) The password of the admin account | - | -| disabledTests | (optional) A comma-separated list of tests that are to be skipped. For example: EntityCapsTest,SoftwareInfoIntegrationTest | - | -| disabledSpecifications | (optional) A comma-separated list of specifications (not case-sensitive) that are to be skipped. For example: XEP-0045,XEP-0060 | - | -| enabledTests | (optional) A comma-separated list of tests that are the only ones to be run. For example: EntityCapsTest,SoftwareInfoIntegrationTest | - | -| enabledSpecifications | (optional) A comma-separated list of specifications (not case-sensitive) that are the only ones to be run. For example: XEP-0045,XEP-0060 | - | -| logDir | (optional) The directory in which the test output and logs are to be stored. This directory will be created, if it does not already exist. | ./output | - For the latest updates to the documentation of the configuration updates, consult the [GitHub repository of the Drone plugin](https://github.com/XMPP-Interop-Testing/xmpp-interop-tests-drone-plugin). +{% include doc-conf-table.html %} + +{% include doc-conf-provision.html %} + {% include doc-next-steps.html %} _Splash image courtesy of [Shahadat Rahman, Unsplash](https://unsplash.com/photos/shallow-focus-photography-of-computer-codes-BfrQnKBulYQ?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)_ diff --git a/_documentation/forgejo.md b/_documentation/forgejo.md index 2c70af5..5b239d8 100644 --- a/_documentation/forgejo.md +++ b/_documentation/forgejo.md @@ -88,23 +88,12 @@ Forgejo does not give a detailed overview of what tests succeed, and what test f Various options are available when calling _xmpp_interop_tests_action_, and whilst none of them are absolutely required, the defaults are unlikely to be perfect for everyone. -| Option | Description | Default value | -|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------| -| host | IP address or DNS name of the XMPP service to run the tests on. | 127.0.0.1 | -| domain | the XMPP domain name of server under test. | example.org | -| timeout | the amount of milliseconds after which an XMPP action (typically an IQ request) is considered timed out. | 5000 (five seconds) | -| adminAccountUsername | (optional) The account name of a pre-existing user that is allowed to create other users, per [XEP-0133](https://xmpp.org/extensions/xep-0133.html). If not provided, in-band registration ([XEP-0077](https://xmpp.org/extensions/xep-0077.html)) will be used to provision accounts | - | -| adminAccountPassword | (optional) The password of the admin account | - | -| disabledTests | (optional) A comma-separated list of tests that are to be skipped. For example: EntityCapsTest,SoftwareInfoIntegrationTest | - | -| disabledSpecifications | (optional) A comma-separated list of specifications (not case-sensitive) that are to be skipped. For example: XEP-0045,XEP-0060 | - | -| enabledTests | (optional) A comma-separated list of tests that are the only ones to be run. For example: EntityCapsTest,SoftwareInfoIntegrationTest | - | -| enabledSpecifications | (optional) A comma-separated list of specifications (not case-sensitive) that are the only ones to be run. For example: XEP-0045,XEP-0060 | - | -| logDir | (optional) The directory in which the test output and logs are to be stored. This directory will be created, if it does not already exist. | ./output | - -For more information on enabling and disabling tests, consult [this guide](/documentation/selecting-tests). - For the latest updates to the documentation of the configuration updates, consult the [Codeberg repository of the Forgejo plugin](https://codeberg.org/XMPP-Interop-Testing/xmpp-interop-tests-forgejo-action). +{% include doc-conf-table.html %} + +{% include doc-conf-provision.html %} + {% include doc-next-steps.html %} _Splash image courtesy of [David Revoy, Forgejo](https://www.peppercarrot.com/en/viewer/misc-src__2022-11-27_Forgejo_by-David-Revoy.html)_ diff --git a/_documentation/github.md b/_documentation/github.md index 697cbd3..bc28141 100644 --- a/_documentation/github.md +++ b/_documentation/github.md @@ -161,22 +161,11 @@ jobs: Various options are available when calling _xmpp_interop_tests_action_, and whilst none of them are absolutely required, the defaults are unlikely to be perfect for everyone. -| Option | Description | Default value | -|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------| -| host | IP address or DNS name of the XMPP service to run the tests on. | 127.0.0.1 | -| domain | the XMPP domain name of server under test. | example.org | -| timeout | the amount of milliseconds after which an XMPP action (typically an IQ request) is considered timed out. | 5000 (five seconds) | -| adminAccountUsername | (optional) The account name of a pre-existing user that is allowed to create other users, per [XEP-0133](https://xmpp.org/extensions/xep-0133.html). If not provided, in-band registration ([XEP-0077](https://xmpp.org/extensions/xep-0077.html)) will be used to provision accounts | - | -| adminAccountPassword | (optional) The password of the admin account | - | -| disabledTests | (optional) A comma-separated list of tests that are to be skipped. For example: EntityCapsTest,SoftwareInfoIntegrationTest | - | -| disabledSpecifications | (optional) A comma-separated list of specifications (not case-sensitive) that are to be skipped. For example: XEP-0045,XEP-0060 | - | -| enabledTests | (optional) A comma-separated list of tests that are the only ones to be run. For example: EntityCapsTest,SoftwareInfoIntegrationTest | - | -| enabledSpecifications | (optional) A comma-separated list of specifications (not case-sensitive) that are the only ones to be run. For example: XEP-0045,XEP-0060 | - | -| logDir | (optional) The directory in which the test output and logs are to be stored. This directory will be created, if it does not already exist. | ./output | - -For more information on enabling and disabling tests, consult [this guide](/documentation/selecting-tests). - -For the latest updates to the documentation of the configuration updates, consult the [GitHub repository](https://github.com/XMPP-Interop-Testing/xmpp-interop-tests-action). +For the latest updates to the documentation of the configuration updates, consult the [GitHub repository of the GitHub Action](https://github.com/XMPP-Interop-Testing/xmpp-interop-tests-action). + +{% include doc-conf-table.html %} + +{% include doc-conf-provision.html %} {% include doc-next-steps.html %} diff --git a/_documentation/gitlab.md b/_documentation/gitlab.md index 355540d..1efc519 100644 --- a/_documentation/gitlab.md +++ b/_documentation/gitlab.md @@ -91,22 +91,11 @@ In addition to the first example: Various options are available when calling _xmpp_interop_tests_action_, and whilst none of them are absolutely required, the defaults are unlikely to be perfect for everyone. -| Option | Description | Default value | -|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------| -| host | IP address or DNS name of the XMPP service to run the tests on. | 127.0.0.1 | -| domain | the XMPP domain name of server under test. | example.org | -| timeout | the amount of milliseconds after which an XMPP action (typically an IQ request) is considered timed out. | 5000 (five seconds) | -| adminAccountUsername | (optional) The account name of a pre-existing user that is allowed to create other users, per [XEP-0133](https://xmpp.org/extensions/xep-0133.html). If not provided, in-band registration ([XEP-0077](https://xmpp.org/extensions/xep-0077.html)) will be used to provision accounts | - | -| adminAccountPassword | (optional) The password of the admin account | - | -| disabledTests | (optional) A comma-separated list of tests that are to be skipped. For example: EntityCapsTest,SoftwareInfoIntegrationTest | - | -| disabledSpecifications | (optional) A comma-separated list of specifications (not case-sensitive) that are to be skipped. For example: XEP-0045,XEP-0060 | - | -| enabledTests | (optional) A comma-separated list of tests that are the only ones to be run. For example: EntityCapsTest,SoftwareInfoIntegrationTest | - | -| enabledSpecifications | (optional) A comma-separated list of specifications (not case-sensitive) that are the only ones to be run. For example: XEP-0045,XEP-0060 | - | -| logDir | (optional) The directory in which the test output and logs are to be stored. This directory will be created, if it does not already exist. | ./output | - -For more information on enabling and disabling tests, consult [this guide](/documentation/selecting-tests). - -For the latest updates to the documentation of the configuration updates, consult the [GitLab repository](https://gitlab.com/xmpp-interop-testing/xmpp-interop-testing-gitlab-component). +For the latest updates to the documentation of the configuration updates, consult the [GitLab repository of the GitLab Action](https://gitlab.com/xmpp-interop-testing/xmpp-interop-testing-gitlab-component). + +{% include doc-conf-table.html %} + +{% include doc-conf-provision.html %} {% include doc-next-steps.html %} diff --git a/_documentation/harness.md b/_documentation/harness.md index d3759cd..c22e577 100644 --- a/_documentation/harness.md +++ b/_documentation/harness.md @@ -95,21 +95,12 @@ Harness does not make available the XMPP stanza logs that are generated by the X Various options are available when calling _xmpp-interop-testing/drone-xmpp-test_, and whilst none of them are absolutely required, the defaults are unlikely to be perfect for everyone. -| Option | Description | Default value | -|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------| -| host | IP address or DNS name of the XMPP service to run the tests on. | 127.0.0.1 | -| domain | the XMPP domain name of server under test. | example.org | -| timeout | the amount of milliseconds after which an XMPP action (typically an IQ request) is considered timed out. | 5000 (five seconds) | -| adminAccountUsername | (optional) The account name of a pre-existing user that is allowed to create other users, per [XEP-0133](https://xmpp.org/extensions/xep-0133.html). If not provided, in-band registration ([XEP-0077](https://xmpp.org/extensions/xep-0077.html)) will be used to provision accounts | - | -| adminAccountPassword | (optional) The password of the admin account | - | -| disabledTests | (optional) A comma-separated list of tests that are to be skipped. For example: EntityCapsTest,SoftwareInfoIntegrationTest | - | -| disabledSpecifications | (optional) A comma-separated list of specifications (not case-sensitive) that are to be skipped. For example: XEP-0045,XEP-0060 | - | -| enabledTests | (optional) A comma-separated list of tests that are the only ones to be run. For example: EntityCapsTest,SoftwareInfoIntegrationTest | - | -| enabledSpecifications | (optional) A comma-separated list of specifications (not case-sensitive) that are the only ones to be run. For example: XEP-0045,XEP-0060 | - | -| logDir | (optional) The directory in which the test output and logs are to be stored. This directory will be created, if it does not already exist. | ./output | - For the latest updates to the documentation of the configuration updates, consult the [GitHub repository of the Drone plugin](https://github.com/XMPP-Interop-Testing/xmpp-interop-tests-drone-plugin). +{% include doc-conf-table.html %} + +{% include doc-conf-provision.html %} + {% include doc-next-steps.html %} _Splash image courtesy of [Harness](https://developer.harness.io/img/ci.svg)_ diff --git a/_documentation/podman.md b/_documentation/podman.md index 2cec302..e3ef34f 100644 --- a/_documentation/podman.md +++ b/_documentation/podman.md @@ -31,19 +31,11 @@ The above assumes that your server is running and reachable on the domain `shake Various options are available when invoking the tests, and whilst none of them are absolutely required, the defaults are unlikely to be perfect for everyone. -| Option | Description | Default value | -|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------| -| host | IP address or DNS name of the XMPP service to run the tests on. | 127.0.0.1 | -| domain | the XMPP domain name of server under test. | example.org | -| timeout | the amount of milliseconds after which an XMPP action (typically an IQ request) is considered timed out. | 5000 (five seconds) | -| adminAccountUsername | (optional) The account name of a pre-existing user that is allowed to create other users, per [XEP-0133](https://xmpp.org/extensions/xep-0133.html). If not provided, in-band registration ([XEP-0077](https://xmpp.org/extensions/xep-0077.html)) will be used to provision accounts | - | -| adminAccountPassword | (optional) The password of the admin account | - | -| disabledTests | (optional) A comma-separated list of tests that are to be skipped. For example: EntityCapsTest,SoftwareInfoIntegrationTest | - | -| disabledSpecifications | (optional) A comma-separated list of specifications (not case-sensitive) that are to be skipped. For example: XEP-0045,XEP-0060 | - | -| enabledTests | (optional) A comma-separated list of tests that are the only ones to be run. For example: EntityCapsTest,SoftwareInfoIntegrationTest | - | -| enabledSpecifications | (optional) A comma-separated list of specifications (not case-sensitive) that are the only ones to be run. For example: XEP-0045,XEP-0060 | - | - -For more information on enabling and disabling tests, consult [this guide](/documentation/selecting-tests). +For the latest updates to the documentation of the configuration updates, consult the [GitHub repository of the OCI image](https://github.com/XMPP-Interop-Testing/smack-sint-server-extensions?#from-a-container). + +{% include doc-conf-table.html %} + +{% include doc-conf-provision.html %} ### Exposing XMPP traffic logs @@ -85,8 +77,6 @@ $ echo $? 2 {% endhighlight %} -For the latest updates to the documentation of the configuration updates, consult the [GitHub repository](https://github.com/XMPP-Interop-Testing/smack-sint-server-extensions?#from-a-container). - {% include doc-next-steps.html %} _Splash image courtesy of [CHUTTERSNAP, Unsplash](https://unsplash.com/photos/birds-photo-of-cityscape-9cCeS9Sg6nU?utm_content=creditShareLink&utm_medium=referral&utm_source=unsplash)_ diff --git a/_documentation/provisioning-accounts.md b/_documentation/provisioning-accounts.md new file mode 100644 index 0000000..8a77513 --- /dev/null +++ b/_documentation/provisioning-accounts.md @@ -0,0 +1,62 @@ +--- +layout: page +title: "Test Account Provisioning" +cover-img: /assets/img/provisioning-accounts_splash.jpg +date: 2025-09-15 14:12:30 +0200 +author: Guus der Kinderen +--- + +The tests that make up the test suite mimic clients that interact with the server under test: Tests are client-to-server +based tests. As such, most tests require a username and password to be able to connect to the server. This guide describes +three alternative methods for the tests to use accounts: + +- **Admin Account** - By configuring the username and password of a pre-existing administrative user, test accounts will be created using [XEP-0133: Service Administration](https://xmpp.org/extensions/xep-0133.html) functionality. +- **Explicit Test Accounts** - You can configure three pre-existing accounts that will be used for testing. +- **In-Band Registration** - In-band registration ([XEP-0077](https://xmpp.org/extensions/xep-0077.html)) can be used to provision accounts. + +### Caveats +Some test implementations require a specific method of account provisioning (or are not compatible with one of the +provisioning methods). Notably, some tests require administrative functionality, that is only available with the +'admin account' method. Other tests require on-demand account creation, which isn't available with the 'explicit test +accounts' method. + +When a test can't run because of the type of provisioning that's configured, that test is automatically skipped. This +affects only a small portion of the total test suite that's available within the framework. + +For best results, the 'admin account' method is preferable over the other methods. + +## Admin Account (and ad-hoc commands) + +Many XMPP servers have the notion of 'administrative' functionality that can be invoked via a subset of the XMPP protocol, +named Ad-Hoc Commands. This functionality is standardized in [XEP-0133: Service Administration](https://xmpp.org/extensions/xep-0133.html). + +By configuring the username and password of a pre-existing user that is permitted to invoke this functionality, the test +framework will create three test accounts on the server under test. + +To configure the credentials for this user, the `adminAccountUsername` and `adminAccountPassword` configuration options +are to be used. + +## Explicit Test Accounts + +Most tests use up to three accounts. Whereas the other methods in this document allow the test framework to create these +accounts dynamically, the framework can also be configured to use predefined accounts instead. This allows you to +provision the accounts out of band, in any other way that is appropriate to your environment. + +To configure credentials for all three test accounts, use the following configuration option pairs: + +- `accountOneUsername` and `accountOnePassword` +- `accountTwoUsername` and `accountTwoPassword` +- `accountThreeUsername` and `accountThreePassword` + +Note that all six configuration options need to be provided, and they all need to reference different user accounts. + +## In-Band Registration + +When neither the "Admin Account" nor the "Explicit Test Accounts" options is configured, the test framework will fall +back to a method of last resort: using an XMPP feature called In-Band Registration (as specified in +[XEP-0077](https://xmpp.org/extensions/xep-0077.html)). Using this method, test accounts are created on demand. + +In-Band Registration typically is not enabled by default on servers. If it is, it may require additional security checks +(such is CAPTCHA solving) that is not supported by our test framework. + +_Splash image courtesy of [Mohamed Nohassi, Unsplash](https://unsplash.com/photos/a-group-of-white-robots-sitting-on-top-of-laptops-2iUrK025cec?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)_ diff --git a/_documentation/woodpecker.md b/_documentation/woodpecker.md index 527ecd9..495d4e1 100644 --- a/_documentation/woodpecker.md +++ b/_documentation/woodpecker.md @@ -108,21 +108,12 @@ Woodpecker does not give a detailed overview of what tests succeed, and what tes Various options are available when calling _xmpp-interop-testing/drone-xmpp-test_, and whilst none of them are absolutely required, the defaults are unlikely to be perfect for everyone. -| Option | Description | Default value | -|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------| -| host | IP address or DNS name of the XMPP service to run the tests on. | 127.0.0.1 | -| domain | the XMPP domain name of server under test. | example.org | -| timeout | the amount of milliseconds after which an XMPP action (typically an IQ request) is considered timed out. | 5000 (five seconds) | -| adminAccountUsername | (optional) The account name of a pre-existing user that is allowed to create other users, per [XEP-0133](https://xmpp.org/extensions/xep-0133.html). If not provided, in-band registration ([XEP-0077](https://xmpp.org/extensions/xep-0077.html)) will be used to provision accounts | - | -| adminAccountPassword | (optional) The password of the admin account | - | -| disabledTests | (optional) A comma-separated list of tests that are to be skipped. For example: EntityCapsTest,SoftwareInfoIntegrationTest | - | -| disabledSpecifications | (optional) A comma-separated list of specifications (not case-sensitive) that are to be skipped. For example: XEP-0045,XEP-0060 | - | -| enabledTests | (optional) A comma-separated list of tests that are the only ones to be run. For example: EntityCapsTest,SoftwareInfoIntegrationTest | - | -| enabledSpecifications | (optional) A comma-separated list of specifications (not case-sensitive) that are the only ones to be run. For example: XEP-0045,XEP-0060 | - | -| logDir | (optional) The directory in which the test output and logs are to be stored. This directory will be created, if it does not already exist. | ./output | - For the latest updates to the documentation of the configuration updates, consult the [GitHub repository of the Drone plugin](https://github.com/XMPP-Interop-Testing/xmpp-interop-tests-drone-plugin). +{% include doc-conf-table.html %} + +{% include doc-conf-provision.html %} + {% include doc-next-steps.html %} _Splash image courtesy of [Shavr IK, Unsplash](https://unsplash.com/photos/a-close-up-of-a-control-panel-with-buttons-r6fBLCriUgg?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)_ diff --git a/_includes/doc-conf-provision.html b/_includes/doc-conf-provision.html new file mode 100644 index 0000000..d12b819 --- /dev/null +++ b/_includes/doc-conf-provision.html @@ -0,0 +1,8 @@ +### Provisioning Test Accounts + +To be able to run the tests, the server that is being tested needs to be provisioned with test accounts. Three different mechanisms can be used for this: +- **Admin Account** - By configuring the username and password of a pre-existing administrative user, using the `adminAccountUsername` and `adminAccountPassword` configuration options, three test accounts will be created using [XEP-0133: Service Administration](https://xmpp.org/extensions/xep-0133.html) functionality. +- **Explicit Test Accounts** - You can configure three pre-existing accounts that will be used for testing, using the `accountOneUsername`, `accountOnePassword`, `accountTwoUsername`, `accountTwoPassword`, `accountThreeUsername` and `accountThreePassword` configuration options. +- **In-Band Registration** - If no admin account and no explicit tests accounts are provided, in-band registration ([XEP-0077](https://xmpp.org/extensions/xep-0077.html)) will be used to provision accounts. + +For more information on provisioning accounts, consult the ['Test Account Provisioning' guide](/documentation/provisioning-accounts). diff --git a/_includes/doc-conf-table.html b/_includes/doc-conf-table.html new file mode 100644 index 0000000..8be1df9 --- /dev/null +++ b/_includes/doc-conf-table.html @@ -0,0 +1,18 @@ +| Option | Description | Default value | +|------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------| +| host | IP address or DNS name of the XMPP service to run the tests on. | 127.0.0.1 | +| domain | the XMPP domain name of server under test. | example.org | +| timeout | the amount of milliseconds after which an XMPP action (typically an IQ request) is considered timed out. | 5000 (five seconds) | +| adminAccountUsername | (optional) The account name of a pre-existing user that is allowed to create other users, per [XEP-0133](https://xmpp.org/extensions/xep-0133.html). See: "[Provisioning Test Accounts](#provisioning-test-accounts)" | - | +| adminAccountPassword | (optional) The password of the admin account | - | +| accountOneUsername | (optional) The first account name of a set of three accounts used for testing. See: "[Provisioning Test Accounts](#provisioning-test-accounts)" | - | +| accountOnePassword | (optional) The password of the accountOneUsername account. | - | +| accountTwoUsername | (optional) The second account name of a set of three accounts used for testing. See: "[Provisioning Test Accounts](#provisioning-test-accounts)" | - | +| accountTwoPassword | (optional) The password of the accountTwoUserName account | - | +| accountThreeUsername | (optional) The third account name of a set of three accounts used for testing. See: "[Provisioning Test Accounts](#provisioning-test-accounts)" | - | +| accountThreePassword | (optional) The password of the accountThreeUserName account | - | +| disabledTests | (optional) A comma-separated list of tests that are to be skipped. For example: EntityCapsTest,SoftwareInfoIntegrationTest | - | +| disabledSpecifications | (optional) A comma-separated list of specifications (not case-sensitive) that are to be skipped. For example: XEP-0045,XEP-0060 | - | +| enabledTests | (optional) A comma-separated list of tests that are the only ones to be run. For example: EntityCapsTest,SoftwareInfoIntegrationTest | - | +| enabledSpecifications | (optional) A comma-separated list of specifications (not case-sensitive) that are the only ones to be run. For example: XEP-0045,XEP-0060 | - | +| logDir | (optional) The directory in which the test output and logs are to be stored. This directory will be created, if it does not already exist. | ./output | diff --git a/assets/img/provisioning-accounts_splash.jpg b/assets/img/provisioning-accounts_splash.jpg new file mode 100644 index 0000000..10f1adb Binary files /dev/null and b/assets/img/provisioning-accounts_splash.jpg differ diff --git a/index.markdown b/index.markdown index 17fe1a5..fcbc150 100644 --- a/index.markdown +++ b/index.markdown @@ -38,6 +38,7 @@ If you'd like to learn how to integrate XMPP standards conformance tests in your After integrating our tests in your build pipeline, you might be interested in the following usage documentation. +- [Test account provisioning](/documentation/provisioning-accounts). - [Choosing what test to run](/documentation/selecting-tests) - [Diagnose test failures](/documentation/diagnose-test-failures)