feat: vibed out some slop over here
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
"""Tests for `raycast_api.discovery.bundle`."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
from raycast_api.discovery.bundle import (
|
||||
bundle_hash,
|
||||
find_index_mjs,
|
||||
locate_node_bundle,
|
||||
read_bundle_source,
|
||||
)
|
||||
from raycast_api.errors import DiscoveryError
|
||||
|
||||
|
||||
def test_locate_node_bundle(mock_app: Path) -> None:
|
||||
bundle = locate_node_bundle(mock_app)
|
||||
assert bundle.name == "test_RaycastDesktopApp.bundle"
|
||||
|
||||
|
||||
def test_locate_node_bundle_missing(tmp_path: Path) -> None:
|
||||
app = tmp_path / "Empty.app"
|
||||
(app / "Contents" / "Resources").mkdir(parents=True)
|
||||
with pytest.raises(DiscoveryError, match="No RaycastDesktopApp bundle"):
|
||||
locate_node_bundle(app)
|
||||
|
||||
|
||||
def test_find_index_mjs(mock_app: Path) -> None:
|
||||
p = find_index_mjs(mock_app)
|
||||
assert p.name == "index.mjs"
|
||||
assert "SignReq" in read_bundle_source(p)
|
||||
|
||||
|
||||
def test_bundle_hash_stable(mock_app: Path, tmp_path: Path) -> None:
|
||||
a = bundle_hash(find_index_mjs(mock_app))
|
||||
b = bundle_hash(find_index_mjs(mock_app))
|
||||
assert a == b
|
||||
other = tmp_path / "other.mjs"
|
||||
other.write_text("different content")
|
||||
assert bundle_hash(other) != a
|
||||
Reference in New Issue
Block a user