ashb commented on a change in pull request #7389: [AIRFLOW-6763] Make systems tests ready for backport tests URL: https://github.com/apache/airflow/pull/7389#discussion_r378795761
########## File path: TESTING.rst ########## @@ -474,21 +473,54 @@ More information: Airflow System Tests ==================== -The System tests for Airflow are not yet fully implemented. They are Work In Progress of the -`AIP-4 Support for System Tests for external systems <https://cwiki.apache.org/confluence/display/AIRFLOW/AIP-4+Support+for+System+Tests+for+external+systems>`__. These tests need to communicate with external services/systems that are available if you have appropriate credentials configured for your tests. -The tests derive from ``tests.system_test_class.SystemTests`` class. +The tests derive from ``tests.system_test_class.SystemTests`` class. They should also +be marked with ``@pytest.marker.system(SYSTEM)`` where system designates the system +to be tested (for example ``google.cloud``). Those tests are skipped by default. +You can execute the tests providing ``--systems SYSTEMS`` flag to pytest. -The system tests execute a specified -example DAG file that runs the DAG end-to-end. +The system tests execute a specified example DAG file that runs the DAG end-to-end. + +Most of the system tests have also addtional requirements for example they need to have +credentials to connect to external systems. This is don with pytest marker +``@pytest.markers.credential_file(file)`` where "file" is a file containing +credentials. The credential file should be relative path from +``/files/airflow-breeze-config/keys`` directory. In Breeze environment it is mapped +from the ``files`` directory in airflow's sources. + +Some of the system tests are long lasting ones (they require more than 20-30 minutes +to complete}. They are marked with ```@pytest.markers.long_lasting`` marker. +They are skipped by default unless you specify ``--long-lasting`` flag to pytest. An example of such a system test is ``airflow.tests.providers.google.operators.test_natural_language_system.CloudNaturalLanguageExampleDagsTest``. -For now you can execute the system tests and follow messages printed to get them running. Soon more information on -running the tests will be available. +Running system tests +-------------------- + +As mentioned above - the system tests are only executed when you specify ``--systems SYSTEMS`` +flag where SYSTEMS is coma-separated list of systems to run the system tests for. + + +Running tests for older Airflow versionsIRFLOW Review comment: ```suggestion Running tests for older Airflow versions ``` ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services