From 4a126ca19ce0f52876e4d157bc4b9cac48e53a07 Mon Sep 17 00:00:00 2001 From: mtkennerly Date: Mon, 17 Jun 2024 16:57:18 -0400 Subject: [PATCH] Fix test pyproject updates --- tests/test_integration.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/tests/test_integration.py b/tests/test_integration.py index e2d073b..177932e 100644 --- a/tests/test_integration.py +++ b/tests/test_integration.py @@ -283,7 +283,8 @@ def test_pep621_with_dynamic_version(): version = dunamai.Version.from_git().serialize() run("poetry-dynamic-versioning", where=DUMMY_PEP621) - assert f'version = "{version}"' in DUMMY_PEP621_PYPROJECT.read_bytes().decode("utf-8") + pyproject = tomlkit.parse(DUMMY_PEP621_PYPROJECT.read_bytes().decode("utf-8")) + assert pyproject["project"]["version"] == version assert f'__version__ = "{version}"' in ( DUMMY_PEP621 / "project_pep621" / "__init__.py" ).read_bytes().decode("utf-8") @@ -294,7 +295,8 @@ def test_pep621_with_dynamic_version_and_cleanup(): version = dunamai.Version.from_git().serialize() run("poetry build", where=DUMMY_PEP621) - assert 'version = "0.0.0"' in DUMMY_PEP621_PYPROJECT.read_bytes().decode("utf-8") + pyproject = tomlkit.parse(DUMMY_PEP621_PYPROJECT.read_bytes().decode("utf-8")) + assert "version" not in pyproject["project"] assert '__version__ = "0.0.0"' in ( DUMMY_PEP621 / "project_pep621" / "__init__.py" ).read_bytes().decode("utf-8") @@ -305,12 +307,13 @@ def test_pep621_with_dynamic_version_and_cleanup(): @pytest.mark.skipif("USE_PEP621" not in os.environ, reason="Requires Poetry with PEP-621 support") def test_pep621_without_dynamic_version(): - data = DUMMY_PEP621_PYPROJECT.read_bytes().decode("utf-8") - data = re.sub(r"dynamic = .*", "dynamic = []", data) - DUMMY_PEP621_PYPROJECT.write_bytes(data.encode("utf-8")) + pyproject = tomlkit.parse(DUMMY_PEP621_PYPROJECT.read_bytes().decode("utf-8")) + pyproject["project"]["dynamic"] = [] + DUMMY_PEP621_PYPROJECT.write_bytes(tomlkit.dumps(pyproject).encode("utf-8")) run("poetry-dynamic-versioning", codes=[1], where=DUMMY_PEP621) - assert "version =" not in DUMMY_PEP621_PYPROJECT.read_bytes().decode("utf-8") + pyproject = tomlkit.parse(DUMMY_PEP621_PYPROJECT.read_bytes().decode("utf-8")) + assert "version" not in pyproject["project"] assert '__version__ = "0.0.0"' in ( DUMMY_PEP621 / "project_pep621" / "__init__.py" ).read_bytes().decode("utf-8")