├── .gitignore ├── API-docs.md ├── README.md ├── api_app ├── Dockerfile ├── __init__.py ├── src │ ├── __init__.py │ ├── app.py │ ├── books.py │ ├── data.py │ ├── hooks.py │ ├── knockknock.py │ ├── schemas.py │ └── token.py └── tests │ ├── __init__.py │ ├── pytest.ini │ ├── test_auth.py │ ├── test_books.py │ └── test_knockknock.py ├── exercises ├── README.md ├── __init__.py ├── example_solutions │ ├── __init__.py │ ├── apiclients_ex4.py │ ├── apiclients_ex5.py │ ├── apiclients_ex6.py │ ├── ex1_requests.py │ ├── pytest.ini │ ├── test_ex2_pytest.py │ ├── test_ex3_fixtures.py │ ├── test_ex4_apiclients.py │ ├── test_ex5_logging_v1.py │ └── test_ex6_logging_v2.py ├── exercise_1.md ├── exercise_2.md ├── exercise_3.md ├── exercise_4.md ├── exercise_5.md └── exercise_6.md ├── extras ├── README.md ├── __init__.py ├── next_steps │ ├── __init__.py │ ├── debugging.md │ ├── pytest.ini │ ├── test_jsonschema.py │ ├── test_log_to_file.py │ ├── test_parametrization.py │ ├── test_schema_validation.py │ ├── test_setup_teardown_fixture.py │ ├── test_teardown_only_fixture.py │ ├── test_with_testdata_from_file.py │ └── testdata.yml └── same_test_different_tools │ ├── __init__.py │ ├── behave │ ├── __init__.py │ └── features │ │ ├── __init__.py │ │ ├── example.feature │ │ └── steps │ │ ├── __init__.py │ │ └── example_steps.py │ ├── pytest │ ├── __init__.py │ ├── pytest.ini │ └── test_delete_book.py │ ├── robot-framework │ ├── __init__.py │ └── delete_book.robot │ └── tavern │ ├── __init__.py │ ├── pytest.ini │ └── test_delete.tavern.yaml └── requirements.txt /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/.gitignore -------------------------------------------------------------------------------- /API-docs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/API-docs.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/README.md -------------------------------------------------------------------------------- /api_app/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/api_app/Dockerfile -------------------------------------------------------------------------------- /api_app/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /api_app/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /api_app/src/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/api_app/src/app.py -------------------------------------------------------------------------------- /api_app/src/books.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/api_app/src/books.py -------------------------------------------------------------------------------- /api_app/src/data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/api_app/src/data.py -------------------------------------------------------------------------------- /api_app/src/hooks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/api_app/src/hooks.py -------------------------------------------------------------------------------- /api_app/src/knockknock.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/api_app/src/knockknock.py -------------------------------------------------------------------------------- /api_app/src/schemas.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/api_app/src/schemas.py -------------------------------------------------------------------------------- /api_app/src/token.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/api_app/src/token.py -------------------------------------------------------------------------------- /api_app/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /api_app/tests/pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/api_app/tests/pytest.ini -------------------------------------------------------------------------------- /api_app/tests/test_auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/api_app/tests/test_auth.py -------------------------------------------------------------------------------- /api_app/tests/test_books.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/api_app/tests/test_books.py -------------------------------------------------------------------------------- /api_app/tests/test_knockknock.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/api_app/tests/test_knockknock.py -------------------------------------------------------------------------------- /exercises/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/exercises/README.md -------------------------------------------------------------------------------- /exercises/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /exercises/example_solutions/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /exercises/example_solutions/apiclients_ex4.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/exercises/example_solutions/apiclients_ex4.py -------------------------------------------------------------------------------- /exercises/example_solutions/apiclients_ex5.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/exercises/example_solutions/apiclients_ex5.py -------------------------------------------------------------------------------- /exercises/example_solutions/apiclients_ex6.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/exercises/example_solutions/apiclients_ex6.py -------------------------------------------------------------------------------- /exercises/example_solutions/ex1_requests.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/exercises/example_solutions/ex1_requests.py -------------------------------------------------------------------------------- /exercises/example_solutions/pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/exercises/example_solutions/pytest.ini -------------------------------------------------------------------------------- /exercises/example_solutions/test_ex2_pytest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/exercises/example_solutions/test_ex2_pytest.py -------------------------------------------------------------------------------- /exercises/example_solutions/test_ex3_fixtures.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/exercises/example_solutions/test_ex3_fixtures.py -------------------------------------------------------------------------------- /exercises/example_solutions/test_ex4_apiclients.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/exercises/example_solutions/test_ex4_apiclients.py -------------------------------------------------------------------------------- /exercises/example_solutions/test_ex5_logging_v1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/exercises/example_solutions/test_ex5_logging_v1.py -------------------------------------------------------------------------------- /exercises/example_solutions/test_ex6_logging_v2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/exercises/example_solutions/test_ex6_logging_v2.py -------------------------------------------------------------------------------- /exercises/exercise_1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/exercises/exercise_1.md -------------------------------------------------------------------------------- /exercises/exercise_2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/exercises/exercise_2.md -------------------------------------------------------------------------------- /exercises/exercise_3.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/exercises/exercise_3.md -------------------------------------------------------------------------------- /exercises/exercise_4.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/exercises/exercise_4.md -------------------------------------------------------------------------------- /exercises/exercise_5.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/exercises/exercise_5.md -------------------------------------------------------------------------------- /exercises/exercise_6.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/exercises/exercise_6.md -------------------------------------------------------------------------------- /extras/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/extras/README.md -------------------------------------------------------------------------------- /extras/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /extras/next_steps/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /extras/next_steps/debugging.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/extras/next_steps/debugging.md -------------------------------------------------------------------------------- /extras/next_steps/pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/extras/next_steps/pytest.ini -------------------------------------------------------------------------------- /extras/next_steps/test_jsonschema.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/extras/next_steps/test_jsonschema.py -------------------------------------------------------------------------------- /extras/next_steps/test_log_to_file.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/extras/next_steps/test_log_to_file.py -------------------------------------------------------------------------------- /extras/next_steps/test_parametrization.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/extras/next_steps/test_parametrization.py -------------------------------------------------------------------------------- /extras/next_steps/test_schema_validation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/extras/next_steps/test_schema_validation.py -------------------------------------------------------------------------------- /extras/next_steps/test_setup_teardown_fixture.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/extras/next_steps/test_setup_teardown_fixture.py -------------------------------------------------------------------------------- /extras/next_steps/test_teardown_only_fixture.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/extras/next_steps/test_teardown_only_fixture.py -------------------------------------------------------------------------------- /extras/next_steps/test_with_testdata_from_file.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/extras/next_steps/test_with_testdata_from_file.py -------------------------------------------------------------------------------- /extras/next_steps/testdata.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/extras/next_steps/testdata.yml -------------------------------------------------------------------------------- /extras/same_test_different_tools/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /extras/same_test_different_tools/behave/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /extras/same_test_different_tools/behave/features/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /extras/same_test_different_tools/behave/features/example.feature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/extras/same_test_different_tools/behave/features/example.feature -------------------------------------------------------------------------------- /extras/same_test_different_tools/behave/features/steps/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /extras/same_test_different_tools/behave/features/steps/example_steps.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/extras/same_test_different_tools/behave/features/steps/example_steps.py -------------------------------------------------------------------------------- /extras/same_test_different_tools/pytest/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /extras/same_test_different_tools/pytest/pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/extras/same_test_different_tools/pytest/pytest.ini -------------------------------------------------------------------------------- /extras/same_test_different_tools/pytest/test_delete_book.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/extras/same_test_different_tools/pytest/test_delete_book.py -------------------------------------------------------------------------------- /extras/same_test_different_tools/robot-framework/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /extras/same_test_different_tools/robot-framework/delete_book.robot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/extras/same_test_different_tools/robot-framework/delete_book.robot -------------------------------------------------------------------------------- /extras/same_test_different_tools/tavern/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /extras/same_test_different_tools/tavern/pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/extras/same_test_different_tools/tavern/pytest.ini -------------------------------------------------------------------------------- /extras/same_test_different_tools/tavern/test_delete.tavern.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/extras/same_test_different_tools/tavern/test_delete.tavern.yaml -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/j19sch/building-an-api-testing-framework/HEAD/requirements.txt --------------------------------------------------------------------------------