Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F7163687
D7170.id25983.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
5 KB
Subscribers
None
D7170.id25983.diff
View Options
diff --git a/swh/core/db/tests/data/cli/30-schema.sql b/swh/core/db/tests/data/cli/30-schema.sql
--- a/swh/core/db/tests/data/cli/30-schema.sql
+++ b/swh/core/db/tests/data/cli/30-schema.sql
@@ -1,5 +1,5 @@
-- schema version table which won't get truncated
-create table if not exists dbversion (
+create table dbversion (
version int primary key,
release timestamptz,
description text
diff --git a/swh/core/db/tests/test_cli.py b/swh/core/db/tests/test_cli.py
--- a/swh/core/db/tests/test_cli.py
+++ b/swh/core/db/tests/test_cli.py
@@ -10,7 +10,6 @@
from swh.core.cli.db import db as swhdb
from swh.core.db import BaseDb
-from swh.core.db.pytest_plugin import postgresql_fact
from swh.core.tests.test_cli import assert_section_contains
@@ -55,19 +54,13 @@
assert_section_contains(result.output, section, snippet)
-# We do not want the truncate behavior for those tests
-test_db = postgresql_fact(
- "postgresql_proc", dbname="clidb", no_truncate_tables={"dbversion", "origin"}
-)
-
-
@pytest.fixture
-def swh_db_cli(cli_runner, monkeypatch, test_db):
+def swh_db_cli(cli_runner, monkeypatch, postgresql):
"""This initializes a cli_runner and sets the correct environment variable expected by
the cli to run appropriately (when not specifying the --dbname flag)
"""
- db_params = test_db.get_dsn_parameters()
+ db_params = postgresql.get_dsn_parameters()
monkeypatch.setenv("PGHOST", db_params["host"])
monkeypatch.setenv("PGUSER", db_params["user"])
monkeypatch.setenv("PGPORT", db_params["port"])
@@ -87,13 +80,13 @@
return "postgresql://{user}@{host}:{port}/{dbname}".format(**params)
-def test_cli_swh_db_create_and_init_db(cli_runner, test_db, mock_package_sql):
+def test_cli_swh_db_create_and_init_db(cli_runner, postgresql, mock_package_sql):
"""Create a db then initializing it should be ok
"""
module_name = "test.cli"
- conninfo = craft_conninfo(test_db, "new-db")
+ conninfo = craft_conninfo(postgresql, "new-db")
# This creates the db and installs the necessary admin extensions
result = cli_runner.invoke(swhdb, ["create", module_name, "--dbname", conninfo])
assert result.exit_code == 0, f"Unexpected output: {result.output}"
@@ -112,13 +105,13 @@
def test_cli_swh_db_initialization_fail_without_creation_first(
- cli_runner, test_db, mock_package_sql
+ cli_runner, postgresql, mock_package_sql
):
"""Init command on an inexisting db cannot work
"""
module_name = "test.cli" # it's mocked here
- conninfo = craft_conninfo(test_db, "inexisting-db")
+ conninfo = craft_conninfo(postgresql, "inexisting-db")
result = cli_runner.invoke(swhdb, ["init", module_name, "--dbname", conninfo])
# Fails because we cannot connect to an inexisting db
@@ -126,7 +119,7 @@
def test_cli_swh_db_initialization_fail_without_extension(
- cli_runner, test_db, mock_package_sql
+ cli_runner, postgresql, mock_package_sql
):
"""Init command cannot work without privileged extension.
@@ -134,7 +127,7 @@
"""
module_name = "test.cli" # it's mocked here
- conninfo = craft_conninfo(test_db)
+ conninfo = craft_conninfo(postgresql)
result = cli_runner.invoke(swhdb, ["init", module_name, "--dbname", conninfo])
# Fails as the function `public.digest` is not installed, init-admin calls is needed
@@ -143,13 +136,13 @@
def test_cli_swh_db_initialization_works_with_flags(
- cli_runner, test_db, mock_package_sql
+ cli_runner, postgresql, mock_package_sql
):
"""Init commands with carefully crafted libpq conninfo works
"""
module_name = "test.cli" # it's mocked here
- conninfo = craft_conninfo(test_db)
+ conninfo = craft_conninfo(postgresql)
result = cli_runner.invoke(swhdb, ["init-admin", module_name, "--dbname", conninfo])
assert result.exit_code == 0, f"Unexpected output: {result.output}"
@@ -159,13 +152,13 @@
assert result.exit_code == 0, f"Unexpected output: {result.output}"
# the origin values in the scripts uses a hash function (which implementation wise
# uses a function from the pgcrypt extension, init-admin calls installs it)
- with BaseDb.connect(test_db.dsn).cursor() as cur:
+ with BaseDb.connect(postgresql.dsn).cursor() as cur:
cur.execute("select * from origin")
origins = cur.fetchall()
assert len(origins) == 1
-def test_cli_swh_db_initialization_with_env(swh_db_cli, mock_package_sql, test_db):
+def test_cli_swh_db_initialization_with_env(swh_db_cli, mock_package_sql, postgresql):
"""Init commands with standard environment variables works
"""
@@ -183,13 +176,13 @@
assert result.exit_code == 0, f"Unexpected output: {result.output}"
# the origin values in the scripts uses a hash function (which implementation wise
# uses a function from the pgcrypt extension, init-admin calls installs it)
- with BaseDb.connect(test_db.dsn).cursor() as cur:
+ with BaseDb.connect(postgresql.dsn).cursor() as cur:
cur.execute("select * from origin")
origins = cur.fetchall()
assert len(origins) == 1
-def test_cli_swh_db_initialization_idempotent(swh_db_cli, mock_package_sql, test_db):
+def test_cli_swh_db_initialization_idempotent(swh_db_cli, mock_package_sql, postgresql):
"""Multiple runs of the init commands are idempotent
"""
@@ -218,7 +211,7 @@
# the origin values in the scripts uses a hash function (which implementation wise
# uses a function from the pgcrypt extension, init-admin calls installs it)
- with BaseDb.connect(test_db.dsn).cursor() as cur:
+ with BaseDb.connect(postgresql.dsn).cursor() as cur:
cur.execute("select * from origin")
origins = cur.fetchall()
assert len(origins) == 1
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Jan 30, 1:12 PM (1 w, 12 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3220297
Attached To
D7170: Use a standard postgresql db fixture in test_cli
Event Timeline
Log In to Comment