diff --git a/libs/cli/langgraph_cli/config.py b/libs/cli/langgraph_cli/config.py index 4785812fc..d6653c923 100644 --- a/libs/cli/langgraph_cli/config.py +++ b/libs/cli/langgraph_cli/config.py @@ -373,7 +373,6 @@ class HttpConfig(TypedDict, total=False): """ - class Config(TypedDict, total=False): """Top-level config for langgraph-cli or similar deployment tooling.""" diff --git a/libs/cli/tests/unit_tests/test_util.py b/libs/cli/tests/unit_tests/test_util.py index c26e776e9..f4b439959 100644 --- a/libs/cli/tests/unit_tests/test_util.py +++ b/libs/cli/tests/unit_tests/test_util.py @@ -9,17 +9,17 @@ def test_clean_empty_lines(): input_str = "line1\n\nline2\n\nline3" result = clean_empty_lines(input_str) assert result == "line1\nline2\nline3" - + # Test with no empty lines input_str = "line1\nline2\nline3" result = clean_empty_lines(input_str) assert result == "line1\nline2\nline3" - + # Test with only empty lines input_str = "\n\n\n" result = clean_empty_lines(input_str) assert result == "" - + # Test empty string input_str = "" result = clean_empty_lines(input_str) @@ -29,33 +29,51 @@ def test_clean_empty_lines(): def test_warn_non_wolfi_distro_with_debian(capsys): """Test that warning is shown when image_distro is 'debian'.""" config = {"image_distro": "debian"} - + warn_non_wolfi_distro(config) - + captured = capsys.readouterr() - assert "⚠️ Security Recommendation: Consider switching to Wolfi Linux for enhanced security." in captured.out - assert "Wolfi is a security-oriented, minimal Linux distribution designed for containers." in captured.out - assert 'To switch, add \'"image_distro": "wolfi"\' to your langgraph.json config file.' in captured.out + assert ( + "⚠️ Security Recommendation: Consider switching to Wolfi Linux for enhanced security." + in captured.out + ) + assert ( + "Wolfi is a security-oriented, minimal Linux distribution designed for containers." + in captured.out + ) + assert ( + 'To switch, add \'"image_distro": "wolfi"\' to your langgraph.json config file.' + in captured.out + ) def test_warn_non_wolfi_distro_with_default_debian(capsys): """Test that warning is shown when image_distro is missing (defaults to debian).""" config = {} # No image_distro key, should default to debian - + warn_non_wolfi_distro(config) - + captured = capsys.readouterr() - assert "⚠️ Security Recommendation: Consider switching to Wolfi Linux for enhanced security." in captured.out - assert "Wolfi is a security-oriented, minimal Linux distribution designed for containers." in captured.out - assert 'To switch, add \'"image_distro": "wolfi"\' to your langgraph.json config file.' in captured.out + assert ( + "⚠️ Security Recommendation: Consider switching to Wolfi Linux for enhanced security." + in captured.out + ) + assert ( + "Wolfi is a security-oriented, minimal Linux distribution designed for containers." + in captured.out + ) + assert ( + 'To switch, add \'"image_distro": "wolfi"\' to your langgraph.json config file.' + in captured.out + ) def test_warn_non_wolfi_distro_with_wolfi(capsys): """Test that no warning is shown when image_distro is 'wolfi'.""" config = {"image_distro": "wolfi"} - + warn_non_wolfi_distro(config) - + captured = capsys.readouterr() assert captured.out == "" # No output should be generated @@ -63,42 +81,57 @@ def test_warn_non_wolfi_distro_with_wolfi(capsys): def test_warn_non_wolfi_distro_with_other_distro(capsys): """Test that warning is shown when image_distro is something other than 'wolfi'.""" config = {"image_distro": "ubuntu"} - + warn_non_wolfi_distro(config) - + captured = capsys.readouterr() - assert "⚠️ Security Recommendation: Consider switching to Wolfi Linux for enhanced security." in captured.out - assert "Wolfi is a security-oriented, minimal Linux distribution designed for containers." in captured.out - assert 'To switch, add \'"image_distro": "wolfi"\' to your langgraph.json config file.' in captured.out + assert ( + "⚠️ Security Recommendation: Consider switching to Wolfi Linux for enhanced security." + in captured.out + ) + assert ( + "Wolfi is a security-oriented, minimal Linux distribution designed for containers." + in captured.out + ) + assert ( + 'To switch, add \'"image_distro": "wolfi"\' to your langgraph.json config file.' + in captured.out + ) def test_warn_non_wolfi_distro_output_formatting(): """Test that the warning output is properly formatted with colors and empty line.""" config = {"image_distro": "debian"} - - with patch('click.secho') as mock_secho: + + with patch("click.secho") as mock_secho: warn_non_wolfi_distro(config) - + # Verify click.secho was called with the correct parameters expected_calls = [ ( - ("⚠️ Security Recommendation: Consider switching to Wolfi Linux for enhanced security.",), - {"fg": "yellow", "bold": True} + ( + "⚠️ Security Recommendation: Consider switching to Wolfi Linux for enhanced security.", + ), + {"fg": "yellow", "bold": True}, ), ( - (" Wolfi is a security-oriented, minimal Linux distribution designed for containers.",), - {"fg": "yellow"} + ( + " Wolfi is a security-oriented, minimal Linux distribution designed for containers.", + ), + {"fg": "yellow"}, ), ( - (' To switch, add \'"image_distro": "wolfi"\' to your langgraph.json config file.',), - {"fg": "yellow"} + ( + ' To switch, add \'"image_distro": "wolfi"\' to your langgraph.json config file.', + ), + {"fg": "yellow"}, ), ( ("",), # Empty line - {} - ) + {}, + ), ] - + assert mock_secho.call_count == 4 for i, (expected_args, expected_kwargs) in enumerate(expected_calls): actual_call = mock_secho.call_args_list[i] @@ -117,16 +150,18 @@ def test_warn_non_wolfi_distro_various_configs(capsys): ({"image_distro": "ubuntu"}, True, "ubuntu distro"), ({"other_config": "value"}, True, "unrelated config keys"), ] - + for config, should_warn, description in test_cases: # Clear any previous output capsys.readouterr() - + warn_non_wolfi_distro(config) - + captured = capsys.readouterr() if should_warn: - assert "⚠️ Security Recommendation" in captured.out, f"Should warn for {description}" + assert "⚠️ Security Recommendation" in captured.out, ( + f"Should warn for {description}" + ) assert "Wolfi" in captured.out, f"Should mention Wolfi for {description}" else: assert captured.out == "", f"Should not warn for {description}" @@ -137,7 +172,7 @@ def test_warn_non_wolfi_distro_return_value(): config = {"image_distro": "debian"} result = warn_non_wolfi_distro(config) assert result is None - + config = {"image_distro": "wolfi"} result = warn_non_wolfi_distro(config) assert result is None @@ -147,7 +182,7 @@ def test_warn_non_wolfi_distro_does_not_modify_config(): """Test that warn_non_wolfi_distro does not modify the input config.""" original_config = {"image_distro": "debian", "other_key": "value"} config_copy = original_config.copy() - + warn_non_wolfi_distro(config_copy) - - assert config_copy == original_config # Config should remain unchanged \ No newline at end of file + + assert config_copy == original_config # Config should remain unchanged