feat: prove and decode K1 realtime MQTT streams
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
from unittest.mock import Mock, patch
|
||||
|
||||
import pytest
|
||||
|
||||
from k1link.macos_credentials import CredentialDialogError, _dialog_text
|
||||
|
||||
|
||||
@patch("k1link.macos_credentials.platform.system", return_value="Darwin")
|
||||
@patch("k1link.macos_credentials.shutil.which", return_value="/usr/bin/osascript")
|
||||
@patch("k1link.macos_credentials.subprocess.run")
|
||||
def test_dialog_returns_value_without_printing(
|
||||
run: Mock,
|
||||
_which: Mock,
|
||||
_system: Mock,
|
||||
) -> None:
|
||||
run.return_value = Mock(returncode=0, stdout="local-value\n", stderr="")
|
||||
|
||||
assert _dialog_text("Prompt", hidden=True) == "local-value"
|
||||
command = run.call_args.args[0]
|
||||
assert "local-value" not in command
|
||||
assert "with hidden answer" in command[-1]
|
||||
|
||||
|
||||
@patch("k1link.macos_credentials.platform.system", return_value="Darwin")
|
||||
@patch("k1link.macos_credentials.shutil.which", return_value="/usr/bin/osascript")
|
||||
@patch("k1link.macos_credentials.subprocess.run")
|
||||
def test_dialog_cancel_is_not_echoed(
|
||||
run: Mock,
|
||||
_which: Mock,
|
||||
_system: Mock,
|
||||
) -> None:
|
||||
run.return_value = Mock(returncode=1, stdout="", stderr="User canceled.")
|
||||
|
||||
with pytest.raises(CredentialDialogError, match="cancelled"):
|
||||
_dialog_text("Prompt", hidden=False)
|
||||
Reference in New Issue
Block a user