From d8d58231823c84ab1b9a8c6d320660c2b2e38b17 Mon Sep 17 00:00:00 2001 From: Pavel Tisnovsky Date: Sun, 15 Feb 2026 10:48:04 +0100 Subject: [PATCH 1/7] Renamed existing benchmarks --- tests/benchmarks/test_app_database.py | 48 +++++++++++++-------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/tests/benchmarks/test_app_database.py b/tests/benchmarks/test_app_database.py index b43880827..13ee1dd52 100644 --- a/tests/benchmarks/test_app_database.py +++ b/tests/benchmarks/test_app_database.py @@ -465,7 +465,7 @@ def benchmark_store_new_user_conversations( benchmark(store_new_user_conversation, session) -def test_store_new_user_conversations_empty_db( +def test_sqlite_store_new_user_conversations_empty_db( sqlite_database: None, benchmark: BenchmarkFixture ) -> None: """Benchmark for the DB operation to create and store new topic and conversation ID mapping. @@ -482,7 +482,7 @@ def test_store_new_user_conversations_empty_db( benchmark_store_new_user_conversations(benchmark, 0) -def test_store_new_user_conversations_small_db( +def test_sqlite_store_new_user_conversations_small_db( sqlite_database: None, benchmark: BenchmarkFixture ) -> None: """Benchmark for the DB operation to create and store new topic and conversation ID mapping. @@ -499,7 +499,7 @@ def test_store_new_user_conversations_small_db( benchmark_store_new_user_conversations(benchmark, SMALL_DB_RECORDS_COUNT) -def test_store_new_user_conversations_middle_db( +def test_sqlite_store_new_user_conversations_middle_db( sqlite_database: None, benchmark: BenchmarkFixture ) -> None: """Benchmark for the DB operation to create and store new topic and conversation ID mapping. @@ -516,7 +516,7 @@ def test_store_new_user_conversations_middle_db( benchmark_store_new_user_conversations(benchmark, MIDDLE_DB_RECORDS_COUNT) -def test_store_new_user_conversations_large_db( +def test_sqlite_store_new_user_conversations_large_db( sqlite_database: None, benchmark: BenchmarkFixture ) -> None: """Benchmark for the DB operation to create and store new topic and conversation ID mapping. @@ -564,7 +564,7 @@ def benchmark_update_user_conversation( benchmark(update_user_conversation, session, "1234") -def test_update_user_conversation_empty_db( +def test_sqlite_update_user_conversation_empty_db( sqlite_database: None, benchmark: BenchmarkFixture, ) -> None: @@ -580,7 +580,7 @@ def test_update_user_conversation_empty_db( benchmark_update_user_conversation(benchmark, 0) -def test_update_user_conversation_small_db( +def test_sqlite_update_user_conversation_small_db( sqlite_database: None, benchmark: BenchmarkFixture, ) -> None: @@ -596,7 +596,7 @@ def test_update_user_conversation_small_db( benchmark_update_user_conversation(benchmark, SMALL_DB_RECORDS_COUNT) -def test_update_user_conversation_middle_db( +def test_sqlite_update_user_conversation_middle_db( sqlite_database: None, benchmark: BenchmarkFixture, ) -> None: @@ -612,7 +612,7 @@ def test_update_user_conversation_middle_db( benchmark_update_user_conversation(benchmark, MIDDLE_DB_RECORDS_COUNT) -def test_update_user_conversation_large_db( +def test_sqlite_update_user_conversation_large_db( sqlite_database: None, benchmark: BenchmarkFixture, ) -> None: @@ -651,7 +651,7 @@ def benchmark_list_conversations_for_all_users( benchmark(list_conversation_for_all_users, session) -def test_list_conversations_for_all_users_empty_db( +def test_sqlite_list_conversations_for_all_users_empty_db( sqlite_database: None, benchmark: BenchmarkFixture ) -> None: """Benchmark listing conversations on an empty database. @@ -666,7 +666,7 @@ def test_list_conversations_for_all_users_empty_db( benchmark_list_conversations_for_all_users(benchmark, 0) -def test_list_conversations_for_all_users_small_db( +def test_sqlite_list_conversations_for_all_users_small_db( sqlite_database: None, benchmark: BenchmarkFixture ) -> None: """Benchmark listing conversations on small database. @@ -681,7 +681,7 @@ def test_list_conversations_for_all_users_small_db( benchmark_list_conversations_for_all_users(benchmark, SMALL_DB_RECORDS_COUNT) -def test_list_conversations_for_all_users_middle_db( +def test_sqlite_list_conversations_for_all_users_middle_db( sqlite_database: None, benchmark: BenchmarkFixture ) -> None: """Benchmark listing conversations on a medium-sized database. @@ -696,7 +696,7 @@ def test_list_conversations_for_all_users_middle_db( benchmark_list_conversations_for_all_users(benchmark, MIDDLE_DB_RECORDS_COUNT) -def test_list_conversations_for_all_users_large_db( +def test_sqlite_list_conversations_for_all_users_large_db( sqlite_database: None, benchmark: BenchmarkFixture ) -> None: """Benchmark listing conversations on a large database. @@ -737,7 +737,7 @@ def benchmark_list_conversations_for_one_user( benchmark(list_conversation_for_one_user, session, user_id) -def test_list_conversations_for_one_user_empty_db( +def test_sqlite_list_conversations_for_one_user_empty_db( sqlite_database: None, benchmark: BenchmarkFixture ) -> None: """Benchmark listing conversations on an empty database. @@ -752,7 +752,7 @@ def test_list_conversations_for_one_user_empty_db( benchmark_list_conversations_for_one_user(benchmark, 0) -def test_list_conversations_for_one_user_small_db( +def test_sqlite_list_conversations_for_one_user_small_db( sqlite_database: None, benchmark: BenchmarkFixture ) -> None: """Benchmark listing conversations on an small database. @@ -767,7 +767,7 @@ def test_list_conversations_for_one_user_small_db( benchmark_list_conversations_for_one_user(benchmark, SMALL_DB_RECORDS_COUNT) -def test_list_conversations_for_one_user_middle_db( +def test_sqlite_list_conversations_for_one_user_middle_db( sqlite_database: None, benchmark: BenchmarkFixture ) -> None: """Benchmark listing conversations on a medium-sized database. @@ -782,7 +782,7 @@ def test_list_conversations_for_one_user_middle_db( benchmark_list_conversations_for_one_user(benchmark, MIDDLE_DB_RECORDS_COUNT) -def test_list_conversations_for_one_user_large_db( +def test_sqlite_list_conversations_for_one_user_large_db( sqlite_database: None, benchmark: BenchmarkFixture ) -> None: """Benchmark listing conversations on a large database. @@ -825,7 +825,7 @@ def benchmark_retrieve_conversation( ) -def test_retrieve_conversation_empty_db( +def test_sqlite_retrieve_conversation_empty_db( sqlite_database: None, benchmark: BenchmarkFixture ) -> None: """Benchmark retrieving conversations on an empty database. @@ -840,7 +840,7 @@ def test_retrieve_conversation_empty_db( benchmark_retrieve_conversation(benchmark, 0) -def test_retrieve_conversation_small_db( +def test_sqlite_retrieve_conversation_small_db( sqlite_database: None, benchmark: BenchmarkFixture ) -> None: """Benchmark retrieving conversations on a small database. @@ -855,7 +855,7 @@ def test_retrieve_conversation_small_db( benchmark_retrieve_conversation(benchmark, SMALL_DB_RECORDS_COUNT) -def test_retrieve_conversation_middle_db( +def test_sqlite_retrieve_conversation_middle_db( sqlite_database: None, benchmark: BenchmarkFixture ) -> None: """Benchmark retrieving conversations on a medium-sized database. @@ -870,7 +870,7 @@ def test_retrieve_conversation_middle_db( benchmark_retrieve_conversation(benchmark, MIDDLE_DB_RECORDS_COUNT) -def test_retrieve_conversation_large_db( +def test_sqlite_retrieve_conversation_large_db( sqlite_database: None, benchmark: BenchmarkFixture ) -> None: """Benchmark retrieving conversations on a large database. @@ -918,7 +918,7 @@ def benchmark_retrieve_conversation_for_one_user( ) -def test_retrieve_conversation_for_one_user_empty_db( +def test_sqlite_retrieve_conversation_for_one_user_empty_db( sqlite_database: None, benchmark: BenchmarkFixture ) -> None: """Benchmark retrieving conversations on an empty database. @@ -933,7 +933,7 @@ def test_retrieve_conversation_for_one_user_empty_db( benchmark_retrieve_conversation_for_one_user(benchmark, 0) -def test_retrieve_conversation_for_one_user_small_db( +def test_sqlite_retrieve_conversation_for_one_user_small_db( sqlite_database: None, benchmark: BenchmarkFixture ) -> None: """Benchmark retrieving conversations on a small database. @@ -948,7 +948,7 @@ def test_retrieve_conversation_for_one_user_small_db( benchmark_retrieve_conversation_for_one_user(benchmark, SMALL_DB_RECORDS_COUNT) -def test_retrieve_conversation_for_one_user_middle_db( +def test_sqlite_retrieve_conversation_for_one_user_middle_db( sqlite_database: None, benchmark: BenchmarkFixture ) -> None: """Benchmark retrieving conversations on a medium-sized database. @@ -963,7 +963,7 @@ def test_retrieve_conversation_for_one_user_middle_db( benchmark_retrieve_conversation_for_one_user(benchmark, MIDDLE_DB_RECORDS_COUNT) -def test_retrieve_conversation_for_one_user_large_db( +def test_sqlite_retrieve_conversation_for_one_user_large_db( sqlite_database: None, benchmark: BenchmarkFixture ) -> None: """Benchmark retrieving conversations on a large database. From 27c19587ad8c92c716b697d44cfb89a9fe98d4e0 Mon Sep 17 00:00:00 2001 From: Pavel Tisnovsky Date: Sun, 15 Feb 2026 10:52:09 +0100 Subject: [PATCH 2/7] Benchmark for store new user conversation operation --- tests/benchmarks/test_app_database.py | 68 +++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/tests/benchmarks/test_app_database.py b/tests/benchmarks/test_app_database.py index 13ee1dd52..af0f1d3ac 100644 --- a/tests/benchmarks/test_app_database.py +++ b/tests/benchmarks/test_app_database.py @@ -976,3 +976,71 @@ def test_sqlite_retrieve_conversation_for_one_user_large_db( None """ benchmark_retrieve_conversation_for_one_user(benchmark, LARGE_DB_RECORDS_COUNT) + + +def test_postgres_store_new_user_conversations_empty_db( + postgres_database: None, benchmark: BenchmarkFixture +) -> None: + """Benchmark for the DB operation to create and store new topic and conversation ID mapping. + + Benchmark is performed against empty DB. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_store_new_user_conversations(benchmark, 0) + + +def test_postgres_store_new_user_conversations_small_db( + postgres_database: None, benchmark: BenchmarkFixture +) -> None: + """Benchmark for the DB operation to create and store new topic and conversation ID mapping. + + Benchmark is performed against small DB. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_store_new_user_conversations(benchmark, SMALL_DB_RECORDS_COUNT) + + +def test_postgres_store_new_user_conversations_middle_db( + postgres_database: None, benchmark: BenchmarkFixture +) -> None: + """Benchmark for the DB operation to create and store new topic and conversation ID mapping. + + Benchmark is performed against middle-sized DB. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_store_new_user_conversations(benchmark, MIDDLE_DB_RECORDS_COUNT) + + +def test_postgres_store_new_user_conversations_large_db( + postgres_database: None, benchmark: BenchmarkFixture +) -> None: + """Benchmark for the DB operation to create and store new topic and conversation ID mapping. + + Benchmark is performed against large DB. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_store_new_user_conversations(benchmark, LARGE_DB_RECORDS_COUNT) From 85a1940dc2e8eb657e7f79fbafb6b6da73e48733 Mon Sep 17 00:00:00 2001 From: Pavel Tisnovsky Date: Sun, 15 Feb 2026 10:54:34 +0100 Subject: [PATCH 3/7] Benchmark for update user conversation operation --- tests/benchmarks/test_app_database.py | 64 +++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/tests/benchmarks/test_app_database.py b/tests/benchmarks/test_app_database.py index af0f1d3ac..93c05b0d0 100644 --- a/tests/benchmarks/test_app_database.py +++ b/tests/benchmarks/test_app_database.py @@ -1044,3 +1044,67 @@ def test_postgres_store_new_user_conversations_large_db( None """ benchmark_store_new_user_conversations(benchmark, LARGE_DB_RECORDS_COUNT) + + +def test_postgres_update_user_conversation_empty_db( + postgres_database: None, + benchmark: BenchmarkFixture, +) -> None: + """Benchmark updating conversation on an empty database. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_update_user_conversation(benchmark, 0) + + +def test_postgres_update_user_conversation_small_db( + postgres_database: None, + benchmark: BenchmarkFixture, +) -> None: + """Benchmark updating conversation on small database. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_update_user_conversation(benchmark, SMALL_DB_RECORDS_COUNT) + + +def test_postgres_update_user_conversation_middle_db( + postgres_database: None, + benchmark: BenchmarkFixture, +) -> None: + """Benchmark updating conversation on a medium-sized database. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_update_user_conversation(benchmark, MIDDLE_DB_RECORDS_COUNT) + + +def test_postgres_update_user_conversation_large_db( + postgres_database: None, + benchmark: BenchmarkFixture, +) -> None: + """Benchmark updating conversation on a large database. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_update_user_conversation(benchmark, LARGE_DB_RECORDS_COUNT) From 176df848f61d52adc55c8f0c2f496c1560d52d33 Mon Sep 17 00:00:00 2001 From: Pavel Tisnovsky Date: Sun, 15 Feb 2026 10:58:40 +0100 Subject: [PATCH 4/7] Benchmark for list conversations for all users operation --- tests/benchmarks/test_app_database.py | 60 +++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/tests/benchmarks/test_app_database.py b/tests/benchmarks/test_app_database.py index 93c05b0d0..e77a79193 100644 --- a/tests/benchmarks/test_app_database.py +++ b/tests/benchmarks/test_app_database.py @@ -1108,3 +1108,63 @@ def test_postgres_update_user_conversation_large_db( None """ benchmark_update_user_conversation(benchmark, LARGE_DB_RECORDS_COUNT) + + +def test_postgres_list_conversations_for_all_users_empty_db( + postgres_database: None, benchmark: BenchmarkFixture +) -> None: + """Benchmark listing conversations on an empty database. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_list_conversations_for_all_users(benchmark, 0) + + +def test_postgres_list_conversations_for_all_users_small_db( + postgres_database: None, benchmark: BenchmarkFixture +) -> None: + """Benchmark listing conversations on small database. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_list_conversations_for_all_users(benchmark, SMALL_DB_RECORDS_COUNT) + + +def test_postgres_list_conversations_for_all_users_middle_db( + postgres_database: None, benchmark: BenchmarkFixture +) -> None: + """Benchmark listing conversations on a medium-sized database. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_list_conversations_for_all_users(benchmark, MIDDLE_DB_RECORDS_COUNT) + + +def test_postgres_list_conversations_for_all_users_large_db( + postgres_database: None, benchmark: BenchmarkFixture +) -> None: + """Benchmark listing conversations on a large database. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_list_conversations_for_all_users(benchmark, LARGE_DB_RECORDS_COUNT) From 1eab660f41d389c41c56f81b6cc172203e9674e2 Mon Sep 17 00:00:00 2001 From: Pavel Tisnovsky Date: Sun, 15 Feb 2026 11:04:08 +0100 Subject: [PATCH 5/7] Benchmark for list conversations for one user operation --- tests/benchmarks/test_app_database.py | 60 +++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/tests/benchmarks/test_app_database.py b/tests/benchmarks/test_app_database.py index e77a79193..a65dcef93 100644 --- a/tests/benchmarks/test_app_database.py +++ b/tests/benchmarks/test_app_database.py @@ -1168,3 +1168,63 @@ def test_postgres_list_conversations_for_all_users_large_db( None """ benchmark_list_conversations_for_all_users(benchmark, LARGE_DB_RECORDS_COUNT) + + +def test_postgres_list_conversations_for_one_user_empty_db( + postgres_database: None, benchmark: BenchmarkFixture +) -> None: + """Benchmark listing conversations on an empty database. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_list_conversations_for_one_user(benchmark, 0) + + +def test_postgres_list_conversations_for_one_user_small_db( + postgres_database: None, benchmark: BenchmarkFixture +) -> None: + """Benchmark listing conversations on an small database. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_list_conversations_for_one_user(benchmark, SMALL_DB_RECORDS_COUNT) + + +def test_postgres_list_conversations_for_one_user_middle_db( + postgres_database: None, benchmark: BenchmarkFixture +) -> None: + """Benchmark listing conversations on a medium-sized database. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_list_conversations_for_one_user(benchmark, MIDDLE_DB_RECORDS_COUNT) + + +def test_postgres_list_conversations_for_one_user_large_db( + postgres_database: None, benchmark: BenchmarkFixture +) -> None: + """Benchmark listing conversations on a large database. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_list_conversations_for_one_user(benchmark, LARGE_DB_RECORDS_COUNT) From 9b01736bc7ae85b4673835ea5348153dfbc4e2fa Mon Sep 17 00:00:00 2001 From: Pavel Tisnovsky Date: Sun, 15 Feb 2026 11:06:06 +0100 Subject: [PATCH 6/7] Benchmark for list conversations for retrieve conversation operation --- tests/benchmarks/test_app_database.py | 60 +++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/tests/benchmarks/test_app_database.py b/tests/benchmarks/test_app_database.py index a65dcef93..66e2d0695 100644 --- a/tests/benchmarks/test_app_database.py +++ b/tests/benchmarks/test_app_database.py @@ -1228,3 +1228,63 @@ def test_postgres_list_conversations_for_one_user_large_db( None """ benchmark_list_conversations_for_one_user(benchmark, LARGE_DB_RECORDS_COUNT) + + +def test_postgres_retrieve_conversation_empty_db( + postgres_database: None, benchmark: BenchmarkFixture +) -> None: + """Benchmark retrieving conversations on an empty database. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_retrieve_conversation(benchmark, 0) + + +def test_postgres_retrieve_conversation_small_db( + postgres_database: None, benchmark: BenchmarkFixture +) -> None: + """Benchmark retrieving conversations on a small database. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_retrieve_conversation(benchmark, SMALL_DB_RECORDS_COUNT) + + +def test_postgres_retrieve_conversation_middle_db( + postgres_database: None, benchmark: BenchmarkFixture +) -> None: + """Benchmark retrieving conversations on a medium-sized database. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_retrieve_conversation(benchmark, MIDDLE_DB_RECORDS_COUNT) + + +def test_postgres_retrieve_conversation_large_db( + postgres_database: None, benchmark: BenchmarkFixture +) -> None: + """Benchmark retrieving conversations on a large database. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_retrieve_conversation(benchmark, LARGE_DB_RECORDS_COUNT) From 2994a0381de25fc472c17bd5e39334919d62a19b Mon Sep 17 00:00:00 2001 From: Pavel Tisnovsky Date: Sun, 15 Feb 2026 11:08:39 +0100 Subject: [PATCH 7/7] Benchmark for list conversations for retrieve conversation for one user operation --- tests/benchmarks/test_app_database.py | 60 +++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/tests/benchmarks/test_app_database.py b/tests/benchmarks/test_app_database.py index 66e2d0695..6823d342a 100644 --- a/tests/benchmarks/test_app_database.py +++ b/tests/benchmarks/test_app_database.py @@ -1288,3 +1288,63 @@ def test_postgres_retrieve_conversation_large_db( None """ benchmark_retrieve_conversation(benchmark, LARGE_DB_RECORDS_COUNT) + + +def test_postgres_retrieve_conversation_for_one_user_empty_db( + postgres_database: None, benchmark: BenchmarkFixture +) -> None: + """Benchmark retrieving conversations on an empty database. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_retrieve_conversation_for_one_user(benchmark, 0) + + +def test_postgres_retrieve_conversation_for_one_user_small_db( + postgres_database: None, benchmark: BenchmarkFixture +) -> None: + """Benchmark retrieving conversations on a small database. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_retrieve_conversation_for_one_user(benchmark, SMALL_DB_RECORDS_COUNT) + + +def test_postgres_retrieve_conversation_for_one_user_middle_db( + postgres_database: None, benchmark: BenchmarkFixture +) -> None: + """Benchmark retrieving conversations on a medium-sized database. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_retrieve_conversation_for_one_user(benchmark, MIDDLE_DB_RECORDS_COUNT) + + +def test_postgres_retrieve_conversation_for_one_user_large_db( + postgres_database: None, benchmark: BenchmarkFixture +) -> None: + """Benchmark retrieving conversations on a large database. + + Parameters: + postgres_database: Fixture that prepares a temporary PostgreSQL DB. + benchmark (BenchmarkFixture): pytest-benchmark fixture. + + Returns: + None + """ + benchmark_retrieve_conversation_for_one_user(benchmark, LARGE_DB_RECORDS_COUNT)