Improve test coverage
This commit is contained in:
916
test_output.txt
Normal file
916
test_output.txt
Normal file
@@ -0,0 +1,916 @@
|
||||
github.com/ajac-zero/latticelm/cmd/gateway coverage: 0.0% of statements
|
||||
=== RUN TestInputUnion_UnmarshalJSON
|
||||
=== RUN TestInputUnion_UnmarshalJSON/string_input
|
||||
=== RUN TestInputUnion_UnmarshalJSON/empty_string_input
|
||||
=== RUN TestInputUnion_UnmarshalJSON/null_input
|
||||
=== RUN TestInputUnion_UnmarshalJSON/array_input_with_single_message
|
||||
=== RUN TestInputUnion_UnmarshalJSON/array_input_with_multiple_messages
|
||||
=== RUN TestInputUnion_UnmarshalJSON/empty_array
|
||||
=== RUN TestInputUnion_UnmarshalJSON/array_with_function_call_output
|
||||
=== RUN TestInputUnion_UnmarshalJSON/invalid_JSON
|
||||
=== RUN TestInputUnion_UnmarshalJSON/invalid_type_-_number
|
||||
=== RUN TestInputUnion_UnmarshalJSON/invalid_type_-_object
|
||||
--- PASS: TestInputUnion_UnmarshalJSON (0.00s)
|
||||
--- PASS: TestInputUnion_UnmarshalJSON/string_input (0.00s)
|
||||
--- PASS: TestInputUnion_UnmarshalJSON/empty_string_input (0.00s)
|
||||
--- PASS: TestInputUnion_UnmarshalJSON/null_input (0.00s)
|
||||
--- PASS: TestInputUnion_UnmarshalJSON/array_input_with_single_message (0.00s)
|
||||
--- PASS: TestInputUnion_UnmarshalJSON/array_input_with_multiple_messages (0.00s)
|
||||
--- PASS: TestInputUnion_UnmarshalJSON/empty_array (0.00s)
|
||||
--- PASS: TestInputUnion_UnmarshalJSON/array_with_function_call_output (0.00s)
|
||||
--- PASS: TestInputUnion_UnmarshalJSON/invalid_JSON (0.00s)
|
||||
--- PASS: TestInputUnion_UnmarshalJSON/invalid_type_-_number (0.00s)
|
||||
--- PASS: TestInputUnion_UnmarshalJSON/invalid_type_-_object (0.00s)
|
||||
=== RUN TestInputUnion_MarshalJSON
|
||||
=== RUN TestInputUnion_MarshalJSON/string_value
|
||||
=== RUN TestInputUnion_MarshalJSON/empty_string
|
||||
=== RUN TestInputUnion_MarshalJSON/array_value
|
||||
=== RUN TestInputUnion_MarshalJSON/empty_array
|
||||
=== RUN TestInputUnion_MarshalJSON/nil_values
|
||||
--- PASS: TestInputUnion_MarshalJSON (0.00s)
|
||||
--- PASS: TestInputUnion_MarshalJSON/string_value (0.00s)
|
||||
--- PASS: TestInputUnion_MarshalJSON/empty_string (0.00s)
|
||||
--- PASS: TestInputUnion_MarshalJSON/array_value (0.00s)
|
||||
--- PASS: TestInputUnion_MarshalJSON/empty_array (0.00s)
|
||||
--- PASS: TestInputUnion_MarshalJSON/nil_values (0.00s)
|
||||
=== RUN TestInputUnion_RoundTrip
|
||||
=== RUN TestInputUnion_RoundTrip/string
|
||||
=== RUN TestInputUnion_RoundTrip/array_with_messages
|
||||
--- PASS: TestInputUnion_RoundTrip (0.00s)
|
||||
--- PASS: TestInputUnion_RoundTrip/string (0.00s)
|
||||
--- PASS: TestInputUnion_RoundTrip/array_with_messages (0.00s)
|
||||
=== RUN TestResponseRequest_NormalizeInput
|
||||
=== RUN TestResponseRequest_NormalizeInput/string_input_creates_user_message
|
||||
=== RUN TestResponseRequest_NormalizeInput/message_with_string_content
|
||||
=== RUN TestResponseRequest_NormalizeInput/assistant_message_with_string_content_uses_output_text
|
||||
=== RUN TestResponseRequest_NormalizeInput/message_with_content_blocks_array
|
||||
=== RUN TestResponseRequest_NormalizeInput/message_with_tool_use_blocks
|
||||
=== RUN TestResponseRequest_NormalizeInput/message_with_mixed_text_and_tool_use
|
||||
=== RUN TestResponseRequest_NormalizeInput/multiple_tool_use_blocks
|
||||
=== RUN TestResponseRequest_NormalizeInput/function_call_output_item
|
||||
=== RUN TestResponseRequest_NormalizeInput/multiple_messages_in_conversation
|
||||
=== RUN TestResponseRequest_NormalizeInput/complete_tool_calling_flow
|
||||
=== RUN TestResponseRequest_NormalizeInput/message_without_type_defaults_to_message
|
||||
=== RUN TestResponseRequest_NormalizeInput/message_with_nil_content
|
||||
=== RUN TestResponseRequest_NormalizeInput/tool_use_with_empty_input
|
||||
=== RUN TestResponseRequest_NormalizeInput/content_blocks_with_unknown_types_ignored
|
||||
--- PASS: TestResponseRequest_NormalizeInput (0.00s)
|
||||
--- PASS: TestResponseRequest_NormalizeInput/string_input_creates_user_message (0.00s)
|
||||
--- PASS: TestResponseRequest_NormalizeInput/message_with_string_content (0.00s)
|
||||
--- PASS: TestResponseRequest_NormalizeInput/assistant_message_with_string_content_uses_output_text (0.00s)
|
||||
--- PASS: TestResponseRequest_NormalizeInput/message_with_content_blocks_array (0.00s)
|
||||
--- PASS: TestResponseRequest_NormalizeInput/message_with_tool_use_blocks (0.00s)
|
||||
--- PASS: TestResponseRequest_NormalizeInput/message_with_mixed_text_and_tool_use (0.00s)
|
||||
--- PASS: TestResponseRequest_NormalizeInput/multiple_tool_use_blocks (0.00s)
|
||||
--- PASS: TestResponseRequest_NormalizeInput/function_call_output_item (0.00s)
|
||||
--- PASS: TestResponseRequest_NormalizeInput/multiple_messages_in_conversation (0.00s)
|
||||
--- PASS: TestResponseRequest_NormalizeInput/complete_tool_calling_flow (0.00s)
|
||||
--- PASS: TestResponseRequest_NormalizeInput/message_without_type_defaults_to_message (0.00s)
|
||||
--- PASS: TestResponseRequest_NormalizeInput/message_with_nil_content (0.00s)
|
||||
--- PASS: TestResponseRequest_NormalizeInput/tool_use_with_empty_input (0.00s)
|
||||
--- PASS: TestResponseRequest_NormalizeInput/content_blocks_with_unknown_types_ignored (0.00s)
|
||||
=== RUN TestResponseRequest_Validate
|
||||
=== RUN TestResponseRequest_Validate/valid_request_with_string_input
|
||||
=== RUN TestResponseRequest_Validate/valid_request_with_array_input
|
||||
=== RUN TestResponseRequest_Validate/nil_request
|
||||
=== RUN TestResponseRequest_Validate/missing_model
|
||||
=== RUN TestResponseRequest_Validate/missing_input
|
||||
=== RUN TestResponseRequest_Validate/empty_string_input_is_invalid
|
||||
=== RUN TestResponseRequest_Validate/empty_array_input_is_invalid
|
||||
--- PASS: TestResponseRequest_Validate (0.00s)
|
||||
--- PASS: TestResponseRequest_Validate/valid_request_with_string_input (0.00s)
|
||||
--- PASS: TestResponseRequest_Validate/valid_request_with_array_input (0.00s)
|
||||
--- PASS: TestResponseRequest_Validate/nil_request (0.00s)
|
||||
--- PASS: TestResponseRequest_Validate/missing_model (0.00s)
|
||||
--- PASS: TestResponseRequest_Validate/missing_input (0.00s)
|
||||
--- PASS: TestResponseRequest_Validate/empty_string_input_is_invalid (0.00s)
|
||||
--- PASS: TestResponseRequest_Validate/empty_array_input_is_invalid (0.00s)
|
||||
=== RUN TestGetStringField
|
||||
=== RUN TestGetStringField/existing_string_field
|
||||
=== RUN TestGetStringField/missing_field
|
||||
=== RUN TestGetStringField/wrong_type_-_int
|
||||
=== RUN TestGetStringField/wrong_type_-_bool
|
||||
=== RUN TestGetStringField/wrong_type_-_object
|
||||
=== RUN TestGetStringField/empty_string_value
|
||||
=== RUN TestGetStringField/nil_map
|
||||
--- PASS: TestGetStringField (0.00s)
|
||||
--- PASS: TestGetStringField/existing_string_field (0.00s)
|
||||
--- PASS: TestGetStringField/missing_field (0.00s)
|
||||
--- PASS: TestGetStringField/wrong_type_-_int (0.00s)
|
||||
--- PASS: TestGetStringField/wrong_type_-_bool (0.00s)
|
||||
--- PASS: TestGetStringField/wrong_type_-_object (0.00s)
|
||||
--- PASS: TestGetStringField/empty_string_value (0.00s)
|
||||
--- PASS: TestGetStringField/nil_map (0.00s)
|
||||
=== RUN TestInputItem_ComplexContent
|
||||
=== RUN TestInputItem_ComplexContent/content_with_nested_objects
|
||||
=== RUN TestInputItem_ComplexContent/content_with_array_in_input
|
||||
--- PASS: TestInputItem_ComplexContent (0.00s)
|
||||
--- PASS: TestInputItem_ComplexContent/content_with_nested_objects (0.00s)
|
||||
--- PASS: TestInputItem_ComplexContent/content_with_array_in_input (0.00s)
|
||||
=== RUN TestResponseRequest_CompleteWorkflow
|
||||
--- PASS: TestResponseRequest_CompleteWorkflow (0.00s)
|
||||
PASS
|
||||
coverage: 100.0% of statements
|
||||
ok github.com/ajac-zero/latticelm/internal/api 0.011s coverage: 100.0% of statements
|
||||
=== RUN TestNew
|
||||
=== RUN TestNew/disabled_auth_returns_empty_middleware
|
||||
=== RUN TestNew/enabled_without_issuer_returns_error
|
||||
=== RUN TestNew/enabled_with_valid_config_fetches_JWKS
|
||||
=== RUN TestNew/JWKS_fetch_failure_returns_error
|
||||
--- PASS: TestNew (0.00s)
|
||||
--- PASS: TestNew/disabled_auth_returns_empty_middleware (0.00s)
|
||||
--- PASS: TestNew/enabled_without_issuer_returns_error (0.00s)
|
||||
--- PASS: TestNew/enabled_with_valid_config_fetches_JWKS (0.00s)
|
||||
--- PASS: TestNew/JWKS_fetch_failure_returns_error (0.00s)
|
||||
=== RUN TestMiddleware_Handler
|
||||
=== RUN TestMiddleware_Handler/missing_authorization_header
|
||||
=== RUN TestMiddleware_Handler/malformed_authorization_header_-_no_bearer
|
||||
=== RUN TestMiddleware_Handler/malformed_authorization_header_-_wrong_scheme
|
||||
=== RUN TestMiddleware_Handler/valid_token_with_correct_claims
|
||||
=== RUN TestMiddleware_Handler/expired_token
|
||||
=== RUN TestMiddleware_Handler/token_with_wrong_issuer
|
||||
=== RUN TestMiddleware_Handler/token_with_wrong_audience
|
||||
=== RUN TestMiddleware_Handler/token_with_missing_kid
|
||||
--- PASS: TestMiddleware_Handler (0.01s)
|
||||
--- PASS: TestMiddleware_Handler/missing_authorization_header (0.00s)
|
||||
--- PASS: TestMiddleware_Handler/malformed_authorization_header_-_no_bearer (0.00s)
|
||||
--- PASS: TestMiddleware_Handler/malformed_authorization_header_-_wrong_scheme (0.00s)
|
||||
--- PASS: TestMiddleware_Handler/valid_token_with_correct_claims (0.00s)
|
||||
--- PASS: TestMiddleware_Handler/expired_token (0.00s)
|
||||
--- PASS: TestMiddleware_Handler/token_with_wrong_issuer (0.00s)
|
||||
--- PASS: TestMiddleware_Handler/token_with_wrong_audience (0.00s)
|
||||
--- PASS: TestMiddleware_Handler/token_with_missing_kid (0.00s)
|
||||
=== RUN TestMiddleware_Handler_DisabledAuth
|
||||
--- PASS: TestMiddleware_Handler_DisabledAuth (0.00s)
|
||||
=== RUN TestValidateToken
|
||||
=== RUN TestValidateToken/valid_token_with_all_required_claims
|
||||
=== RUN TestValidateToken/token_with_audience_as_array
|
||||
=== RUN TestValidateToken/token_with_audience_array_not_matching
|
||||
=== RUN TestValidateToken/token_with_invalid_audience_format
|
||||
=== RUN TestValidateToken/token_signed_with_wrong_key
|
||||
=== RUN TestValidateToken/token_with_unknown_kid_triggers_JWKS_refresh
|
||||
=== RUN TestValidateToken/token_with_completely_unknown_kid_after_refresh
|
||||
=== RUN TestValidateToken/malformed_token
|
||||
=== RUN TestValidateToken/token_with_non-RSA_signing_method
|
||||
--- PASS: TestValidateToken (0.80s)
|
||||
--- PASS: TestValidateToken/valid_token_with_all_required_claims (0.00s)
|
||||
--- PASS: TestValidateToken/token_with_audience_as_array (0.00s)
|
||||
--- PASS: TestValidateToken/token_with_audience_array_not_matching (0.00s)
|
||||
--- PASS: TestValidateToken/token_with_invalid_audience_format (0.00s)
|
||||
--- PASS: TestValidateToken/token_signed_with_wrong_key (0.15s)
|
||||
--- PASS: TestValidateToken/token_with_unknown_kid_triggers_JWKS_refresh (0.42s)
|
||||
--- PASS: TestValidateToken/token_with_completely_unknown_kid_after_refresh (0.22s)
|
||||
--- PASS: TestValidateToken/malformed_token (0.00s)
|
||||
--- PASS: TestValidateToken/token_with_non-RSA_signing_method (0.00s)
|
||||
=== RUN TestValidateToken_NoAudienceConfigured
|
||||
--- PASS: TestValidateToken_NoAudienceConfigured (0.00s)
|
||||
=== RUN TestRefreshJWKS
|
||||
=== RUN TestRefreshJWKS/successful_JWKS_fetch_and_parse
|
||||
=== RUN TestRefreshJWKS/OIDC_discovery_failure
|
||||
=== RUN TestRefreshJWKS/JWKS_with_multiple_keys
|
||||
=== RUN TestRefreshJWKS/JWKS_with_non-RSA_keys_skipped
|
||||
=== RUN TestRefreshJWKS/JWKS_with_wrong_use_field_skipped
|
||||
=== RUN TestRefreshJWKS/JWKS_with_invalid_base64_encoding_skipped
|
||||
--- PASS: TestRefreshJWKS (0.14s)
|
||||
--- PASS: TestRefreshJWKS/successful_JWKS_fetch_and_parse (0.00s)
|
||||
--- PASS: TestRefreshJWKS/OIDC_discovery_failure (0.00s)
|
||||
--- PASS: TestRefreshJWKS/JWKS_with_multiple_keys (0.14s)
|
||||
--- PASS: TestRefreshJWKS/JWKS_with_non-RSA_keys_skipped (0.00s)
|
||||
--- PASS: TestRefreshJWKS/JWKS_with_wrong_use_field_skipped (0.00s)
|
||||
--- PASS: TestRefreshJWKS/JWKS_with_invalid_base64_encoding_skipped (0.00s)
|
||||
=== RUN TestRefreshJWKS_Concurrency
|
||||
--- PASS: TestRefreshJWKS_Concurrency (0.01s)
|
||||
=== RUN TestGetClaims
|
||||
=== RUN TestGetClaims/context_with_claims
|
||||
=== RUN TestGetClaims/context_without_claims
|
||||
=== RUN TestGetClaims/context_with_wrong_type
|
||||
--- PASS: TestGetClaims (0.00s)
|
||||
--- PASS: TestGetClaims/context_with_claims (0.00s)
|
||||
--- PASS: TestGetClaims/context_without_claims (0.00s)
|
||||
--- PASS: TestGetClaims/context_with_wrong_type (0.00s)
|
||||
=== RUN TestMiddleware_IssuerWithTrailingSlash
|
||||
--- PASS: TestMiddleware_IssuerWithTrailingSlash (0.00s)
|
||||
PASS
|
||||
coverage: 91.7% of statements
|
||||
ok github.com/ajac-zero/latticelm/internal/auth 1.251s coverage: 91.7% of statements
|
||||
=== RUN TestLoad
|
||||
=== RUN TestLoad/basic_config_with_all_fields
|
||||
=== RUN TestLoad/config_with_environment_variables
|
||||
=== RUN TestLoad/minimal_config
|
||||
=== RUN TestLoad/azure_openai_provider
|
||||
=== RUN TestLoad/vertex_ai_provider
|
||||
=== RUN TestLoad/sql_conversation_store
|
||||
=== RUN TestLoad/redis_conversation_store
|
||||
=== RUN TestLoad/invalid_model_references_unknown_provider
|
||||
=== RUN TestLoad/invalid_YAML
|
||||
=== RUN TestLoad/multiple_models_same_provider
|
||||
--- PASS: TestLoad (0.01s)
|
||||
--- PASS: TestLoad/basic_config_with_all_fields (0.00s)
|
||||
--- PASS: TestLoad/config_with_environment_variables (0.00s)
|
||||
--- PASS: TestLoad/minimal_config (0.00s)
|
||||
--- PASS: TestLoad/azure_openai_provider (0.00s)
|
||||
--- PASS: TestLoad/vertex_ai_provider (0.00s)
|
||||
--- PASS: TestLoad/sql_conversation_store (0.00s)
|
||||
--- PASS: TestLoad/redis_conversation_store (0.00s)
|
||||
--- PASS: TestLoad/invalid_model_references_unknown_provider (0.00s)
|
||||
--- PASS: TestLoad/invalid_YAML (0.00s)
|
||||
--- PASS: TestLoad/multiple_models_same_provider (0.00s)
|
||||
=== RUN TestLoadNonExistentFile
|
||||
--- PASS: TestLoadNonExistentFile (0.00s)
|
||||
=== RUN TestConfigValidate
|
||||
=== RUN TestConfigValidate/valid_config
|
||||
=== RUN TestConfigValidate/model_references_unknown_provider
|
||||
=== RUN TestConfigValidate/no_models
|
||||
=== RUN TestConfigValidate/multiple_models_multiple_providers
|
||||
--- PASS: TestConfigValidate (0.00s)
|
||||
--- PASS: TestConfigValidate/valid_config (0.00s)
|
||||
--- PASS: TestConfigValidate/model_references_unknown_provider (0.00s)
|
||||
--- PASS: TestConfigValidate/no_models (0.00s)
|
||||
--- PASS: TestConfigValidate/multiple_models_multiple_providers (0.00s)
|
||||
=== RUN TestEnvironmentVariableExpansion
|
||||
--- PASS: TestEnvironmentVariableExpansion (0.00s)
|
||||
PASS
|
||||
coverage: 100.0% of statements
|
||||
ok github.com/ajac-zero/latticelm/internal/config 0.040s coverage: 100.0% of statements
|
||||
=== RUN TestMemoryStore_CreateAndGet
|
||||
--- PASS: TestMemoryStore_CreateAndGet (0.00s)
|
||||
=== RUN TestMemoryStore_GetNonExistent
|
||||
--- PASS: TestMemoryStore_GetNonExistent (0.00s)
|
||||
=== RUN TestMemoryStore_Append
|
||||
--- PASS: TestMemoryStore_Append (0.00s)
|
||||
=== RUN TestMemoryStore_AppendNonExistent
|
||||
--- PASS: TestMemoryStore_AppendNonExistent (0.00s)
|
||||
=== RUN TestMemoryStore_Delete
|
||||
--- PASS: TestMemoryStore_Delete (0.00s)
|
||||
=== RUN TestMemoryStore_Size
|
||||
--- PASS: TestMemoryStore_Size (0.00s)
|
||||
=== RUN TestMemoryStore_ConcurrentAccess
|
||||
--- PASS: TestMemoryStore_ConcurrentAccess (0.00s)
|
||||
=== RUN TestMemoryStore_DeepCopy
|
||||
--- PASS: TestMemoryStore_DeepCopy (0.00s)
|
||||
=== RUN TestMemoryStore_TTLCleanup
|
||||
--- PASS: TestMemoryStore_TTLCleanup (0.15s)
|
||||
=== RUN TestMemoryStore_NoTTL
|
||||
--- PASS: TestMemoryStore_NoTTL (0.00s)
|
||||
=== RUN TestMemoryStore_UpdatedAtTracking
|
||||
--- PASS: TestMemoryStore_UpdatedAtTracking (0.01s)
|
||||
=== RUN TestMemoryStore_MultipleConversations
|
||||
--- PASS: TestMemoryStore_MultipleConversations (0.00s)
|
||||
=== RUN TestNewRedisStore
|
||||
--- PASS: TestNewRedisStore (0.00s)
|
||||
=== RUN TestRedisStore_Create
|
||||
--- PASS: TestRedisStore_Create (0.00s)
|
||||
=== RUN TestRedisStore_Get
|
||||
--- PASS: TestRedisStore_Get (0.00s)
|
||||
=== RUN TestRedisStore_Append
|
||||
--- PASS: TestRedisStore_Append (0.00s)
|
||||
=== RUN TestRedisStore_Delete
|
||||
--- PASS: TestRedisStore_Delete (0.00s)
|
||||
=== RUN TestRedisStore_Size
|
||||
--- PASS: TestRedisStore_Size (0.00s)
|
||||
=== RUN TestRedisStore_TTL
|
||||
--- PASS: TestRedisStore_TTL (0.00s)
|
||||
=== RUN TestRedisStore_KeyStorage
|
||||
--- PASS: TestRedisStore_KeyStorage (0.00s)
|
||||
=== RUN TestRedisStore_Concurrent
|
||||
--- PASS: TestRedisStore_Concurrent (0.01s)
|
||||
=== RUN TestRedisStore_JSONEncoding
|
||||
--- PASS: TestRedisStore_JSONEncoding (0.00s)
|
||||
=== RUN TestRedisStore_EmptyMessages
|
||||
--- PASS: TestRedisStore_EmptyMessages (0.00s)
|
||||
=== RUN TestRedisStore_UpdateExisting
|
||||
--- PASS: TestRedisStore_UpdateExisting (0.01s)
|
||||
=== RUN TestRedisStore_ContextCancellation
|
||||
--- PASS: TestRedisStore_ContextCancellation (0.01s)
|
||||
=== RUN TestRedisStore_ScanPagination
|
||||
--- PASS: TestRedisStore_ScanPagination (0.00s)
|
||||
=== RUN TestNewSQLStore
|
||||
--- PASS: TestNewSQLStore (0.00s)
|
||||
=== RUN TestSQLStore_Create
|
||||
--- PASS: TestSQLStore_Create (0.00s)
|
||||
=== RUN TestSQLStore_Get
|
||||
--- PASS: TestSQLStore_Get (0.00s)
|
||||
=== RUN TestSQLStore_Append
|
||||
--- PASS: TestSQLStore_Append (0.00s)
|
||||
=== RUN TestSQLStore_Delete
|
||||
--- PASS: TestSQLStore_Delete (0.00s)
|
||||
=== RUN TestSQLStore_Size
|
||||
--- PASS: TestSQLStore_Size (0.00s)
|
||||
=== RUN TestSQLStore_Cleanup
|
||||
sql_store_test.go:198:
|
||||
Error Trace: /home/coder/go-llm-gateway/internal/conversation/sql_store_test.go:198
|
||||
Error: Not equal:
|
||||
expected: 0
|
||||
actual : 1
|
||||
Test: TestSQLStore_Cleanup
|
||||
--- FAIL: TestSQLStore_Cleanup (0.50s)
|
||||
=== RUN TestSQLStore_ConcurrentAccess
|
||||
--- PASS: TestSQLStore_ConcurrentAccess (0.00s)
|
||||
=== RUN TestSQLStore_ContextCancellation
|
||||
--- PASS: TestSQLStore_ContextCancellation (0.00s)
|
||||
=== RUN TestSQLStore_JSONEncoding
|
||||
--- PASS: TestSQLStore_JSONEncoding (0.00s)
|
||||
=== RUN TestSQLStore_EmptyMessages
|
||||
--- PASS: TestSQLStore_EmptyMessages (0.00s)
|
||||
=== RUN TestSQLStore_UpdateExisting
|
||||
--- PASS: TestSQLStore_UpdateExisting (0.01s)
|
||||
FAIL
|
||||
coverage: 66.0% of statements
|
||||
FAIL github.com/ajac-zero/latticelm/internal/conversation 0.768s
|
||||
github.com/ajac-zero/latticelm/internal/logger coverage: 0.0% of statements
|
||||
=== RUN TestInitMetrics
|
||||
--- PASS: TestInitMetrics (0.00s)
|
||||
=== RUN TestRecordCircuitBreakerStateChange
|
||||
=== RUN TestRecordCircuitBreakerStateChange/transition_to_closed
|
||||
=== RUN TestRecordCircuitBreakerStateChange/transition_to_open
|
||||
=== RUN TestRecordCircuitBreakerStateChange/transition_to_half-open
|
||||
=== RUN TestRecordCircuitBreakerStateChange/closed_to_half-open
|
||||
=== RUN TestRecordCircuitBreakerStateChange/half-open_to_closed
|
||||
=== RUN TestRecordCircuitBreakerStateChange/half-open_to_open
|
||||
--- PASS: TestRecordCircuitBreakerStateChange (0.00s)
|
||||
--- PASS: TestRecordCircuitBreakerStateChange/transition_to_closed (0.00s)
|
||||
--- PASS: TestRecordCircuitBreakerStateChange/transition_to_open (0.00s)
|
||||
--- PASS: TestRecordCircuitBreakerStateChange/transition_to_half-open (0.00s)
|
||||
--- PASS: TestRecordCircuitBreakerStateChange/closed_to_half-open (0.00s)
|
||||
--- PASS: TestRecordCircuitBreakerStateChange/half-open_to_closed (0.00s)
|
||||
--- PASS: TestRecordCircuitBreakerStateChange/half-open_to_open (0.00s)
|
||||
=== RUN TestMetricLabels
|
||||
=== RUN TestMetricLabels/basic_labels
|
||||
=== RUN TestMetricLabels/different_labels
|
||||
=== RUN TestMetricLabels/empty_labels
|
||||
--- PASS: TestMetricLabels (0.00s)
|
||||
--- PASS: TestMetricLabels/basic_labels (0.00s)
|
||||
--- PASS: TestMetricLabels/different_labels (0.00s)
|
||||
--- PASS: TestMetricLabels/empty_labels (0.00s)
|
||||
=== RUN TestHTTPMetrics
|
||||
=== RUN TestHTTPMetrics/GET_request
|
||||
=== RUN TestHTTPMetrics/POST_request
|
||||
=== RUN TestHTTPMetrics/error_response
|
||||
--- PASS: TestHTTPMetrics (0.00s)
|
||||
--- PASS: TestHTTPMetrics/GET_request (0.00s)
|
||||
--- PASS: TestHTTPMetrics/POST_request (0.00s)
|
||||
--- PASS: TestHTTPMetrics/error_response (0.00s)
|
||||
=== RUN TestProviderMetrics
|
||||
=== RUN TestProviderMetrics/OpenAI_generate_success
|
||||
=== RUN TestProviderMetrics/Anthropic_stream_success
|
||||
=== RUN TestProviderMetrics/Google_generate_error
|
||||
--- PASS: TestProviderMetrics (0.00s)
|
||||
--- PASS: TestProviderMetrics/OpenAI_generate_success (0.00s)
|
||||
--- PASS: TestProviderMetrics/Anthropic_stream_success (0.00s)
|
||||
--- PASS: TestProviderMetrics/Google_generate_error (0.00s)
|
||||
=== RUN TestConversationStoreMetrics
|
||||
=== RUN TestConversationStoreMetrics/create_success
|
||||
=== RUN TestConversationStoreMetrics/get_success
|
||||
=== RUN TestConversationStoreMetrics/delete_error
|
||||
--- PASS: TestConversationStoreMetrics (0.00s)
|
||||
--- PASS: TestConversationStoreMetrics/create_success (0.00s)
|
||||
--- PASS: TestConversationStoreMetrics/get_success (0.00s)
|
||||
--- PASS: TestConversationStoreMetrics/delete_error (0.00s)
|
||||
=== RUN TestMetricHelp
|
||||
--- PASS: TestMetricHelp (0.00s)
|
||||
=== RUN TestMetricTypes
|
||||
--- PASS: TestMetricTypes (0.00s)
|
||||
=== RUN TestCircuitBreakerInvalidState
|
||||
--- PASS: TestCircuitBreakerInvalidState (0.00s)
|
||||
=== RUN TestMetricNaming
|
||||
--- PASS: TestMetricNaming (0.00s)
|
||||
=== RUN TestNewInstrumentedProvider
|
||||
=== RUN TestNewInstrumentedProvider/with_registry_and_tracer
|
||||
=== RUN TestNewInstrumentedProvider/with_registry_only
|
||||
=== RUN TestNewInstrumentedProvider/with_tracer_only
|
||||
=== RUN TestNewInstrumentedProvider/without_observability
|
||||
--- PASS: TestNewInstrumentedProvider (0.00s)
|
||||
--- PASS: TestNewInstrumentedProvider/with_registry_and_tracer (0.00s)
|
||||
--- PASS: TestNewInstrumentedProvider/with_registry_only (0.00s)
|
||||
--- PASS: TestNewInstrumentedProvider/with_tracer_only (0.00s)
|
||||
--- PASS: TestNewInstrumentedProvider/without_observability (0.00s)
|
||||
=== RUN TestInstrumentedProvider_Generate
|
||||
=== RUN TestInstrumentedProvider_Generate/successful_generation
|
||||
=== RUN TestInstrumentedProvider_Generate/generation_error
|
||||
=== RUN TestInstrumentedProvider_Generate/nil_result
|
||||
=== RUN TestInstrumentedProvider_Generate/empty_tokens
|
||||
--- PASS: TestInstrumentedProvider_Generate (0.00s)
|
||||
--- PASS: TestInstrumentedProvider_Generate/successful_generation (0.00s)
|
||||
--- PASS: TestInstrumentedProvider_Generate/generation_error (0.00s)
|
||||
--- PASS: TestInstrumentedProvider_Generate/nil_result (0.00s)
|
||||
--- PASS: TestInstrumentedProvider_Generate/empty_tokens (0.00s)
|
||||
=== RUN TestInstrumentedProvider_GenerateStream
|
||||
=== RUN TestInstrumentedProvider_GenerateStream/successful_streaming
|
||||
provider_wrapper_test.go:438:
|
||||
Error Trace: /home/coder/go-llm-gateway/internal/observability/provider_wrapper_test.go:438
|
||||
Error: Not equal:
|
||||
expected: 4
|
||||
actual : 2
|
||||
Test: TestInstrumentedProvider_GenerateStream/successful_streaming
|
||||
provider_wrapper_test.go:455:
|
||||
Error Trace: /home/coder/go-llm-gateway/internal/observability/provider_wrapper_test.go:455
|
||||
Error: Not equal:
|
||||
expected: 1
|
||||
actual : 0
|
||||
Test: TestInstrumentedProvider_GenerateStream/successful_streaming
|
||||
Messages: stream request counter should be incremented
|
||||
=== RUN TestInstrumentedProvider_GenerateStream/streaming_error
|
||||
provider_wrapper_test.go:455:
|
||||
Error Trace: /home/coder/go-llm-gateway/internal/observability/provider_wrapper_test.go:455
|
||||
Error: Not equal:
|
||||
expected: 1
|
||||
actual : 0
|
||||
Test: TestInstrumentedProvider_GenerateStream/streaming_error
|
||||
Messages: stream request counter should be incremented
|
||||
=== RUN TestInstrumentedProvider_GenerateStream/empty_stream
|
||||
provider_wrapper_test.go:455:
|
||||
Error Trace: /home/coder/go-llm-gateway/internal/observability/provider_wrapper_test.go:455
|
||||
Error: Not equal:
|
||||
expected: 1
|
||||
actual : 0
|
||||
Test: TestInstrumentedProvider_GenerateStream/empty_stream
|
||||
Messages: stream request counter should be incremented
|
||||
--- FAIL: TestInstrumentedProvider_GenerateStream (0.61s)
|
||||
--- FAIL: TestInstrumentedProvider_GenerateStream/successful_streaming (0.20s)
|
||||
--- FAIL: TestInstrumentedProvider_GenerateStream/streaming_error (0.20s)
|
||||
--- FAIL: TestInstrumentedProvider_GenerateStream/empty_stream (0.20s)
|
||||
=== RUN TestInstrumentedProvider_MetricsRecording
|
||||
--- PASS: TestInstrumentedProvider_MetricsRecording (0.00s)
|
||||
=== RUN TestInstrumentedProvider_TracingSpans
|
||||
--- PASS: TestInstrumentedProvider_TracingSpans (0.00s)
|
||||
=== RUN TestInstrumentedProvider_WithoutObservability
|
||||
--- PASS: TestInstrumentedProvider_WithoutObservability (0.00s)
|
||||
=== RUN TestInstrumentedProvider_Name
|
||||
=== RUN TestInstrumentedProvider_Name/openai_provider
|
||||
=== RUN TestInstrumentedProvider_Name/anthropic_provider
|
||||
=== RUN TestInstrumentedProvider_Name/google_provider
|
||||
--- PASS: TestInstrumentedProvider_Name (0.00s)
|
||||
--- PASS: TestInstrumentedProvider_Name/openai_provider (0.00s)
|
||||
--- PASS: TestInstrumentedProvider_Name/anthropic_provider (0.00s)
|
||||
--- PASS: TestInstrumentedProvider_Name/google_provider (0.00s)
|
||||
=== RUN TestInstrumentedProvider_ConcurrentCalls
|
||||
--- PASS: TestInstrumentedProvider_ConcurrentCalls (0.00s)
|
||||
=== RUN TestInstrumentedProvider_StreamTTFB
|
||||
--- PASS: TestInstrumentedProvider_StreamTTFB (0.15s)
|
||||
=== RUN TestInitTracer_StdoutExporter
|
||||
=== RUN TestInitTracer_StdoutExporter/stdout_exporter_with_always_sampler
|
||||
tracing_test.go:74:
|
||||
Error Trace: /home/coder/go-llm-gateway/internal/observability/tracing_test.go:74
|
||||
Error: Received unexpected error:
|
||||
failed to create resource: conflicting Schema URL: https://opentelemetry.io/schemas/1.26.0 and https://opentelemetry.io/schemas/1.24.0
|
||||
Test: TestInitTracer_StdoutExporter/stdout_exporter_with_always_sampler
|
||||
=== RUN TestInitTracer_StdoutExporter/stdout_exporter_with_never_sampler
|
||||
tracing_test.go:74:
|
||||
Error Trace: /home/coder/go-llm-gateway/internal/observability/tracing_test.go:74
|
||||
Error: Received unexpected error:
|
||||
failed to create resource: conflicting Schema URL: https://opentelemetry.io/schemas/1.26.0 and https://opentelemetry.io/schemas/1.24.0
|
||||
Test: TestInitTracer_StdoutExporter/stdout_exporter_with_never_sampler
|
||||
=== RUN TestInitTracer_StdoutExporter/stdout_exporter_with_probability_sampler
|
||||
tracing_test.go:74:
|
||||
Error Trace: /home/coder/go-llm-gateway/internal/observability/tracing_test.go:74
|
||||
Error: Received unexpected error:
|
||||
failed to create resource: conflicting Schema URL: https://opentelemetry.io/schemas/1.26.0 and https://opentelemetry.io/schemas/1.24.0
|
||||
Test: TestInitTracer_StdoutExporter/stdout_exporter_with_probability_sampler
|
||||
--- FAIL: TestInitTracer_StdoutExporter (0.00s)
|
||||
--- FAIL: TestInitTracer_StdoutExporter/stdout_exporter_with_always_sampler (0.00s)
|
||||
--- FAIL: TestInitTracer_StdoutExporter/stdout_exporter_with_never_sampler (0.00s)
|
||||
--- FAIL: TestInitTracer_StdoutExporter/stdout_exporter_with_probability_sampler (0.00s)
|
||||
=== RUN TestInitTracer_InvalidExporter
|
||||
tracing_test.go:102:
|
||||
Error Trace: /home/coder/go-llm-gateway/internal/observability/tracing_test.go:102
|
||||
Error: "failed to create resource: conflicting Schema URL: https://opentelemetry.io/schemas/1.26.0 and https://opentelemetry.io/schemas/1.24.0" does not contain "unsupported exporter type"
|
||||
Test: TestInitTracer_InvalidExporter
|
||||
--- FAIL: TestInitTracer_InvalidExporter (0.00s)
|
||||
=== RUN TestCreateSampler
|
||||
=== RUN TestCreateSampler/always_sampler
|
||||
=== RUN TestCreateSampler/never_sampler
|
||||
=== RUN TestCreateSampler/probability_sampler_-_100%
|
||||
=== RUN TestCreateSampler/probability_sampler_-_0%
|
||||
=== RUN TestCreateSampler/probability_sampler_-_50%
|
||||
=== RUN TestCreateSampler/default_sampler_(invalid_type)
|
||||
--- PASS: TestCreateSampler (0.00s)
|
||||
--- PASS: TestCreateSampler/always_sampler (0.00s)
|
||||
--- PASS: TestCreateSampler/never_sampler (0.00s)
|
||||
--- PASS: TestCreateSampler/probability_sampler_-_100% (0.00s)
|
||||
--- PASS: TestCreateSampler/probability_sampler_-_0% (0.00s)
|
||||
--- PASS: TestCreateSampler/probability_sampler_-_50% (0.00s)
|
||||
--- PASS: TestCreateSampler/default_sampler_(invalid_type) (0.00s)
|
||||
=== RUN TestShutdown
|
||||
=== RUN TestShutdown/shutdown_valid_tracer_provider
|
||||
=== RUN TestShutdown/shutdown_nil_tracer_provider
|
||||
--- PASS: TestShutdown (0.00s)
|
||||
--- PASS: TestShutdown/shutdown_valid_tracer_provider (0.00s)
|
||||
--- PASS: TestShutdown/shutdown_nil_tracer_provider (0.00s)
|
||||
=== RUN TestShutdown_ContextTimeout
|
||||
--- PASS: TestShutdown_ContextTimeout (0.00s)
|
||||
=== RUN TestTracerConfig_ServiceName
|
||||
=== RUN TestTracerConfig_ServiceName/default_service_name
|
||||
=== RUN TestTracerConfig_ServiceName/custom_service_name
|
||||
=== RUN TestTracerConfig_ServiceName/empty_service_name
|
||||
--- PASS: TestTracerConfig_ServiceName (0.00s)
|
||||
--- PASS: TestTracerConfig_ServiceName/default_service_name (0.00s)
|
||||
--- PASS: TestTracerConfig_ServiceName/custom_service_name (0.00s)
|
||||
--- PASS: TestTracerConfig_ServiceName/empty_service_name (0.00s)
|
||||
=== RUN TestCreateSampler_EdgeCases
|
||||
=== RUN TestCreateSampler_EdgeCases/negative_rate
|
||||
=== RUN TestCreateSampler_EdgeCases/rate_greater_than_1
|
||||
=== RUN TestCreateSampler_EdgeCases/empty_type
|
||||
--- PASS: TestCreateSampler_EdgeCases (0.00s)
|
||||
--- PASS: TestCreateSampler_EdgeCases/negative_rate (0.00s)
|
||||
--- PASS: TestCreateSampler_EdgeCases/rate_greater_than_1 (0.00s)
|
||||
--- PASS: TestCreateSampler_EdgeCases/empty_type (0.00s)
|
||||
=== RUN TestTracerProvider_MultipleShutdowns
|
||||
--- PASS: TestTracerProvider_MultipleShutdowns (0.00s)
|
||||
=== RUN TestSamplerDescription
|
||||
=== RUN TestSamplerDescription/always_sampler_description
|
||||
=== RUN TestSamplerDescription/never_sampler_description
|
||||
=== RUN TestSamplerDescription/probability_sampler_description
|
||||
--- PASS: TestSamplerDescription (0.00s)
|
||||
--- PASS: TestSamplerDescription/always_sampler_description (0.00s)
|
||||
--- PASS: TestSamplerDescription/never_sampler_description (0.00s)
|
||||
--- PASS: TestSamplerDescription/probability_sampler_description (0.00s)
|
||||
=== RUN TestInitTracer_ResourceAttributes
|
||||
--- PASS: TestInitTracer_ResourceAttributes (0.00s)
|
||||
=== RUN TestProbabilitySampler_Boundaries
|
||||
=== RUN TestProbabilitySampler_Boundaries/rate_0.0_-_never_sample
|
||||
=== RUN TestProbabilitySampler_Boundaries/rate_1.0_-_always_sample
|
||||
=== RUN TestProbabilitySampler_Boundaries/rate_0.5_-_probabilistic
|
||||
--- PASS: TestProbabilitySampler_Boundaries (0.00s)
|
||||
--- PASS: TestProbabilitySampler_Boundaries/rate_0.0_-_never_sample (0.00s)
|
||||
--- PASS: TestProbabilitySampler_Boundaries/rate_1.0_-_always_sample (0.00s)
|
||||
--- PASS: TestProbabilitySampler_Boundaries/rate_0.5_-_probabilistic (0.00s)
|
||||
FAIL
|
||||
coverage: 35.1% of statements
|
||||
FAIL github.com/ajac-zero/latticelm/internal/observability 0.783s
|
||||
=== RUN TestNewRegistry
|
||||
=== RUN TestNewRegistry/valid_config_with_OpenAI
|
||||
=== RUN TestNewRegistry/valid_config_with_multiple_providers
|
||||
=== RUN TestNewRegistry/no_providers_returns_error
|
||||
=== RUN TestNewRegistry/Azure_OpenAI_without_endpoint_returns_error
|
||||
=== RUN TestNewRegistry/Azure_OpenAI_with_endpoint_succeeds
|
||||
=== RUN TestNewRegistry/Azure_Anthropic_without_endpoint_returns_error
|
||||
=== RUN TestNewRegistry/Azure_Anthropic_with_endpoint_succeeds
|
||||
=== RUN TestNewRegistry/Google_provider
|
||||
=== RUN TestNewRegistry/Vertex_AI_without_project/location_returns_error
|
||||
=== RUN TestNewRegistry/Vertex_AI_with_project_and_location_succeeds
|
||||
=== RUN TestNewRegistry/unknown_provider_type_returns_error
|
||||
=== RUN TestNewRegistry/provider_with_no_API_key_is_skipped
|
||||
=== RUN TestNewRegistry/model_with_provider_model_id
|
||||
--- PASS: TestNewRegistry (0.00s)
|
||||
--- PASS: TestNewRegistry/valid_config_with_OpenAI (0.00s)
|
||||
--- PASS: TestNewRegistry/valid_config_with_multiple_providers (0.00s)
|
||||
--- PASS: TestNewRegistry/no_providers_returns_error (0.00s)
|
||||
--- PASS: TestNewRegistry/Azure_OpenAI_without_endpoint_returns_error (0.00s)
|
||||
--- PASS: TestNewRegistry/Azure_OpenAI_with_endpoint_succeeds (0.00s)
|
||||
--- PASS: TestNewRegistry/Azure_Anthropic_without_endpoint_returns_error (0.00s)
|
||||
--- PASS: TestNewRegistry/Azure_Anthropic_with_endpoint_succeeds (0.00s)
|
||||
--- PASS: TestNewRegistry/Google_provider (0.00s)
|
||||
--- PASS: TestNewRegistry/Vertex_AI_without_project/location_returns_error (0.00s)
|
||||
--- PASS: TestNewRegistry/Vertex_AI_with_project_and_location_succeeds (0.00s)
|
||||
--- PASS: TestNewRegistry/unknown_provider_type_returns_error (0.00s)
|
||||
--- PASS: TestNewRegistry/provider_with_no_API_key_is_skipped (0.00s)
|
||||
--- PASS: TestNewRegistry/model_with_provider_model_id (0.00s)
|
||||
=== RUN TestRegistry_Get
|
||||
=== RUN TestRegistry_Get/existing_provider
|
||||
=== RUN TestRegistry_Get/another_existing_provider
|
||||
=== RUN TestRegistry_Get/nonexistent_provider
|
||||
--- PASS: TestRegistry_Get (0.00s)
|
||||
--- PASS: TestRegistry_Get/existing_provider (0.00s)
|
||||
--- PASS: TestRegistry_Get/another_existing_provider (0.00s)
|
||||
--- PASS: TestRegistry_Get/nonexistent_provider (0.00s)
|
||||
=== RUN TestRegistry_Models
|
||||
=== RUN TestRegistry_Models/single_model
|
||||
=== RUN TestRegistry_Models/multiple_models
|
||||
=== RUN TestRegistry_Models/no_models
|
||||
--- PASS: TestRegistry_Models (0.00s)
|
||||
--- PASS: TestRegistry_Models/single_model (0.00s)
|
||||
--- PASS: TestRegistry_Models/multiple_models (0.00s)
|
||||
--- PASS: TestRegistry_Models/no_models (0.00s)
|
||||
=== RUN TestRegistry_ResolveModelID
|
||||
=== RUN TestRegistry_ResolveModelID/model_without_provider_model_id_returns_model_name
|
||||
=== RUN TestRegistry_ResolveModelID/model_with_provider_model_id_returns_provider_model_id
|
||||
=== RUN TestRegistry_ResolveModelID/unknown_model_returns_model_name
|
||||
--- PASS: TestRegistry_ResolveModelID (0.00s)
|
||||
--- PASS: TestRegistry_ResolveModelID/model_without_provider_model_id_returns_model_name (0.00s)
|
||||
--- PASS: TestRegistry_ResolveModelID/model_with_provider_model_id_returns_provider_model_id (0.00s)
|
||||
--- PASS: TestRegistry_ResolveModelID/unknown_model_returns_model_name (0.00s)
|
||||
=== RUN TestRegistry_Default
|
||||
=== RUN TestRegistry_Default/returns_provider_for_known_model
|
||||
=== RUN TestRegistry_Default/returns_first_provider_for_unknown_model
|
||||
=== RUN TestRegistry_Default/returns_first_provider_for_empty_model_name
|
||||
--- PASS: TestRegistry_Default (0.00s)
|
||||
--- PASS: TestRegistry_Default/returns_provider_for_known_model (0.00s)
|
||||
--- PASS: TestRegistry_Default/returns_first_provider_for_unknown_model (0.00s)
|
||||
--- PASS: TestRegistry_Default/returns_first_provider_for_empty_model_name (0.00s)
|
||||
=== RUN TestBuildProvider
|
||||
=== RUN TestBuildProvider/OpenAI_provider
|
||||
=== RUN TestBuildProvider/OpenAI_provider_with_custom_endpoint
|
||||
=== RUN TestBuildProvider/Anthropic_provider
|
||||
=== RUN TestBuildProvider/Google_provider
|
||||
=== RUN TestBuildProvider/provider_without_API_key_returns_nil
|
||||
=== RUN TestBuildProvider/unknown_provider_type
|
||||
--- PASS: TestBuildProvider (0.00s)
|
||||
--- PASS: TestBuildProvider/OpenAI_provider (0.00s)
|
||||
--- PASS: TestBuildProvider/OpenAI_provider_with_custom_endpoint (0.00s)
|
||||
--- PASS: TestBuildProvider/Anthropic_provider (0.00s)
|
||||
--- PASS: TestBuildProvider/Google_provider (0.00s)
|
||||
--- PASS: TestBuildProvider/provider_without_API_key_returns_nil (0.00s)
|
||||
--- PASS: TestBuildProvider/unknown_provider_type (0.00s)
|
||||
PASS
|
||||
coverage: 63.1% of statements
|
||||
ok github.com/ajac-zero/latticelm/internal/providers 0.035s coverage: 63.1% of statements
|
||||
=== RUN TestParseTools
|
||||
--- PASS: TestParseTools (0.00s)
|
||||
=== RUN TestParseToolChoice
|
||||
=== RUN TestParseToolChoice/auto
|
||||
=== RUN TestParseToolChoice/any
|
||||
=== RUN TestParseToolChoice/required
|
||||
=== RUN TestParseToolChoice/specific_tool
|
||||
--- PASS: TestParseToolChoice (0.00s)
|
||||
--- PASS: TestParseToolChoice/auto (0.00s)
|
||||
--- PASS: TestParseToolChoice/any (0.00s)
|
||||
--- PASS: TestParseToolChoice/required (0.00s)
|
||||
--- PASS: TestParseToolChoice/specific_tool (0.00s)
|
||||
PASS
|
||||
coverage: 16.2% of statements
|
||||
ok github.com/ajac-zero/latticelm/internal/providers/anthropic 0.016s coverage: 16.2% of statements
|
||||
=== RUN TestParseTools
|
||||
=== RUN TestParseTools/flat_format_tool
|
||||
=== RUN TestParseTools/nested_format_tool
|
||||
=== RUN TestParseTools/multiple_tools
|
||||
=== RUN TestParseTools/tool_without_description
|
||||
=== RUN TestParseTools/tool_without_parameters
|
||||
=== RUN TestParseTools/tool_without_name_(should_skip)
|
||||
=== RUN TestParseTools/nil_tools
|
||||
=== RUN TestParseTools/invalid_JSON
|
||||
=== RUN TestParseTools/empty_array
|
||||
--- PASS: TestParseTools (0.00s)
|
||||
--- PASS: TestParseTools/flat_format_tool (0.00s)
|
||||
--- PASS: TestParseTools/nested_format_tool (0.00s)
|
||||
--- PASS: TestParseTools/multiple_tools (0.00s)
|
||||
--- PASS: TestParseTools/tool_without_description (0.00s)
|
||||
--- PASS: TestParseTools/tool_without_parameters (0.00s)
|
||||
--- PASS: TestParseTools/tool_without_name_(should_skip) (0.00s)
|
||||
--- PASS: TestParseTools/nil_tools (0.00s)
|
||||
--- PASS: TestParseTools/invalid_JSON (0.00s)
|
||||
--- PASS: TestParseTools/empty_array (0.00s)
|
||||
=== RUN TestParseToolChoice
|
||||
=== RUN TestParseToolChoice/auto_mode
|
||||
=== RUN TestParseToolChoice/none_mode
|
||||
=== RUN TestParseToolChoice/required_mode
|
||||
=== RUN TestParseToolChoice/any_mode
|
||||
=== RUN TestParseToolChoice/specific_function
|
||||
=== RUN TestParseToolChoice/nil_tool_choice
|
||||
=== RUN TestParseToolChoice/unknown_string_mode
|
||||
=== RUN TestParseToolChoice/invalid_JSON
|
||||
=== RUN TestParseToolChoice/unsupported_object_format
|
||||
--- PASS: TestParseToolChoice (0.00s)
|
||||
--- PASS: TestParseToolChoice/auto_mode (0.00s)
|
||||
--- PASS: TestParseToolChoice/none_mode (0.00s)
|
||||
--- PASS: TestParseToolChoice/required_mode (0.00s)
|
||||
--- PASS: TestParseToolChoice/any_mode (0.00s)
|
||||
--- PASS: TestParseToolChoice/specific_function (0.00s)
|
||||
--- PASS: TestParseToolChoice/nil_tool_choice (0.00s)
|
||||
--- PASS: TestParseToolChoice/unknown_string_mode (0.00s)
|
||||
--- PASS: TestParseToolChoice/invalid_JSON (0.00s)
|
||||
--- PASS: TestParseToolChoice/unsupported_object_format (0.00s)
|
||||
=== RUN TestExtractToolCalls
|
||||
=== RUN TestExtractToolCalls/single_tool_call
|
||||
=== RUN TestExtractToolCalls/tool_call_without_ID_generates_one
|
||||
=== RUN TestExtractToolCalls/response_with_nil_candidates
|
||||
=== RUN TestExtractToolCalls/empty_candidates
|
||||
--- PASS: TestExtractToolCalls (0.00s)
|
||||
--- PASS: TestExtractToolCalls/single_tool_call (0.00s)
|
||||
--- PASS: TestExtractToolCalls/tool_call_without_ID_generates_one (0.00s)
|
||||
--- PASS: TestExtractToolCalls/response_with_nil_candidates (0.00s)
|
||||
--- PASS: TestExtractToolCalls/empty_candidates (0.00s)
|
||||
=== RUN TestGenerateRandomID
|
||||
=== RUN TestGenerateRandomID/generates_non-empty_ID
|
||||
=== RUN TestGenerateRandomID/generates_unique_IDs
|
||||
=== RUN TestGenerateRandomID/only_contains_valid_characters
|
||||
--- PASS: TestGenerateRandomID (0.00s)
|
||||
--- PASS: TestGenerateRandomID/generates_non-empty_ID (0.00s)
|
||||
--- PASS: TestGenerateRandomID/generates_unique_IDs (0.00s)
|
||||
--- PASS: TestGenerateRandomID/only_contains_valid_characters (0.00s)
|
||||
PASS
|
||||
coverage: 27.7% of statements
|
||||
ok github.com/ajac-zero/latticelm/internal/providers/google 0.017s coverage: 27.7% of statements
|
||||
=== RUN TestParseTools
|
||||
=== RUN TestParseTools/single_tool_with_all_fields
|
||||
=== RUN TestParseTools/multiple_tools
|
||||
=== RUN TestParseTools/tool_without_description
|
||||
=== RUN TestParseTools/tool_without_parameters
|
||||
=== RUN TestParseTools/nil_tools
|
||||
=== RUN TestParseTools/invalid_JSON
|
||||
=== RUN TestParseTools/empty_array
|
||||
--- PASS: TestParseTools (0.00s)
|
||||
--- PASS: TestParseTools/single_tool_with_all_fields (0.00s)
|
||||
--- PASS: TestParseTools/multiple_tools (0.00s)
|
||||
--- PASS: TestParseTools/tool_without_description (0.00s)
|
||||
--- PASS: TestParseTools/tool_without_parameters (0.00s)
|
||||
--- PASS: TestParseTools/nil_tools (0.00s)
|
||||
--- PASS: TestParseTools/invalid_JSON (0.00s)
|
||||
--- PASS: TestParseTools/empty_array (0.00s)
|
||||
=== RUN TestParseToolChoice
|
||||
=== RUN TestParseToolChoice/auto_string
|
||||
=== RUN TestParseToolChoice/none_string
|
||||
=== RUN TestParseToolChoice/required_string
|
||||
=== RUN TestParseToolChoice/specific_function
|
||||
=== RUN TestParseToolChoice/nil_tool_choice
|
||||
=== RUN TestParseToolChoice/invalid_JSON
|
||||
=== RUN TestParseToolChoice/unsupported_format_(object_without_proper_structure)
|
||||
--- PASS: TestParseToolChoice (0.00s)
|
||||
--- PASS: TestParseToolChoice/auto_string (0.00s)
|
||||
--- PASS: TestParseToolChoice/none_string (0.00s)
|
||||
--- PASS: TestParseToolChoice/required_string (0.00s)
|
||||
--- PASS: TestParseToolChoice/specific_function (0.00s)
|
||||
--- PASS: TestParseToolChoice/nil_tool_choice (0.00s)
|
||||
--- PASS: TestParseToolChoice/invalid_JSON (0.00s)
|
||||
--- PASS: TestParseToolChoice/unsupported_format_(object_without_proper_structure) (0.00s)
|
||||
=== RUN TestExtractToolCalls
|
||||
=== RUN TestExtractToolCalls/nil_message_returns_nil
|
||||
--- PASS: TestExtractToolCalls (0.00s)
|
||||
--- PASS: TestExtractToolCalls/nil_message_returns_nil (0.00s)
|
||||
=== RUN TestExtractToolCallDelta
|
||||
=== RUN TestExtractToolCallDelta/empty_delta_returns_nil
|
||||
--- PASS: TestExtractToolCallDelta (0.00s)
|
||||
--- PASS: TestExtractToolCallDelta/empty_delta_returns_nil (0.00s)
|
||||
PASS
|
||||
coverage: 16.1% of statements
|
||||
ok github.com/ajac-zero/latticelm/internal/providers/openai 0.024s coverage: 16.1% of statements
|
||||
=== RUN TestRateLimitMiddleware
|
||||
=== RUN TestRateLimitMiddleware/disabled_rate_limiting_allows_all_requests
|
||||
=== RUN TestRateLimitMiddleware/enabled_rate_limiting_enforces_limits
|
||||
time=2026-03-05T17:59:57.097Z level=WARN msg="rate limit exceeded" ip=192.168.1.1:1234 path=/test
|
||||
time=2026-03-05T17:59:57.097Z level=WARN msg="rate limit exceeded" ip=192.168.1.1:1234 path=/test
|
||||
time=2026-03-05T17:59:57.097Z level=WARN msg="rate limit exceeded" ip=192.168.1.1:1234 path=/test
|
||||
--- PASS: TestRateLimitMiddleware (0.00s)
|
||||
--- PASS: TestRateLimitMiddleware/disabled_rate_limiting_allows_all_requests (0.00s)
|
||||
--- PASS: TestRateLimitMiddleware/enabled_rate_limiting_enforces_limits (0.00s)
|
||||
=== RUN TestGetClientIP
|
||||
=== RUN TestGetClientIP/uses_X-Forwarded-For_if_present
|
||||
=== RUN TestGetClientIP/uses_X-Real-IP_if_X-Forwarded-For_not_present
|
||||
=== RUN TestGetClientIP/uses_RemoteAddr_as_fallback
|
||||
--- PASS: TestGetClientIP (0.00s)
|
||||
--- PASS: TestGetClientIP/uses_X-Forwarded-For_if_present (0.00s)
|
||||
--- PASS: TestGetClientIP/uses_X-Real-IP_if_X-Forwarded-For_not_present (0.00s)
|
||||
--- PASS: TestGetClientIP/uses_RemoteAddr_as_fallback (0.00s)
|
||||
=== RUN TestRateLimitRefill
|
||||
time=2026-03-05T17:59:57.097Z level=WARN msg="rate limit exceeded" ip=192.168.1.1:1234 path=/test
|
||||
--- PASS: TestRateLimitRefill (0.15s)
|
||||
PASS
|
||||
coverage: 87.2% of statements
|
||||
ok github.com/ajac-zero/latticelm/internal/ratelimit 0.160s coverage: 87.2% of statements
|
||||
=== RUN TestHealthEndpoint
|
||||
=== RUN TestHealthEndpoint/GET_returns_healthy_status
|
||||
=== RUN TestHealthEndpoint/POST_returns_method_not_allowed
|
||||
--- PASS: TestHealthEndpoint (0.00s)
|
||||
--- PASS: TestHealthEndpoint/GET_returns_healthy_status (0.00s)
|
||||
--- PASS: TestHealthEndpoint/POST_returns_method_not_allowed (0.00s)
|
||||
=== RUN TestReadyEndpoint
|
||||
=== RUN TestReadyEndpoint/returns_ready_when_all_checks_pass
|
||||
=== RUN TestReadyEndpoint/returns_not_ready_when_no_providers_configured
|
||||
--- PASS: TestReadyEndpoint (0.00s)
|
||||
--- PASS: TestReadyEndpoint/returns_ready_when_all_checks_pass (0.00s)
|
||||
--- PASS: TestReadyEndpoint/returns_not_ready_when_no_providers_configured (0.00s)
|
||||
=== RUN TestReadyEndpointMethodNotAllowed
|
||||
--- PASS: TestReadyEndpointMethodNotAllowed (0.00s)
|
||||
=== RUN TestPanicRecoveryMiddleware
|
||||
=== RUN TestPanicRecoveryMiddleware/no_panic_-_request_succeeds
|
||||
=== RUN TestPanicRecoveryMiddleware/panic_with_string_-_recovers_gracefully
|
||||
=== RUN TestPanicRecoveryMiddleware/panic_with_error_-_recovers_gracefully
|
||||
=== RUN TestPanicRecoveryMiddleware/panic_with_struct_-_recovers_gracefully
|
||||
--- PASS: TestPanicRecoveryMiddleware (0.00s)
|
||||
--- PASS: TestPanicRecoveryMiddleware/no_panic_-_request_succeeds (0.00s)
|
||||
--- PASS: TestPanicRecoveryMiddleware/panic_with_string_-_recovers_gracefully (0.00s)
|
||||
--- PASS: TestPanicRecoveryMiddleware/panic_with_error_-_recovers_gracefully (0.00s)
|
||||
--- PASS: TestPanicRecoveryMiddleware/panic_with_struct_-_recovers_gracefully (0.00s)
|
||||
=== RUN TestRequestSizeLimitMiddleware
|
||||
=== RUN TestRequestSizeLimitMiddleware/small_POST_request_-_succeeds
|
||||
=== RUN TestRequestSizeLimitMiddleware/exact_size_POST_request_-_succeeds
|
||||
=== RUN TestRequestSizeLimitMiddleware/oversized_POST_request_-_fails
|
||||
=== RUN TestRequestSizeLimitMiddleware/large_POST_request_-_fails
|
||||
=== RUN TestRequestSizeLimitMiddleware/oversized_PUT_request_-_fails
|
||||
=== RUN TestRequestSizeLimitMiddleware/oversized_PATCH_request_-_fails
|
||||
=== RUN TestRequestSizeLimitMiddleware/GET_request_-_no_size_limit_applied
|
||||
=== RUN TestRequestSizeLimitMiddleware/DELETE_request_-_no_size_limit_applied
|
||||
--- PASS: TestRequestSizeLimitMiddleware (0.00s)
|
||||
--- PASS: TestRequestSizeLimitMiddleware/small_POST_request_-_succeeds (0.00s)
|
||||
--- PASS: TestRequestSizeLimitMiddleware/exact_size_POST_request_-_succeeds (0.00s)
|
||||
--- PASS: TestRequestSizeLimitMiddleware/oversized_POST_request_-_fails (0.00s)
|
||||
--- PASS: TestRequestSizeLimitMiddleware/large_POST_request_-_fails (0.00s)
|
||||
--- PASS: TestRequestSizeLimitMiddleware/oversized_PUT_request_-_fails (0.00s)
|
||||
--- PASS: TestRequestSizeLimitMiddleware/oversized_PATCH_request_-_fails (0.00s)
|
||||
--- PASS: TestRequestSizeLimitMiddleware/GET_request_-_no_size_limit_applied (0.00s)
|
||||
--- PASS: TestRequestSizeLimitMiddleware/DELETE_request_-_no_size_limit_applied (0.00s)
|
||||
=== RUN TestRequestSizeLimitMiddleware_WithJSONDecoding
|
||||
=== RUN TestRequestSizeLimitMiddleware_WithJSONDecoding/small_JSON_payload_-_succeeds
|
||||
=== RUN TestRequestSizeLimitMiddleware_WithJSONDecoding/large_JSON_payload_-_fails
|
||||
--- PASS: TestRequestSizeLimitMiddleware_WithJSONDecoding (0.00s)
|
||||
--- PASS: TestRequestSizeLimitMiddleware_WithJSONDecoding/small_JSON_payload_-_succeeds (0.00s)
|
||||
--- PASS: TestRequestSizeLimitMiddleware_WithJSONDecoding/large_JSON_payload_-_fails (0.00s)
|
||||
=== RUN TestWriteJSONError
|
||||
=== RUN TestWriteJSONError/simple_error_message
|
||||
=== RUN TestWriteJSONError/internal_server_error
|
||||
=== RUN TestWriteJSONError/unauthorized_error
|
||||
--- PASS: TestWriteJSONError (0.00s)
|
||||
--- PASS: TestWriteJSONError/simple_error_message (0.00s)
|
||||
--- PASS: TestWriteJSONError/internal_server_error (0.00s)
|
||||
--- PASS: TestWriteJSONError/unauthorized_error (0.00s)
|
||||
=== RUN TestPanicRecoveryMiddleware_Integration
|
||||
--- PASS: TestPanicRecoveryMiddleware_Integration (0.00s)
|
||||
=== RUN TestHandleModels
|
||||
=== RUN TestHandleModels/GET_returns_model_list
|
||||
=== RUN TestHandleModels/POST_returns_405
|
||||
=== RUN TestHandleModels/empty_registry_returns_empty_list
|
||||
--- PASS: TestHandleModels (0.00s)
|
||||
--- PASS: TestHandleModels/GET_returns_model_list (0.00s)
|
||||
--- PASS: TestHandleModels/POST_returns_405 (0.00s)
|
||||
--- PASS: TestHandleModels/empty_registry_returns_empty_list (0.00s)
|
||||
=== RUN TestHandleResponses_Validation
|
||||
=== RUN TestHandleResponses_Validation/GET_returns_405
|
||||
=== RUN TestHandleResponses_Validation/invalid_JSON_returns_400
|
||||
=== RUN TestHandleResponses_Validation/missing_model_returns_400
|
||||
=== RUN TestHandleResponses_Validation/missing_input_returns_400
|
||||
--- PASS: TestHandleResponses_Validation (0.00s)
|
||||
--- PASS: TestHandleResponses_Validation/GET_returns_405 (0.00s)
|
||||
--- PASS: TestHandleResponses_Validation/invalid_JSON_returns_400 (0.00s)
|
||||
--- PASS: TestHandleResponses_Validation/missing_model_returns_400 (0.00s)
|
||||
--- PASS: TestHandleResponses_Validation/missing_input_returns_400 (0.00s)
|
||||
=== RUN TestHandleResponses_Sync_Success
|
||||
=== RUN TestHandleResponses_Sync_Success/simple_text_response
|
||||
=== RUN TestHandleResponses_Sync_Success/response_with_tool_calls
|
||||
=== RUN TestHandleResponses_Sync_Success/response_with_multiple_tool_calls
|
||||
=== RUN TestHandleResponses_Sync_Success/response_with_only_tool_calls_(no_text)
|
||||
=== RUN TestHandleResponses_Sync_Success/response_echoes_request_parameters
|
||||
--- PASS: TestHandleResponses_Sync_Success (0.00s)
|
||||
--- PASS: TestHandleResponses_Sync_Success/simple_text_response (0.00s)
|
||||
--- PASS: TestHandleResponses_Sync_Success/response_with_tool_calls (0.00s)
|
||||
--- PASS: TestHandleResponses_Sync_Success/response_with_multiple_tool_calls (0.00s)
|
||||
--- PASS: TestHandleResponses_Sync_Success/response_with_only_tool_calls_(no_text) (0.00s)
|
||||
--- PASS: TestHandleResponses_Sync_Success/response_echoes_request_parameters (0.00s)
|
||||
=== RUN TestHandleResponses_Sync_ConversationHistory
|
||||
=== RUN TestHandleResponses_Sync_ConversationHistory/without_previous_response_id
|
||||
=== RUN TestHandleResponses_Sync_ConversationHistory/with_valid_previous_response_id
|
||||
=== RUN TestHandleResponses_Sync_ConversationHistory/with_instructions_prepends_developer_message
|
||||
=== RUN TestHandleResponses_Sync_ConversationHistory/nonexistent_conversation_returns_404
|
||||
=== RUN TestHandleResponses_Sync_ConversationHistory/conversation_store_error_returns_500
|
||||
--- PASS: TestHandleResponses_Sync_ConversationHistory (0.00s)
|
||||
--- PASS: TestHandleResponses_Sync_ConversationHistory/without_previous_response_id (0.00s)
|
||||
--- PASS: TestHandleResponses_Sync_ConversationHistory/with_valid_previous_response_id (0.00s)
|
||||
--- PASS: TestHandleResponses_Sync_ConversationHistory/with_instructions_prepends_developer_message (0.00s)
|
||||
--- PASS: TestHandleResponses_Sync_ConversationHistory/nonexistent_conversation_returns_404 (0.00s)
|
||||
--- PASS: TestHandleResponses_Sync_ConversationHistory/conversation_store_error_returns_500 (0.00s)
|
||||
=== RUN TestHandleResponses_Sync_ProviderErrors
|
||||
=== RUN TestHandleResponses_Sync_ProviderErrors/provider_returns_error
|
||||
=== RUN TestHandleResponses_Sync_ProviderErrors/provider_not_configured
|
||||
--- PASS: TestHandleResponses_Sync_ProviderErrors (0.00s)
|
||||
--- PASS: TestHandleResponses_Sync_ProviderErrors/provider_returns_error (0.00s)
|
||||
--- PASS: TestHandleResponses_Sync_ProviderErrors/provider_not_configured (0.00s)
|
||||
=== RUN TestHandleResponses_Stream_Success
|
||||
=== RUN TestHandleResponses_Stream_Success/simple_text_streaming
|
||||
=== RUN TestHandleResponses_Stream_Success/streaming_with_tool_calls
|
||||
=== RUN TestHandleResponses_Stream_Success/streaming_with_multiple_tool_calls
|
||||
--- PASS: TestHandleResponses_Stream_Success (0.00s)
|
||||
--- PASS: TestHandleResponses_Stream_Success/simple_text_streaming (0.00s)
|
||||
--- PASS: TestHandleResponses_Stream_Success/streaming_with_tool_calls (0.00s)
|
||||
--- PASS: TestHandleResponses_Stream_Success/streaming_with_multiple_tool_calls (0.00s)
|
||||
=== RUN TestHandleResponses_Stream_Errors
|
||||
=== RUN TestHandleResponses_Stream_Errors/stream_error_returns_failed_event
|
||||
--- PASS: TestHandleResponses_Stream_Errors (0.00s)
|
||||
--- PASS: TestHandleResponses_Stream_Errors/stream_error_returns_failed_event (0.00s)
|
||||
=== RUN TestResolveProvider
|
||||
=== RUN TestResolveProvider/explicit_provider_selection
|
||||
=== RUN TestResolveProvider/default_by_model_name
|
||||
=== RUN TestResolveProvider/provider_not_found_returns_error
|
||||
--- PASS: TestResolveProvider (0.00s)
|
||||
--- PASS: TestResolveProvider/explicit_provider_selection (0.00s)
|
||||
--- PASS: TestResolveProvider/default_by_model_name (0.00s)
|
||||
--- PASS: TestResolveProvider/provider_not_found_returns_error (0.00s)
|
||||
=== RUN TestGenerateID
|
||||
=== RUN TestGenerateID/resp__prefix
|
||||
=== RUN TestGenerateID/msg__prefix
|
||||
=== RUN TestGenerateID/item__prefix
|
||||
--- PASS: TestGenerateID (0.00s)
|
||||
--- PASS: TestGenerateID/resp__prefix (0.00s)
|
||||
--- PASS: TestGenerateID/msg__prefix (0.00s)
|
||||
--- PASS: TestGenerateID/item__prefix (0.00s)
|
||||
=== RUN TestBuildResponse
|
||||
=== RUN TestBuildResponse/minimal_response_structure
|
||||
=== RUN TestBuildResponse/response_with_tool_calls
|
||||
=== RUN TestBuildResponse/parameter_echoing_with_defaults
|
||||
=== RUN TestBuildResponse/parameter_echoing_with_custom_values
|
||||
=== RUN TestBuildResponse/usage_included_when_text_present
|
||||
=== RUN TestBuildResponse/no_usage_when_no_text
|
||||
=== RUN TestBuildResponse/instructions_prepended
|
||||
=== RUN TestBuildResponse/previous_response_id_included
|
||||
--- PASS: TestBuildResponse (0.00s)
|
||||
--- PASS: TestBuildResponse/minimal_response_structure (0.00s)
|
||||
--- PASS: TestBuildResponse/response_with_tool_calls (0.00s)
|
||||
--- PASS: TestBuildResponse/parameter_echoing_with_defaults (0.00s)
|
||||
--- PASS: TestBuildResponse/parameter_echoing_with_custom_values (0.00s)
|
||||
--- PASS: TestBuildResponse/usage_included_when_text_present (0.00s)
|
||||
--- PASS: TestBuildResponse/no_usage_when_no_text (0.00s)
|
||||
--- PASS: TestBuildResponse/instructions_prepended (0.00s)
|
||||
--- PASS: TestBuildResponse/previous_response_id_included (0.00s)
|
||||
=== RUN TestSendSSE
|
||||
--- PASS: TestSendSSE (0.00s)
|
||||
PASS
|
||||
coverage: 90.8% of statements
|
||||
ok github.com/ajac-zero/latticelm/internal/server 0.018s coverage: 90.8% of statements
|
||||
FAIL
|
||||
Reference in New Issue
Block a user