The developer guide explains how to maintain and develop the Advanced Analytics Framework (AAF).
The following command builds the SLC for the AAF
poetry run nox -s build_language_container
Installing the SLC ins described in the AAF User Guide.
AAF contains the amalgated Lua script create_query_loop.sql originating from the files in the directory exasol/analytics/lua/src.
The following command updates the amalgated script:
poetry run nox -s amalgate_lua_scripts
AAF comes with different automated tests implemented in different programming languages and requiring different environments:
Language | Category | Database | Environment |
---|---|---|---|
Python | Unit tests | no | poetry |
Python | Integration tests with database | yes | dev_env |
Python | Integration tests w/o database | no | dev_env |
Lua | Unit tests | no | dev_env |
For tests marked with Environment dev_env you need to
- Setup a Development Environment
- Add the AAF to it
- Run the tests in the Development Environment
The Development Environment
- Activates AAF's conda environment containing a specific versino of Lua
- Sets the environment variables
LUA_PATH
,LUA_CPATH
, andPATH
for executing lua scripts
The following commands install the Development Environment and add the AAF
poetry run -- nox -s install_dev_env
poetry run -- nox -s run_in_dev_env -- poetry install
You can execute the unit tests without special preparation in the regular poetry environment:
poetry run pytest tests/unit_tests
The following commands run integration tests w/o and with database
poetry run -- nox -s run_python_test -- -- tests/integration_tests/without_db/
poetry run -- nox -s run_python_test -- -- --backend=onprem tests/integration_tests/with_db/
The following command executes the Lua Unit Tests:
poety run nox -s run_lua_unit_tests