cli_runner = <click.testing.CliRunner object at 0x7f9b0dfc9d68>
postgresql = <connection object at 0x7f9b1163d188; dsn: 'user=postgres password=xxx dbname=tests host=127.0.0.1 port=18610 options=''', closed: 0>
datadir = '/var/lib/jenkins/workspace/DCORE/tests-on-diff/.tox/py3-core-db-server-github-slow-cover/lib/python3.7/site-packages/swh/core/db/tests/data'
mocker = <pytest_mock.plugin.MockerFixture object at 0x7f9b0dfc96a0>
tmp_path = PosixPath('/tmp/pytest-of-jenkins/pytest-0/test_cli_swh_db_upgrade_new_ap0')
def test_cli_swh_db_upgrade_new_api(cli_runner, postgresql, datadir, mocker, tmp_path):
"""Upgrade scenario for a "new style" datastore"""
module_name = "test.cli_new"
# the `current_version` variable is the version that will be returned by
# any call to `get_current_version()` in this test session, thanks to the
# local mocked version of import_swhmodule() below.
current_version = 1
# custom version of the mockup to make it easy to change the
# current_version returned by get_current_version()
# TODO: find a better solution for this...
def import_swhmodule_mock(modname):
if modname.startswith("test."):
dirname = modname.split(".", 1)[1]
def get_datastore(cls, **kw):
return mocker.MagicMock(get_current_version=lambda: current_version)
return mocker.MagicMock(
__name__=modname,
__file__=os.path.join(datadir, dirname, "__init__.py"),
name=modname,
get_datastore=get_datastore,
)
return import_swhmodule(modname)
mocker.patch("swh.core.db.db_utils.import_swhmodule", import_swhmodule_mock)
conninfo = craft_conninfo(postgresql)
# This initializes the schema and data
cfgfile = tmp_path / "config.yml"
cfgfile.write_text(yaml.dump({module_name: {"cls": "postgresql", "db": conninfo}}))
result = cli_runner.invoke(swhdb, ["init-admin", module_name, "--dbname", conninfo])
assert result.exit_code == 0, f"Unexpected output: {result.output}"
result = cli_runner.invoke(swhdb, ["-C", cfgfile, "init", module_name])
> assert (
result.exit_code == 0
), f"Unexpected output: {traceback.print_tb(result.exc_info[2])}"
E AssertionError: Unexpected output: None
E assert 1 == 0
E + where 1 = <Result ProgrammingError("can't adapt type 'MagicMock'")>.exit_code
.tox/py3-core-db-server-github-slow-cover/lib/python3.7/site-packages/swh/core/db/tests/test_cli.py:278: AssertionError
TEST RESULT
TEST RESULT
- Run At
- May 30 2022, 4:45 PM