<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="10" skipped="1" tests="80" time="10.356" timestamp="2025-09-13T04:25:26.807326-06:00" hostname="rpm-bullet"><testcase classname="tests.test_cache.TestCacheManager" name="test_init_default_parameters" time="0.001" /><testcase classname="tests.test_cache.TestCacheManager" name="test_init_custom_parameters" time="0.000" /><testcase classname="tests.test_cache.TestCacheManager" name="test_generate_key_basic" time="0.000" /><testcase classname="tests.test_cache.TestCacheManager" name="test_generate_key_with_params" time="0.000" /><testcase classname="tests.test_cache.TestCacheManager" name="test_generate_key_deterministic" time="0.000" /><testcase classname="tests.test_cache.TestCacheManager" name="test_get_cache_domain_endpoint" time="0.000" /><testcase classname="tests.test_cache.TestCacheManager" name="test_get_cache_record_endpoint" time="0.000" /><testcase classname="tests.test_cache.TestCacheManager" name="test_get_cache_general_endpoint" time="0.000" /><testcase classname="tests.test_cache.TestCacheManager" name="test_get_cache_precedence" time="0.000" /><testcase classname="tests.test_cache.TestCacheManager" name="test_get_success" time="0.000" /><testcase classname="tests.test_cache.TestCacheManager" name="test_get_miss" time="0.000" /><testcase classname="tests.test_cache.TestCacheManager" name="test_get_non_get_method" time="0.000" /><testcase classname="tests.test_cache.TestCacheManager" name="test_get_with_exception" time="0.001" /><testcase classname="tests.test_cache.TestCacheManager" name="test_set_success" time="0.000" /><testcase classname="tests.test_cache.TestCacheManager" name="test_set_non_get_method" time="0.000" /><testcase classname="tests.test_cache.TestCacheManager" name="test_set_none_value" time="0.000" /><testcase classname="tests.test_cache.TestCacheManager" name="test_set_with_exception" time="0.001"><failure message="AssertionError: Expected 'warning' to have been called once. Called 0 times.">../../.local/share/uv/python/cpython-3.12.11-linux-x86_64-gnu/lib/python3.12/unittest/mock.py:928: in assert_called_once
raise AssertionError(msg)
E AssertionError: Expected 'warning' to have been called once. Called 0 times.
During handling of the above exception, another exception occurred:
tests/test_cache.py:244: in test_set_with_exception
mock_logger.warning.assert_called_once()
E AssertionError: Expected 'warning' to have been called once. Called 0 times.</failure><system-out>--------------------------------- Captured Out ---------------------------------
</system-out></testcase><testcase classname="tests.test_cache.TestCacheManager" name="test_invalidate_all" time="0.000" /><testcase classname="tests.test_cache.TestCacheManager" name="test_invalidate_domain_pattern" time="0.000" /><testcase classname="tests.test_cache.TestCacheManager" name="test_invalidate_record_pattern" time="0.000" /><testcase classname="tests.test_cache.TestCacheManager" name="test_invalidate_other_pattern" time="0.000" /><testcase classname="tests.test_cache.TestCacheManager" name="test_get_stats_empty" time="0.000" /><testcase classname="tests.test_cache.TestCacheManager" name="test_get_stats_with_data" time="0.000" /><testcase classname="tests.test_cache.TestCacheManager" name="test_hit_rate_calculation_edge_cases" time="0.000" /><testcase classname="tests.test_cache.TestTTLBehavior" name="test_cache_expiration" time="1.200" /><testcase classname="tests.test_cache.TestTTLBehavior" name="test_different_ttl_per_cache_type" time="0.000" /><testcase classname="tests.test_cache.TestTTLBehavior" name="test_cache_size_limits" time="0.000" /><testcase classname="tests.test_cache.TestCachedRequestDecorator" name="test_decorator_basic_usage" time="0.001" /><testcase classname="tests.test_cache.TestCachedRequestDecorator" name="test_decorator_different_endpoints" time="0.001" /><testcase classname="tests.test_cache.TestCachedRequestDecorator" name="test_decorator_with_params" time="0.001"><failure message="assert "response-{'page': 1}-1" == "response-{'page': 2}-2" - response-{'page': 2}-2 ? ^ ^ + response-{'page': 1}-1 ? ^ ^">tests/test_cache.py:477: in test_decorator_with_params
assert result2 == "response-{'page': 2}-2"
E assert "response-{'page': 1}-1" == "response-{'page': 2}-2"
E
E - response-{'page': 2}-2
E ? ^ ^
E + response-{'page': 1}-1
E ? ^ ^</failure><system-out>--------------------------------- Captured Out ---------------------------------
2025-09-13 04:25:28 [debug ] Cache set [mcp_vultr.cache] cache_type=TTLCache endpoint=/api/domains key=c2cfb83a
2025-09-13 04:25:28 [debug ] Cache hit [mcp_vultr.cache] cache_type=TTLCache endpoint=/api/domains key=c2cfb83a
2025-09-13 04:25:28 [debug ] Cache hit [mcp_vultr.cache] cache_type=TTLCache endpoint=/api/domains key=c2cfb83a
</system-out></testcase><testcase classname="tests.test_cache.TestCachedRequestDecorator" name="test_decorator_non_get_methods" time="0.000" /><testcase classname="tests.test_cache.TestCachedRequestDecorator" name="test_decorator_with_kwargs_method" time="0.000" /><testcase classname="tests.test_cache.TestCachedRequestDecorator" name="test_decorator_default_cache_manager" time="0.000" /><testcase classname="tests.test_cache.TestGlobalCacheFunctions" name="test_get_cache_manager" time="0.000" /><testcase classname="tests.test_cache.TestGlobalCacheFunctions" name="test_clear_cache_function" time="0.000" /><testcase classname="tests.test_cache.TestGlobalCacheFunctions" name="test_clear_cache_with_pattern" time="0.000" /><testcase classname="tests.test_cache.TestGlobalCacheFunctions" name="test_get_cache_stats_function" time="0.000" /><testcase classname="tests.test_cache.TestCacheEvictionAndMemoryManagement" name="test_lru_eviction" time="0.000" /><testcase classname="tests.test_cache.TestCacheEvictionAndMemoryManagement" name="test_cache_size_distribution" time="0.000" /><testcase classname="tests.test_cache.TestCacheEvictionAndMemoryManagement" name="test_concurrent_access_safety" time="0.000" /><testcase classname="tests.test_cache.TestCacheIntegrationScenarios" name="test_api_client_cache_integration" time="1.202"><failure message="assert 2 == 3">tests/test_cache.py:692: in test_api_client_cache_integration
assert api_call_count == 3
E assert 2 == 3</failure><system-out>--------------------------------- Captured Out ---------------------------------
2025-09-13 04:25:28 [debug ] Cache set [mcp_vultr.cache] cache_type=TTLCache endpoint=/api/domains key=c2cfb83a
2025-09-13 04:25:28 [debug ] Cache hit [mcp_vultr.cache] cache_type=TTLCache endpoint=/api/domains key=c2cfb83a
2025-09-13 04:25:28 [debug ] Cache set [mcp_vultr.cache] cache_type=TTLCache endpoint=/api/records key=22ddfb40
2025-09-13 04:25:29 [debug ] Cache hit [mcp_vultr.cache] cache_type=TTLCache endpoint=/api/domains key=c2cfb83a
</system-out></testcase><testcase classname="tests.test_cache.TestCacheIntegrationScenarios" name="test_cache_performance_under_load" time="0.011" /><testcase classname="tests.test_cache.TestCacheIntegrationScenarios" name="test_memory_efficiency" time="0.003" /><testcase classname="tests.test_cache.TestCacheIntegrationScenarios" name="test_cache_invalidation_patterns" time="0.000" /><testcase classname="tests.test_cli.TestCLIBasics" name="test_cli_help" time="0.003" /><testcase classname="tests.test_cli.TestCLIBasics" name="test_cli_version" time="0.000" /><testcase classname="tests.test_cli.TestCLIBasics" name="test_cli_without_api_key" time="0.002" /><testcase classname="tests.test_cli.TestServerCommand" name="test_server_command_without_api_key" time="0.001" /><testcase classname="tests.test_cli.TestServerCommand" name="test_server_command_with_api_key" time="0.174"><skipped type="pytest.xfail" message="FastMCP server has import issues that need fixing" /></testcase><testcase classname="tests.test_cli.TestDomainsCommands" name="test_list_domains" time="0.003" /><testcase classname="tests.test_cli.TestDomainsCommands" name="test_list_domains_empty" time="0.001" /><testcase classname="tests.test_cli.TestDomainsCommands" name="test_domain_info" time="0.002" /><testcase classname="tests.test_cli.TestDomainsCommands" name="test_create_domain" time="0.002" /><testcase classname="tests.test_cli.TestRecordsCommands" name="test_list_records" time="0.002" /><testcase classname="tests.test_cli.TestRecordsCommands" name="test_list_records_filtered" time="0.002" /><testcase classname="tests.test_cli.TestRecordsCommands" name="test_list_records_empty" time="0.001" /><testcase classname="tests.test_cli.TestRecordsCommands" name="test_add_record" time="0.002" /><testcase classname="tests.test_cli.TestRecordsCommands" name="test_add_record_with_ttl_and_priority" time="0.002" /><testcase classname="tests.test_cli.TestRecordsCommands" name="test_delete_record" time="0.002" /><testcase classname="tests.test_cli.TestRecordsCommands" name="test_delete_record_failure" time="0.001" /><testcase classname="tests.test_cli.TestSetupCommands" name="test_setup_website" time="0.002" /><testcase classname="tests.test_cli.TestSetupCommands" name="test_setup_website_no_www" time="0.002" /><testcase classname="tests.test_cli.TestSetupCommands" name="test_setup_website_with_ttl" time="0.002" /><testcase classname="tests.test_cli.TestSetupCommands" name="test_setup_email" time="0.002" /><testcase classname="tests.test_cli.TestSetupCommands" name="test_setup_email_custom_priority" time="0.002" /><testcase classname="tests.test_cli.TestCLIErrorHandling" name="test_api_exception_handling" time="0.001" /><testcase classname="tests.test_cli.TestCLIErrorHandling" name="test_missing_arguments" time="0.001" /><testcase classname="tests.test_cli.TestCLIErrorHandling" name="test_invalid_command" time="0.000" /><testcase classname="tests.test_cli_error_scenarios.TestCLIAuthenticationErrors" name="test_cli_missing_api_key_environment_variable" time="0.001" /><testcase classname="tests.test_cli_error_scenarios.TestCLIAuthenticationErrors" name="test_cli_empty_api_key_environment_variable" time="0.001"><failure message="AssertionError: assert ('api key' in 'error: vultr_api_key is required\nset it as an environment variable or use --api-key option\n' or 'empty' in 'error: vultr_api_key is required\nset it as an environment variable or use --api-key option\n') + where 'error: vultr_api_key is required\nset it as an environment variable or use --api-key option\n' = <built-in method lower of str object at 0x7f952fb18f60>() + where <built-in method lower of str object at 0x7f952fb18f60> = 'Error: VULTR_API_KEY is required\nSet it as an environment variable or use --api-key option\n'.lower + where 'Error: VULTR_API_KEY is required\nSet it as an environment variable or use --api-key option\n' = <Result SystemExit(1)>.output + and 'error: vultr_api_key is required\nset it as an environment variable or use --api-key option\n' = <built-in method lower of str object at 0x7f952fb18c00>() + where <built-in method lower of str object at 0x7f952fb18c00> = 'Error: VULTR_API_KEY is required\nSet it as an environment variable or use --api-key option\n'.lower + where 'Error: VULTR_API_KEY is required\nSet it as an environment variable or use --api-key option\n' = <Result SystemExit(1)>.output">tests/test_cli_error_scenarios.py:44: in test_cli_empty_api_key_environment_variable
assert "api key" in result.output.lower() or "empty" in result.output.lower()
E AssertionError: assert ('api key' in 'error: vultr_api_key is required\nset it as an environment variable or use --api-key option\n' or 'empty' in 'error: vultr_api_key is required\nset it as an environment variable or use --api-key option\n')
E + where 'error: vultr_api_key is required\nset it as an environment variable or use --api-key option\n' = <built-in method lower of str object at 0x7f952fb18f60>()
E + where <built-in method lower of str object at 0x7f952fb18f60> = 'Error: VULTR_API_KEY is required\nSet it as an environment variable or use --api-key option\n'.lower
E + where 'Error: VULTR_API_KEY is required\nSet it as an environment variable or use --api-key option\n' = <Result SystemExit(1)>.output
E + and 'error: vultr_api_key is required\nset it as an environment variable or use --api-key option\n' = <built-in method lower of str object at 0x7f952fb18c00>()
E + where <built-in method lower of str object at 0x7f952fb18c00> = 'Error: VULTR_API_KEY is required\nSet it as an environment variable or use --api-key option\n'.lower
E + where 'Error: VULTR_API_KEY is required\nSet it as an environment variable or use --api-key option\n' = <Result SystemExit(1)>.output</failure><system-out>--------------------------------- Captured Out ---------------------------------
</system-out></testcase><testcase classname="tests.test_cli_error_scenarios.TestCLIAuthenticationErrors" name="test_cli_invalid_api_key_format" time="7.354" /><testcase classname="tests.test_cli_error_scenarios.TestDomainCommandErrors" name="test_domains_delete_missing_confirmation" time="0.001" /><testcase classname="tests.test_cli_error_scenarios.TestRecordCommandErrors" name="test_records_create_invalid_record_type" time="0.003"><failure message="assert ('invalid' in "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'create'.\n" or 'type' in "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'create'.\n") + where "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'create'.\n" = <built-in method lower of str object at 0x7f952fcdfaf0>() + where <built-in method lower of str object at 0x7f952fcdfaf0> = "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'create'.\n".lower + where "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'create'.\n" = <Result SystemExit(2)>.output + and "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'create'.\n" = <built-in method lower of str object at 0x7f952fcdfb90>() + where <built-in method lower of str object at 0x7f952fcdfb90> = "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'create'.\n".lower + where "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'create'.\n" = <Result SystemExit(2)>.output">tests/test_cli_error_scenarios.py:184: in test_records_create_invalid_record_type
assert "invalid" in result.output.lower() or "type" in result.output.lower()
E assert ('invalid' in "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'create'.\n" or 'type' in "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'create'.\n")
E + where "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'create'.\n" = <built-in method lower of str object at 0x7f952fcdfaf0>()
E + where <built-in method lower of str object at 0x7f952fcdfaf0> = "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'create'.\n".lower
E + where "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'create'.\n" = <Result SystemExit(2)>.output
E + and "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'create'.\n" = <built-in method lower of str object at 0x7f952fcdfb90>()
E + where <built-in method lower of str object at 0x7f952fcdfb90> = "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'create'.\n".lower
E + where "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'create'.\n" = <Result SystemExit(2)>.output</failure><system-out>--------------------------------- Captured Out ---------------------------------
</system-out></testcase><testcase classname="tests.test_cli_error_scenarios.TestRecordCommandErrors" name="test_records_create_invalid_ip_address" time="0.002"><failure message="assert ('ip' in "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'create'.\n" or 'invalid' in "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'create'.\n") + where "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'create'.\n" = <built-in method lower of str object at 0x7f952fc402b0>() + where <built-in method lower of str object at 0x7f952fc402b0> = "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'create'.\n".lower + where "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'create'.\n" = <Result SystemExit(2)>.output + and "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'create'.\n" = <built-in method lower of str object at 0x7f952fc412f0>() + where <built-in method lower of str object at 0x7f952fc412f0> = "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'create'.\n".lower + where "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'create'.\n" = <Result SystemExit(2)>.output">tests/test_cli_error_scenarios.py:198: in test_records_create_invalid_ip_address
assert "ip" in result.output.lower() or "invalid" in result.output.lower()
E assert ('ip' in "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'create'.\n" or 'invalid' in "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'create'.\n")
E + where "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'create'.\n" = <built-in method lower of str object at 0x7f952fc402b0>()
E + where <built-in method lower of str object at 0x7f952fc402b0> = "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'create'.\n".lower
E + where "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'create'.\n" = <Result SystemExit(2)>.output
E + and "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'create'.\n" = <built-in method lower of str object at 0x7f952fc412f0>()
E + where <built-in method lower of str object at 0x7f952fc412f0> = "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'create'.\n".lower
E + where "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'create'.\n" = <Result SystemExit(2)>.output</failure><system-out>--------------------------------- Captured Out ---------------------------------
</system-out></testcase><testcase classname="tests.test_cli_error_scenarios.TestRecordCommandErrors" name="test_records_create_missing_required_arguments" time="0.001" /><testcase classname="tests.test_cli_error_scenarios.TestRecordCommandErrors" name="test_records_update_record_not_found" time="0.001"><failure message="assert 'not found' in "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'update'.\n" + where "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'update'.\n" = <built-in method lower of str object at 0x7f952fcde5b0>() + where <built-in method lower of str object at 0x7f952fcde5b0> = "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'update'.\n".lower + where "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'update'.\n" = <Result SystemExit(2)>.output">tests/test_cli_error_scenarios.py:225: in test_records_update_record_not_found
assert "not found" in result.output.lower()
E assert 'not found' in "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'update'.\n"
E + where "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'update'.\n" = <built-in method lower of str object at 0x7f952fcde5b0>()
E + where <built-in method lower of str object at 0x7f952fcde5b0> = "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'update'.\n".lower
E + where "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'update'.\n" = <Result SystemExit(2)>.output</failure><system-out>--------------------------------- Captured Out ---------------------------------
</system-out></testcase><testcase classname="tests.test_cli_error_scenarios.TestRecordCommandErrors" name="test_records_delete_missing_record_id" time="0.001" /><testcase classname="tests.test_cli_error_scenarios.TestRecordCommandErrors" name="test_records_update_no_changes_specified" time="0.001"><failure message="assert ('change' in "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'update'.\n" or 'specify' in "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'update'.\n") + where "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'update'.\n" = <built-in method lower of str object at 0x7f952fce4f30>() + where <built-in method lower of str object at 0x7f952fce4f30> = "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'update'.\n".lower + where "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'update'.\n" = <Result SystemExit(2)>.output + and "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'update'.\n" = <built-in method lower of str object at 0x7f952fce4df0>() + where <built-in method lower of str object at 0x7f952fce4df0> = "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'update'.\n".lower + where "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'update'.\n" = <Result SystemExit(2)>.output">tests/test_cli_error_scenarios.py:250: in test_records_update_no_changes_specified
assert "change" in result.output.lower() or "specify" in result.output.lower()
E assert ('change' in "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'update'.\n" or 'specify' in "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'update'.\n")
E + where "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'update'.\n" = <built-in method lower of str object at 0x7f952fce4f30>()
E + where <built-in method lower of str object at 0x7f952fce4f30> = "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'update'.\n".lower
E + where "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'update'.\n" = <Result SystemExit(2)>.output
E + and "usage: cli records [options] command [args]...\ntry 'cli records --help' for help.\n\nerror: no such command 'update'.\n" = <built-in method lower of str object at 0x7f952fce4df0>()
E + where <built-in method lower of str object at 0x7f952fce4df0> = "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'update'.\n".lower
E + where "Usage: cli records [OPTIONS] COMMAND [ARGS]...\nTry 'cli records --help' for help.\n\nError: No such command 'update'.\n" = <Result SystemExit(2)>.output</failure><system-out>--------------------------------- Captured Out ---------------------------------
</system-out></testcase><testcase classname="tests.test_cli_error_scenarios.TestSetupCommandErrors" name="test_setup_website_invalid_ip_format" time="0.001"><failure message="assert ('ip' in "usage: cli [options] command [args]...\ntry 'cli --help' for help.\n\nerror: no such command 'setup'.\n" or 'invalid' in "usage: cli [options] command [args]...\ntry 'cli --help' for help.\n\nerror: no such command 'setup'.\n") + where "usage: cli [options] command [args]...\ntry 'cli --help' for help.\n\nerror: no such command 'setup'.\n" = <built-in method lower of str object at 0x7f952fb18c00>() + where <built-in method lower of str object at 0x7f952fb18c00> = "Usage: cli [OPTIONS] COMMAND [ARGS]...\nTry 'cli --help' for help.\n\nError: No such command 'setup'.\n".lower + where "Usage: cli [OPTIONS] COMMAND [ARGS]...\nTry 'cli --help' for help.\n\nError: No such command 'setup'.\n" = <Result SystemExit(2)>.output + and "usage: cli [options] command [args]...\ntry 'cli --help' for help.\n\nerror: no such command 'setup'.\n" = <built-in method lower of str object at 0x7f952fc02ca0>() + where <built-in method lower of str object at 0x7f952fc02ca0> = "Usage: cli [OPTIONS] COMMAND [ARGS]...\nTry 'cli --help' for help.\n\nError: No such command 'setup'.\n".lower + where "Usage: cli [OPTIONS] COMMAND [ARGS]...\nTry 'cli --help' for help.\n\nError: No such command 'setup'.\n" = <Result SystemExit(2)>.output">tests/test_cli_error_scenarios.py:274: in test_setup_website_invalid_ip_format
assert "ip" in result.output.lower() or "invalid" in result.output.lower()
E assert ('ip' in "usage: cli [options] command [args]...\ntry 'cli --help' for help.\n\nerror: no such command 'setup'.\n" or 'invalid' in "usage: cli [options] command [args]...\ntry 'cli --help' for help.\n\nerror: no such command 'setup'.\n")
E + where "usage: cli [options] command [args]...\ntry 'cli --help' for help.\n\nerror: no such command 'setup'.\n" = <built-in method lower of str object at 0x7f952fb18c00>()
E + where <built-in method lower of str object at 0x7f952fb18c00> = "Usage: cli [OPTIONS] COMMAND [ARGS]...\nTry 'cli --help' for help.\n\nError: No such command 'setup'.\n".lower
E + where "Usage: cli [OPTIONS] COMMAND [ARGS]...\nTry 'cli --help' for help.\n\nError: No such command 'setup'.\n" = <Result SystemExit(2)>.output
E + and "usage: cli [options] command [args]...\ntry 'cli --help' for help.\n\nerror: no such command 'setup'.\n" = <built-in method lower of str object at 0x7f952fc02ca0>()
E + where <built-in method lower of str object at 0x7f952fc02ca0> = "Usage: cli [OPTIONS] COMMAND [ARGS]...\nTry 'cli --help' for help.\n\nError: No such command 'setup'.\n".lower
E + where "Usage: cli [OPTIONS] COMMAND [ARGS]...\nTry 'cli --help' for help.\n\nError: No such command 'setup'.\n" = <Result SystemExit(2)>.output</failure><system-out>--------------------------------- Captured Out ---------------------------------
</system-out></testcase><testcase classname="tests.test_cli_error_scenarios.TestSetupCommandErrors" name="test_setup_website_partial_failures" time="0.001"><failure message="assert 'created' in "usage: cli [options] command [args]...\ntry 'cli --help' for help.\n\nerror: no such command 'setup'.\n" + where "usage: cli [options] command [args]...\ntry 'cli --help' for help.\n\nerror: no such command 'setup'.\n" = <built-in method lower of str object at 0x7f952fc023a0>() + where <built-in method lower of str object at 0x7f952fc023a0> = "Usage: cli [OPTIONS] COMMAND [ARGS]...\nTry 'cli --help' for help.\n\nError: No such command 'setup'.\n".lower + where "Usage: cli [OPTIONS] COMMAND [ARGS]...\nTry 'cli --help' for help.\n\nError: No such command 'setup'.\n" = <Result SystemExit(2)>.output">tests/test_cli_error_scenarios.py:295: in test_setup_website_partial_failures
assert "created" in result.output.lower()
E assert 'created' in "usage: cli [options] command [args]...\ntry 'cli --help' for help.\n\nerror: no such command 'setup'.\n"
E + where "usage: cli [options] command [args]...\ntry 'cli --help' for help.\n\nerror: no such command 'setup'.\n" = <built-in method lower of str object at 0x7f952fc023a0>()
E + where <built-in method lower of str object at 0x7f952fc023a0> = "Usage: cli [OPTIONS] COMMAND [ARGS]...\nTry 'cli --help' for help.\n\nError: No such command 'setup'.\n".lower
E + where "Usage: cli [OPTIONS] COMMAND [ARGS]...\nTry 'cli --help' for help.\n\nError: No such command 'setup'.\n" = <Result SystemExit(2)>.output</failure><system-out>--------------------------------- Captured Out ---------------------------------
</system-out></testcase></testsuite></testsuites>
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rsp2k/mcp-vultr'
If you have feedback or need assistance with the MCP directory API, please join our Discord server