Commit graph

42 commits

Author SHA1 Message Date
5b2a929063 change cli command to "abratest" 2023-12-07 11:31:18 +01:00
8a136e5e6c add timeout parameter to cli and to pytest_abra 2023-12-07 01:40:35 +01:00
a499891fe8 add timeout parameter to pytest-abra 2023-12-07 01:26:23 +01:00
9986e46019 remove autouse in plugin fixtures so that plugin usage is optional 2023-12-07 01:21:52 +01:00
aaf758b706 pass runner_index instead of env_file_path to runner. add ENV_FILES fixture 2023-12-07 01:19:52 +01:00
05423e0770 make abra pytest arguments non-required 2023-12-06 23:38:47 +01:00
e2f4ac5654 remove old main 2023-12-06 23:26:39 +01:00
28b1af57a6 add more arguments and move everything from cli to main 2023-12-06 23:26:20 +01:00
65d3753295 add new main, run abratest through cli 2023-12-06 23:14:40 +01:00
cb37e4b023 add env testing prototype 2023-12-06 23:11:46 +01:00
93106df3b9 wip: add cli command with [project.scripts] 2023-12-06 23:11:24 +01:00
35908ddc00 add note 2023-12-06 23:00:20 +01:00
a26d5f2e84 fix project.scripts 2023-12-06 22:33:29 +01:00
38d4a7fcf2 rename to get_datetime_string 2023-12-06 22:32:32 +01:00
808170c6c5 use session_id directly as dir 2023-12-06 22:30:30 +01:00
a2a1e86d0e add new main file 2023-12-06 21:56:05 +01:00
b9bf2f026e rename old main file 2023-12-06 21:55:57 +01:00
e1dc085252 fix env file path 2023-12-06 21:55:21 +01:00
a23a9810dd fix pytest11 entrypoint, add wip scripts 2023-12-06 14:25:25 +01:00
87fcab5b29 move testing to Development 2023-12-06 13:23:44 +01:00
bdf427224c update dependencies, change build-system to hatchling 2023-12-06 13:19:23 +01:00
5c59c3b444 add hatchling 2023-12-06 13:15:57 +01:00
9d18d4ad39 remove unused conftest 2023-12-06 13:12:50 +01:00
188305421b add *.egg-info 2023-12-06 13:07:54 +01:00
b76f031f1e fix syntax 2023-12-06 13:07:39 +01:00
95c7a19edd update doc 2023-12-06 12:59:02 +01:00
1fb1d4adfb change all imports 2023-12-06 12:57:17 +01:00
8c28974692 rename dir to pytest_abra 2023-12-06 12:55:37 +01:00
f7161d5c2c WIP: make pytest-abra installable
also turn it into a pytest plugin (autoloaded)
2023-12-06 12:55:04 +01:00
88a217c4f2 rename 2023-12-06 12:37:37 +01:00
81e55598bc disable explicit plugin loading 2023-12-06 12:24:10 +01:00
4c5a470a70 refactor so that coordinator instance is available in runner instance (#8)
-> all program states available

Reviewed-on: local-it-infrastructure/e2e_tests#8
Co-authored-by: Daniel <d.brummerloh@gmail.com>
Co-committed-by: Daniel <d.brummerloh@gmail.com>
2023-12-06 12:05:13 +01:00
f9c21c6e6b refactor for independent test dirs (#7)
* make it so that the actual tests can be moved anywhere, for example in abra recipe repos
-> major refactoring with pytest test discovery magic

* create RUNNER_DICT dynamically with importlib
-> none of the tests are hardcoded, more tests can be added by placing a folder

* autoload fixtures with pytest plugins

* add URL fixture to navigate on web pages. Includes url parser based on python urllib to generate correct links

* fix nextcloud setups and tests

*  add email groundwork with imbox

Reviewed-on: local-it-infrastructure/e2e_tests#7
Co-authored-by: Daniel <d.brummerloh@gmail.com>
Co-committed-by: Daniel <d.brummerloh@gmail.com>
2023-12-05 21:41:43 +01:00
3fa10aaa69 implement env manager (#6)
* add EnvManager class

* holds all functions that are env file related

* integrates runner dependency resolution

* add integration and unit tests for EnvManager

Reviewed-on: local-it-infrastructure/e2e_tests#6
Co-authored-by: Daniel <d.brummerloh@gmail.com>
Co-committed-by: Daniel <d.brummerloh@gmail.com>
2023-12-04 17:09:01 +01:00
d3dc0f942a new-features (#5)
* refactoring and rework: runner now has setups / tests / cleanups as lists
* add nextcloud runner
* add email testing prototype with imap fixture
* add dependency resolution (sort env files in input so that test order is correct)

Reviewed-on: local-it-infrastructure/e2e_tests#5
Co-authored-by: Daniel <d.brummerloh@gmail.com>
Co-committed-by: Daniel <d.brummerloh@gmail.com>
2023-12-04 12:46:30 +01:00
2e33f8f014 make-all-env-files-available (#4)
Before, a test had only access to it's own env file / configuration (wordpress could see wordpress env file). Now, all env files are available. Wordpress test can also read authentik env file, for example to get the authentik domain.

Reviewed-on: local-it-infrastructure/e2e_tests#4
Co-authored-by: Daniel <d.brummerloh@gmail.com>
Co-committed-by: Daniel <d.brummerloh@gmail.com>
2023-11-30 10:53:20 +01:00
8172f685de rework-output-and-test-logic (#3)
* fix flakey tests in authentik / wordpress

* make it possible to rerun tests partially -> passed will be skipped, failed will be repeated

* improve organization of all outputs (moving, renaming, keeping multiple versions etc.)

* add html reports, replace .txt tracebacks

* combine all html reports into one

* add demo runner with comments for documentation purposes

Reviewed-on: local-it-infrastructure/e2e_tests#3
Co-authored-by: Daniel <d.brummerloh@gmail.com>
Co-committed-by: Daniel <d.brummerloh@gmail.com>
2023-11-29 14:14:46 +01:00
d2cd6ba47f authentik setup and tracing (#2)
* authentik sessions created successfully during setup without breaking tracing

* setup works on EN and DE localization by using regex patterns

* automated tracing with pytest --trace option, manual hook no longer needed

Reviewed-on: local-it-infrastructure/e2e_tests#2
Co-authored-by: Daniel <d.brummerloh@gmail.com>
Co-committed-by: Daniel <d.brummerloh@gmail.com>
2023-11-27 17:01:45 +01:00
97ed87c79f [WIP] Add new automated test framework (#1)
Co-authored-by: Daniel <d.brummerloh@gmail.com>
Co-committed-by: Daniel <d.brummerloh@gmail.com>
2023-11-22 21:40:13 +01:00
859bd57006 test framework 2023-07-07 03:38:10 +02:00
5961516536 add config 2023-06-15 22:22:58 +02:00
6ec9b5df50 init 2023-06-15 21:53:12 +02:00