Skip to content

Commit ab541b6

Browse files
committed
add write-manifest CLI test for CRLF requirements checksum
1 parent e548491 commit ab541b6

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

‎tests/test_main.py‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
from rsconnect import VERSION
1717
from rsconnect.api import RSConnectClient, RSConnectServer
18+
from rsconnect.bundle import file_checksum
1819
from rsconnect.json_web_token import SECRET_KEY_ENV
1920
from rsconnect.log import console_logger, logger as rs_logger
2021
from rsconnect.main import cli, env_management_callback, make_notebook_html_bundle
@@ -2149,6 +2150,19 @@ def test_exclude_renv_omits_r_dependencies(self, tmp_path):
21492150
assert "packages" not in manifest
21502151

21512152

2153+
class TestWriteManifestCRLF:
2154+
def test_checksum_matches_crlf_requirements_file(self, tmp_path):
2155+
(tmp_path / "app.py").write_text("from shiny import App\n")
2156+
(tmp_path / "requirements.txt").write_bytes(b"shiny==1.0.0\r\nnumpy\r\n")
2157+
2158+
runner = CliRunner()
2159+
result = runner.invoke(cli, ["write-manifest", "shiny", str(tmp_path)])
2160+
assert result.exit_code == 0, result.output
2161+
2162+
manifest = json.loads((tmp_path / "manifest.json").read_text())
2163+
assert manifest["files"]["requirements.txt"]["checksum"] == file_checksum(tmp_path / "requirements.txt")
2164+
2165+
21522166
class TestDefaultServer:
21532167
def test_list_shows_default_marker(self, tmp_path):
21542168
from rsconnect.metadata import ServerStore

0 commit comments

Comments
 (0)