-
Notifications
You must be signed in to change notification settings - Fork 12
Open
Labels
bugSomething isn't workingSomething isn't working
Description
github.com/flant/shell-operator
❯ go test ./... -v
? github.com/flant/shell-operator/cmd/shell-operator [no test files]
? github.com/flant/shell-operator/pkg/app [no test files]
=== RUN TestConfig_Register
--- PASS: TestConfig_Register (0.00s)
=== RUN TestConfig_OnChange
--- PASS: TestConfig_OnChange (0.00s)
=== RUN TestConfig_Errors
--- PASS: TestConfig_Errors (0.00s)
PASS
ok github.com/flant/shell-operator/pkg/config (cached)
? github.com/flant/shell-operator/pkg/debug [no test files]
=== RUN TestRunAndLogLines
=== RUN TestRunAndLogLines/simple_log
=== RUN TestRunAndLogLines/not_json_log
=== RUN TestRunAndLogLines/long_file_must_be_truncated
=== RUN TestRunAndLogLines/long_file_non_json_must_be_truncated
=== RUN TestRunAndLogLines/invalid_json_structure
=== RUN TestRunAndLogLines/multiline
=== RUN TestRunAndLogLines/multiline_non_json
=== RUN TestRunAndLogLines/multiline_non_json_with_json_proxy_on
=== RUN TestRunAndLogLines/multiline_json
=== RUN TestRunAndLogLines/input_json_nest
--- PASS: TestRunAndLogLines (0.09s)
--- PASS: TestRunAndLogLines/simple_log (0.00s)
--- PASS: TestRunAndLogLines/not_json_log (0.00s)
--- PASS: TestRunAndLogLines/long_file_must_be_truncated (0.06s)
--- PASS: TestRunAndLogLines/long_file_non_json_must_be_truncated (0.02s)
--- PASS: TestRunAndLogLines/invalid_json_structure (0.00s)
--- PASS: TestRunAndLogLines/multiline (0.00s)
--- PASS: TestRunAndLogLines/multiline_non_json (0.00s)
--- PASS: TestRunAndLogLines/multiline_non_json_with_json_proxy_on (0.00s)
--- PASS: TestRunAndLogLines/multiline_json (0.00s)
--- PASS: TestRunAndLogLines/input_json_nest (0.00s)
PASS
ok github.com/flant/shell-operator/pkg/executor (cached)
? github.com/flant/shell-operator/pkg/filter [no test files]
=== RUN Test_ApplyFilter_SingleDocumentModification
--- PASS: Test_ApplyFilter_SingleDocumentModification (0.00s)
=== RUN Test_ApplyFilter_ExtractValuesFromDocument
--- PASS: Test_ApplyFilter_ExtractValuesFromDocument (0.00s)
=== RUN Test_ApplyFilter_MultipleJsonDocumentsInArray
--- PASS: Test_ApplyFilter_MultipleJsonDocumentsInArray (0.00s)
=== RUN Test_ApplyFilter_InvalidFilter
--- PASS: Test_ApplyFilter_InvalidFilter (0.00s)
=== RUN Test_ApplyFilter_InvalidJson
--- PASS: Test_ApplyFilter_InvalidJson (0.00s)
PASS
ok github.com/flant/shell-operator/pkg/filter/jq (cached)
=== RUN Test_HookManager_Init
{"level":"info","msg":"Initialize hooks manager. Search for and load all hooks.","time":"2025-03-29T08:52:47+03:00"}
--- PASS: Test_HookManager_Init (6.61s)
=== RUN Test_HookManager_GetHookNames
{"level":"info","msg":"Initialize hooks manager. Search for and load all hooks.","time":"2025-03-29T08:52:54+03:00"}
--- PASS: Test_HookManager_GetHookNames (0.03s)
=== RUN TestHookController_HandleValidatingEvent
{"level":"info","msg":"Initialize hooks manager. Search for and load all hooks.","time":"2025-03-29T08:52:54+03:00"}
--- PASS: TestHookController_HandleValidatingEvent (0.32s)
=== RUN Test_HookManager_conversion_chains
{"level":"info","msg":"Initialize hooks manager. Search for and load all hooks.","time":"2025-03-29T08:52:54+03:00"}
--- PASS: Test_HookManager_conversion_chains (0.35s)
=== RUN Test_HookManager_conversion_chains_full
{"level":"info","msg":"Initialize hooks manager. Search for and load all hooks.","time":"2025-03-29T08:52:55+03:00"}
--- PASS: Test_HookManager_conversion_chains_full (0.35s)
=== RUN Test_HookManager_onstartup_order
{"level":"info","msg":"Initialize hooks manager. Search for and load all hooks.","time":"2025-03-29T08:52:55+03:00"}
--- PASS: Test_HookManager_onstartup_order (0.65s)
=== RUN Test_Hook_SafeName
--- PASS: Test_Hook_SafeName (0.00s)
=== RUN Test_CreateLimiter
=== RUN Test_CreateLimiter/Nil_run_settings:_should_return_limiter_with_defaults
=== RUN Test_CreateLimiter/Empty_settings:_should_return_limiter_with_defaults
=== RUN Test_CreateLimiter/Burst_is_zero,_limit_is_non-zero:_should_return_limiter_with_zero_burst_and_converted_interval
=== RUN Test_CreateLimiter/Burst_is_non-zero,_limit_is_zero:_should_return_limiter_with_default_limiter_and_passed_burst
=== RUN Test_CreateLimiter/Burst_and_limit_are_passed:_should_run_limiter_with_passed_burst_and_converted_interval
--- PASS: Test_CreateLimiter (0.00s)
--- PASS: Test_CreateLimiter/Nil_run_settings:_should_return_limiter_with_defaults (0.00s)
--- PASS: Test_CreateLimiter/Empty_settings:_should_return_limiter_with_defaults (0.00s)
--- PASS: Test_CreateLimiter/Burst_is_zero,_limit_is_non-zero:_should_return_limiter_with_zero_burst_and_converted_interval (0.00s)
--- PASS: Test_CreateLimiter/Burst_is_non-zero,_limit_is_zero:_should_return_limiter_with_default_limiter_and_passed_burst (0.00s)
--- PASS: Test_CreateLimiter/Burst_and_limit_are_passed:_should_run_limiter_with_passed_burst_and_converted_interval (0.00s)
=== RUN Test_Hook_WithConfig
=== RUN Test_Hook_WithConfig/simple
=== RUN Test_Hook_WithConfig/with_validation_error
--- PASS: Test_Hook_WithConfig (0.00s)
--- PASS: Test_Hook_WithConfig/simple (0.00s)
--- PASS: Test_Hook_WithConfig/with_validation_error (0.00s)
PASS
ok github.com/flant/shell-operator/pkg/hook (cached)
testing: warning: no tests to run
PASS
ok github.com/flant/shell-operator/pkg/hook/binding_context (cached) [no tests to run]
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/load_unknown_version
error was: config version: 'configVersion' value '1.0.1-unknown' is unsupported
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/load_empty_version
error was: config version: 'configVersion' value '' is unsupported
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v0_onStartup_config
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v0_with_schedules_and_onKubernetesEvent
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_onStartup_config
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_onStartup_bad_value
expected error was: 1 error occurred:
* onStartup must be of type integer: "string"
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_with_schedules
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_with_onStartup_and_schedule
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_with_onStartup_and_kubernetes
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_with_snapshots_in_schedule
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_yaml_full_config
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetes_with_empty_nameSelector.matchNames
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetes_error_on_missing_kind
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetes_error_on_bad_apiVersion
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetes_error_on_metadata.name
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetes_error_on_empty_value_in_matchLabels
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_includeSnapshotsFrom_for_group
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetes_error_on_group_and_includeSnapshotsFrom
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_executeHookOnSynchronization
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_bad_executeHookOnSynchronization
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetesValidating
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetesValidating_name_error
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetesValidating_timeoutSeconds_out_of_range
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetesCustomResourceConversion
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetesCustomResourceConversion_with_name_only
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetesCustomResourceConversion_with_no_crdName
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetesCustomResourceConversion_with_invalid_conversion
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_settings
=== RUN Test_HookConfig_VersionedConfig_LoadAndValidate/v1_settings_with_error
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate (0.01s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/load_unknown_version (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/load_empty_version (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v0_onStartup_config (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v0_with_schedules_and_onKubernetesEvent (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_onStartup_config (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_onStartup_bad_value (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_with_schedules (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_with_onStartup_and_schedule (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_with_onStartup_and_kubernetes (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_with_snapshots_in_schedule (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_yaml_full_config (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetes_with_empty_nameSelector.matchNames (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetes_error_on_missing_kind (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetes_error_on_bad_apiVersion (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetes_error_on_metadata.name (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetes_error_on_empty_value_in_matchLabels (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_includeSnapshotsFrom_for_group (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetes_error_on_group_and_includeSnapshotsFrom (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_executeHookOnSynchronization (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_bad_executeHookOnSynchronization (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetesValidating (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetesValidating_name_error (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetesValidating_timeoutSeconds_out_of_range (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetesCustomResourceConversion (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetesCustomResourceConversion_with_name_only (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetesCustomResourceConversion_with_no_crdName (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_kubernetesCustomResourceConversion_with_invalid_conversion (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_settings (0.00s)
--- PASS: Test_HookConfig_VersionedConfig_LoadAndValidate/v1_settings_with_error (0.00s)
=== RUN Test_HookConfig_V1_Kubernetes_Validate
=== RUN Test_HookConfig_V1_Kubernetes_Validate/name_selector
=== RUN Test_HookConfig_V1_Kubernetes_Validate/watch_event_is_array
=== RUN Test_HookConfig_V1_Kubernetes_Validate/watch_event_is_empty_array
=== RUN Test_HookConfig_V1_Kubernetes_Validate/executeHookOnEvent_is_array
=== RUN Test_HookConfig_V1_Kubernetes_Validate/executeHookOnEvent_is_array_in_YAML
=== RUN Test_HookConfig_V1_Kubernetes_Validate/executeHookOnEvent_is_empty_array
=== RUN Test_HookConfig_V1_Kubernetes_Validate/no_watch_event_or_executeHookOnEvent
=== RUN Test_HookConfig_V1_Kubernetes_Validate/bad_watch_event
=== RUN Test_HookConfig_V1_Kubernetes_Validate/nameSelector_error
=== RUN Test_HookConfig_V1_Kubernetes_Validate/many_errors_at_once
--- PASS: Test_HookConfig_V1_Kubernetes_Validate (0.00s)
--- PASS: Test_HookConfig_V1_Kubernetes_Validate/name_selector (0.00s)
--- PASS: Test_HookConfig_V1_Kubernetes_Validate/watch_event_is_array (0.00s)
--- PASS: Test_HookConfig_V1_Kubernetes_Validate/watch_event_is_empty_array (0.00s)
--- PASS: Test_HookConfig_V1_Kubernetes_Validate/executeHookOnEvent_is_array (0.00s)
--- PASS: Test_HookConfig_V1_Kubernetes_Validate/executeHookOnEvent_is_array_in_YAML (0.00s)
--- PASS: Test_HookConfig_V1_Kubernetes_Validate/executeHookOnEvent_is_empty_array (0.00s)
--- PASS: Test_HookConfig_V1_Kubernetes_Validate/no_watch_event_or_executeHookOnEvent (0.00s)
--- PASS: Test_HookConfig_V1_Kubernetes_Validate/bad_watch_event (0.00s)
--- PASS: Test_HookConfig_V1_Kubernetes_Validate/nameSelector_error (0.00s)
--- PASS: Test_HookConfig_V1_Kubernetes_Validate/many_errors_at_once (0.00s)
=== RUN Test_MergeArrays
=== RUN Test_MergeArrays/simple
=== RUN Test_MergeArrays/empty
=== RUN Test_MergeArrays/no_intersect
--- PASS: Test_MergeArrays (0.00s)
--- PASS: Test_MergeArrays/simple (0.00s)
--- PASS: Test_MergeArrays/empty (0.00s)
--- PASS: Test_MergeArrays/no_intersect (0.00s)
=== RUN Test_GetSchema
--- PASS: Test_GetSchema (0.00s)
=== RUN Test_LoadSchema_From_Schemas
--- PASS: Test_LoadSchema_From_Schemas (0.00s)
=== RUN Test_Validate_V1_With_Error
=== RUN Test_Validate_V1_With_Error/v1_config_with_error
=== RUN Test_Validate_V1_With_Error/v1_full_config
=== RUN Test_Validate_V1_With_Error/v0_full_config
--- PASS: Test_Validate_V1_With_Error (0.00s)
--- PASS: Test_Validate_V1_With_Error/v1_config_with_error (0.00s)
--- PASS: Test_Validate_V1_With_Error/v1_full_config (0.00s)
--- PASS: Test_Validate_V1_With_Error/v0_full_config (0.00s)
=== RUN Test_Validate_V1_KubernetesValidating
=== RUN Test_Validate_V1_KubernetesValidating/kubernetesValidating
validator_test.go:197: version: v1
--- PASS: Test_Validate_V1_KubernetesValidating (0.00s)
--- PASS: Test_Validate_V1_KubernetesValidating/kubernetesValidating (0.00s)
=== RUN Test_VersionedUntyped_Load
=== RUN Test_VersionedUntyped_Load/load_valid_json_object_with_version
=== RUN Test_VersionedUntyped_Load/load_valid_yaml_with_version
=== RUN Test_VersionedUntyped_Load/load_valid_json_without_version
=== RUN Test_VersionedUntyped_Load/load_valid_yaml_without_version
=== RUN Test_VersionedUntyped_Load/load_shell-operator_hook_json_configuration
=== RUN Test_VersionedUntyped_Load/load_shell-operator_hook_yaml_configuration
=== RUN Test_VersionedUntyped_Load/#00
--- PASS: Test_VersionedUntyped_Load (0.00s)
--- PASS: Test_VersionedUntyped_Load/load_valid_json_object_with_version (0.00s)
--- PASS: Test_VersionedUntyped_Load/load_valid_yaml_with_version (0.00s)
--- PASS: Test_VersionedUntyped_Load/load_valid_json_without_version (0.00s)
--- PASS: Test_VersionedUntyped_Load/load_valid_yaml_without_version (0.00s)
--- PASS: Test_VersionedUntyped_Load/load_shell-operator_hook_json_configuration (0.00s)
--- PASS: Test_VersionedUntyped_Load/load_shell-operator_hook_yaml_configuration (0.00s)
--- PASS: Test_VersionedUntyped_Load/#00 (0.00s)
PASS
ok github.com/flant/shell-operator/pkg/hook/config (cached)
=== RUN Test_UpdateSnapshots
--- PASS: Test_UpdateSnapshots (0.00s)
PASS
ok github.com/flant/shell-operator/pkg/hook/controller (cached)
=== RUN Test_HookMetadata_Access
--- PASS: Test_HookMetadata_Access (0.00s)
=== RUN Test_HookMetadata_QueueDump_Task_Description
--- PASS: Test_HookMetadata_QueueDump_Task_Description (0.00s)
PASS
ok github.com/flant/shell-operator/pkg/hook/task_metadata (cached)
? github.com/flant/shell-operator/pkg/hook/types [no test files]
=== RUN Test_ParseOperations
=== RUN Test_ParseOperations/valid_create
=== RUN Test_ParseOperations/invalid_create
=== RUN Test_ParseOperations/valid_delete
=== RUN Test_ParseOperations/invalid_delete
=== RUN Test_ParseOperations/valid_patch
=== RUN Test_ParseOperations/invalid_patch
--- PASS: Test_ParseOperations (0.00s)
--- PASS: Test_ParseOperations/valid_create (0.00s)
--- PASS: Test_ParseOperations/invalid_create (0.00s)
--- PASS: Test_ParseOperations/valid_delete (0.00s)
--- PASS: Test_ParseOperations/invalid_delete (0.00s)
--- PASS: Test_ParseOperations/valid_patch (0.00s)
--- PASS: Test_ParseOperations/invalid_patch (0.00s)
=== RUN Test_PatchOperations
=== RUN Test_PatchOperations/merge_patch
merge patch
=== RUN Test_PatchOperations/merge_patch_a_missing_object
merge patch a missing object
=== RUN Test_PatchOperations/merge_patch_with_ignoreMissingObject
merge patch with ignoreMissingObject
=== RUN Test_PatchOperations/merge_patch_using_map
merge patch using map
=== RUN Test_PatchOperations/merge_patch_via_YAML_spec
merge patch via YAML spec
=== RUN Test_PatchOperations/merge_patch_a_missing_object_via_YAML_spec
merge patch a missing object via YAML spec
=== RUN Test_PatchOperations/merge_patch_with_ignoreMissingObject_via_YAML_spec
merge patch with ignoreMissingObject via YAML spec
=== RUN Test_PatchOperations/merge_patch_via_string_in_YAML_spec
merge patch via string in YAML spec
=== RUN Test_PatchOperations/merge_patch_via_stringified_JSON_in_YAML_spec
merge patch via stringified JSON in YAML spec
=== RUN Test_PatchOperations/json_patch
json patch
=== RUN Test_PatchOperations/json_patch_a_missing_object
json patch a missing object
=== RUN Test_PatchOperations/json_patch_with_ignoreMissingObject
json patch with ignoreMissingObject
=== RUN Test_PatchOperations/json_patch_via_YAML_spec
json patch via YAML spec
=== RUN Test_PatchOperations/json_patch_a_missing_object_via_YAML_spec
json patch a missing object via YAML spec
=== RUN Test_PatchOperations/json_patch_with_ignoreMissingObject_via_YAML_spec
json patch with ignoreMissingObject via YAML spec
=== RUN Test_PatchOperations/json_patch_via_stringified_JSON_in_YAML_spec
json patch via stringified JSON in YAML spec
=== RUN Test_PatchOperations/filter_patch
filter patch
=== RUN Test_PatchOperations/filter_patch_missing_object
filter patch missing object
=== RUN Test_PatchOperations/filter_patch_with_ignoreMissingObject
filter patch with ignoreMissingObject
=== RUN Test_PatchOperations/JQ_patch_via_YAML_spec
JQ patch via YAML spec
=== RUN Test_PatchOperations/JQ_patch_missing_object_via_YAML_spec
JQ patch missing object via YAML spec
=== RUN Test_PatchOperations/JQ_patch_with_ignoreMissingObject_via_YAML_spec
JQ patch with ignoreMissingObject via YAML spec
=== RUN Test_PatchOperations/update_existing_object
update existing object
=== RUN Test_PatchOperations/update_existing_object_via_YAML_spec
update existing object via YAML spec
--- PASS: Test_PatchOperations (0.01s)
--- PASS: Test_PatchOperations/merge_patch (0.00s)
--- PASS: Test_PatchOperations/merge_patch_a_missing_object (0.00s)
--- PASS: Test_PatchOperations/merge_patch_with_ignoreMissingObject (0.00s)
--- PASS: Test_PatchOperations/merge_patch_using_map (0.00s)
--- PASS: Test_PatchOperations/merge_patch_via_YAML_spec (0.00s)
--- PASS: Test_PatchOperations/merge_patch_a_missing_object_via_YAML_spec (0.00s)
--- PASS: Test_PatchOperations/merge_patch_with_ignoreMissingObject_via_YAML_spec (0.00s)
--- PASS: Test_PatchOperations/merge_patch_via_string_in_YAML_spec (0.00s)
--- PASS: Test_PatchOperations/merge_patch_via_stringified_JSON_in_YAML_spec (0.00s)
--- PASS: Test_PatchOperations/json_patch (0.00s)
--- PASS: Test_PatchOperations/json_patch_a_missing_object (0.00s)
--- PASS: Test_PatchOperations/json_patch_with_ignoreMissingObject (0.00s)
--- PASS: Test_PatchOperations/json_patch_via_YAML_spec (0.00s)
--- PASS: Test_PatchOperations/json_patch_a_missing_object_via_YAML_spec (0.00s)
--- PASS: Test_PatchOperations/json_patch_with_ignoreMissingObject_via_YAML_spec (0.00s)
--- PASS: Test_PatchOperations/json_patch_via_stringified_JSON_in_YAML_spec (0.00s)
--- PASS: Test_PatchOperations/filter_patch (0.00s)
--- PASS: Test_PatchOperations/filter_patch_missing_object (0.00s)
--- PASS: Test_PatchOperations/filter_patch_with_ignoreMissingObject (0.00s)
--- PASS: Test_PatchOperations/JQ_patch_via_YAML_spec (0.00s)
--- PASS: Test_PatchOperations/JQ_patch_missing_object_via_YAML_spec (0.00s)
--- PASS: Test_PatchOperations/JQ_patch_with_ignoreMissingObject_via_YAML_spec (0.00s)
--- PASS: Test_PatchOperations/update_existing_object (0.00s)
--- PASS: Test_PatchOperations/update_existing_object_via_YAML_spec (0.00s)
=== RUN Test_CreateOperations
=== RUN Test_CreateOperations/create_new_object
=== RUN Test_CreateOperations/create_new_object_ignore_existing_object
=== RUN Test_CreateOperations/create_existing_object
=== RUN Test_CreateOperations/create_ignore_existing_object
=== RUN Test_CreateOperations/create_new_object_via_YAML_spec
=== RUN Test_CreateOperations/create_existing_object_via_YAML_spec
=== RUN Test_CreateOperations/create_ignore_existing_object_via_YAML_spec
=== RUN Test_CreateOperations/create_or_update_new_object_via_YAML_spec
=== RUN Test_CreateOperations/create_new_object_via_string_in_YAML_spec
=== RUN Test_CreateOperations/create_new_object_via_stringified_JSON_in_YAML_spec
=== RUN Test_CreateOperations/create_new_object_via_stringified_JSON_in_JSON_spec
--- PASS: Test_CreateOperations (0.00s)
--- PASS: Test_CreateOperations/create_new_object (0.00s)
--- PASS: Test_CreateOperations/create_new_object_ignore_existing_object (0.00s)
--- PASS: Test_CreateOperations/create_existing_object (0.00s)
--- PASS: Test_CreateOperations/create_ignore_existing_object (0.00s)
--- PASS: Test_CreateOperations/create_new_object_via_YAML_spec (0.00s)
--- PASS: Test_CreateOperations/create_existing_object_via_YAML_spec (0.00s)
--- PASS: Test_CreateOperations/create_ignore_existing_object_via_YAML_spec (0.00s)
--- PASS: Test_CreateOperations/create_or_update_new_object_via_YAML_spec (0.00s)
--- PASS: Test_CreateOperations/create_new_object_via_string_in_YAML_spec (0.00s)
--- PASS: Test_CreateOperations/create_new_object_via_stringified_JSON_in_YAML_spec (0.00s)
--- PASS: Test_CreateOperations/create_new_object_via_stringified_JSON_in_JSON_spec (0.00s)
=== RUN Test_DeleteOperations
=== RUN Test_DeleteOperations/delete_existing_object
=== RUN Test_DeleteOperations/delete_missing_object
=== RUN Test_DeleteOperations/delete_existing_object_via_YAML_spec
=== RUN Test_DeleteOperations/delete_missing_object_via_YAML_spec
--- PASS: Test_DeleteOperations (2.00s)
--- PASS: Test_DeleteOperations/delete_existing_object (1.00s)
--- PASS: Test_DeleteOperations/delete_missing_object (0.00s)
--- PASS: Test_DeleteOperations/delete_existing_object_via_YAML_spec (1.00s)
--- PASS: Test_DeleteOperations/delete_missing_object_via_YAML_spec (0.00s)
=== RUN Test_GetSchema
--- PASS: Test_GetSchema (0.00s)
=== RUN Test_LoadSchema_From_Schemas
--- PASS: Test_LoadSchema_From_Schemas (0.00s)
PASS
ok github.com/flant/shell-operator/pkg/kube/object_patch (cached)
=== RUN TestApplyFilter
=== RUN TestApplyFilter/filter_func_with_error
--- PASS: TestApplyFilter (0.00s)
--- PASS: TestApplyFilter/filter_func_with_error (0.00s)
=== RUN Test_MainKubeEventsManager_Run
--- PASS: Test_MainKubeEventsManager_Run (0.00s)
=== RUN Test_MainKubeEventsManager_HandleEvents
--- SKIP: Test_MainKubeEventsManager_HandleEvents (0.00s)
=== RUN Test_FakeClient_CatchUpdates
--- SKIP: Test_FakeClient_CatchUpdates (0.00s)
=== RUN Test_Monitor_should_handle_dynamic_ns_events
--- PASS: Test_Monitor_should_handle_dynamic_ns_events (0.32s)
=== RUN Test_RandomizedResyncPeriod
--- SKIP: Test_RandomizedResyncPeriod (0.00s)
PASS
ok github.com/flant/shell-operator/pkg/kube_events_manager (cached)
=== RUN Test_ObjectAndFilterResult_ToJson
--- PASS: Test_ObjectAndFilterResult_ToJson (0.00s)
=== RUN Test_ObjectAndFilterResult_ToJson_EmptyFilterResult
--- PASS: Test_ObjectAndFilterResult_ToJson_EmptyFilterResult (0.00s)
=== RUN Test_ObjectAndFilterResult_ToJson_NullFilterResult
--- PASS: Test_ObjectAndFilterResult_ToJson_NullFilterResult (0.00s)
=== RUN Test_ObjectAndFilterResult_ToJson_Empty_JQFilter_Has_FilterResult
--- PASS: Test_ObjectAndFilterResult_ToJson_Empty_JQFilter_Has_FilterResult (0.00s)
=== RUN Test_Sort_ByNamespaceAndName
--- PASS: Test_Sort_ByNamespaceAndName (0.00s)
PASS
ok github.com/flant/shell-operator/pkg/kube_events_manager/types (cached)
testing: warning: no tests to run
PASS
ok github.com/flant/shell-operator/pkg/metric (cached) [no tests to run]
? github.com/flant/shell-operator/pkg/metric_storage [no test files]
=== RUN Test_ValidateMetricOperations
=== RUN Test_ValidateMetricOperations/simple
=== RUN Test_ValidateMetricOperations/action_set
=== RUN Test_ValidateMetricOperations/set_shortcut
=== RUN Test_ValidateMetricOperations/invalid
--- PASS: Test_ValidateMetricOperations (0.00s)
--- PASS: Test_ValidateMetricOperations/simple (0.00s)
--- PASS: Test_ValidateMetricOperations/action_set (0.00s)
--- PASS: Test_ValidateMetricOperations/set_shortcut (0.00s)
--- PASS: Test_ValidateMetricOperations/invalid (0.00s)
PASS
ok github.com/flant/shell-operator/pkg/metric_storage/operation (cached)
=== RUN Test_CounterAdd
--- PASS: Test_CounterAdd (0.00s)
PASS
ok github.com/flant/shell-operator/pkg/metric_storage/vault (cached)
=== RUN Test_ScheduleManager_Add
=== RUN Test_ScheduleManager_Add/crontab
=== RUN Test_ScheduleManager_Add/incorrect_crontab_format_(value)
2025/03/29 08:52:50 End of range (22) above maximum (12): 22
=== RUN Test_ScheduleManager_Add/incorrect_crontab_format_(fields)
2025/03/29 08:52:50 Expected 5 or 6 fields, found 1: incorrect
--- PASS: Test_ScheduleManager_Add (0.00s)
--- PASS: Test_ScheduleManager_Add/crontab (0.00s)
--- PASS: Test_ScheduleManager_Add/incorrect_crontab_format_(value) (0.00s)
--- PASS: Test_ScheduleManager_Add/incorrect_crontab_format_(fields) (0.00s)
PASS
ok github.com/flant/shell-operator/pkg/schedule_manager (cached)
? github.com/flant/shell-operator/pkg/schedule_manager/types [no test files]
=== RUN Test_CombineBindingContext_MultipleHooks
--- PASS: Test_CombineBindingContext_MultipleHooks (0.00s)
=== RUN Test_CombineBindingContext_Nil_On_NoCombine
--- PASS: Test_CombineBindingContext_Nil_On_NoCombine (0.00s)
=== RUN Test_CombineBindingContext_Group_Compaction
--- PASS: Test_CombineBindingContext_Group_Compaction (0.00s)
=== RUN Test_CombineBindingContext_Group_Type
--- PASS: Test_CombineBindingContext_Group_Type (0.00s)
=== RUN Test_Operator_startup_tasks
{"level":"info","msg":"Initialize hooks manager. Search for and load all hooks.","time":"2025-03-29T08:52:50+03:00"}
--- PASS: Test_Operator_startup_tasks (3.75s)
PASS
ok github.com/flant/shell-operator/pkg/shell-operator (cached)
? github.com/flant/shell-operator/pkg/task [no test files]
=== RUN Test_Sort_ByNamespaceAndName
--- PASS: Test_Sort_ByNamespaceAndName (0.00s)
=== RUN Test_Dump
=== RUN Test_Dump/empty_set
=== RUN Test_Dump/single_main_queue
dump_test.go:114: Summary:
- 'main' queue: empty.
- no tasks to handle.
dump_test.go:119: {"active":[],"summary":{"mainQueueTasks":0,"otherQueues":{"active":0,"empty":0,"tasks":0},"totalTasks":0}}
=== RUN Test_Dump/main_queue_as_active
=== RUN Test_Dump/fill_active_queue
=== RUN Test_Dump/create_empty_queue
dump_test.go:148: Queue 'main': length 5, status: ''
1. :::test_task_main_0004
2. :::test_task_main_0003
3. :::test_task_main_0002
4. :::test_task_main_0001
5. :::test_task_main_0000
Queue 'active-queue': length 4, status: ''
1. :::test_task_active-queue_0003
2. :::test_task_active-queue_0002
3. :::test_task_active-queue_0001
4. :::test_task_active-queue_0000
Empty queues (1):
- empty
Summary:
- 'main' queue: 5 tasks.
- 2 other queues (1 active, 1 empty): 4 tasks.
- total 9 tasks to handle.
=== RUN Test_Dump/omit_empty_queue
--- PASS: Test_Dump (0.00s)
--- PASS: Test_Dump/empty_set (0.00s)
--- PASS: Test_Dump/single_main_queue (0.00s)
--- PASS: Test_Dump/main_queue_as_active (0.00s)
--- PASS: Test_Dump/fill_active_queue (0.00s)
--- PASS: Test_Dump/create_empty_queue (0.00s)
--- PASS: Test_Dump/omit_empty_queue (0.00s)
PASS
ok github.com/flant/shell-operator/pkg/task/dump (cached)
=== RUN Test_TasksQueue_Remove
--- PASS: Test_TasksQueue_Remove (0.00s)
=== RUN Test_ExponentialBackoff
--- PASS: Test_ExponentialBackoff (0.31s)
=== RUN Test_CancelDelay
--- PASS: Test_CancelDelay (0.19s)
PASS
ok github.com/flant/shell-operator/pkg/task/queue (cached)
=== RUN TestChecksum
val1 chksum: bf1483c97ec062780aada11fe98a311f
val2 chksum: bf1483c97ec062780aada11fe98a311f
--- PASS: TestChecksum (0.00s)
PASS
ok github.com/flant/shell-operator/pkg/utils/checksum (cached)
=== RUN Test_Delay
--- PASS: Test_Delay (0.00s)
PASS
ok github.com/flant/shell-operator/pkg/utils/exponential_backoff (cached)
=== RUN TestRecursiveGetExecutablePaths
=== RUN TestRecursiveGetExecutablePaths/get_executable_files
--- PASS: TestRecursiveGetExecutablePaths (0.00s)
--- PASS: TestRecursiveGetExecutablePaths/get_executable_files (0.00s)
=== RUN TestRecursiveCheckLibDirectory
=== RUN TestRecursiveCheckLibDirectory/check_lib_directory
--- PASS: TestRecursiveCheckLibDirectory (0.00s)
--- PASS: TestRecursiveCheckLibDirectory/check_lib_directory (0.00s)
PASS
ok github.com/flant/shell-operator/pkg/utils/file (cached)
? github.com/flant/shell-operator/pkg/utils/labels [no test files]
? github.com/flant/shell-operator/pkg/utils/measure [no test files]
? github.com/flant/shell-operator/pkg/utils/signal [no test files]
=== RUN Test_TrimGroup
--- PASS: Test_TrimGroup (0.00s)
=== RUN Test_SafeURLString
=== RUN Test_SafeURLString/importantHook
=== RUN Test_SafeURLString/hooks/nextHook
=== RUN Test_SafeURLString/weird_spaced_Name
=== RUN Test_SafeURLString/weird---dashed---Name
=== RUN Test_SafeURLString/utf8_странное_имя_для_binding
--- PASS: Test_SafeURLString (0.00s)
--- PASS: Test_SafeURLString/importantHook (0.00s)
--- PASS: Test_SafeURLString/hooks/nextHook (0.00s)
--- PASS: Test_SafeURLString/weird_spaced_Name (0.00s)
--- PASS: Test_SafeURLString/weird---dashed---Name (0.00s)
--- PASS: Test_SafeURLString/utf8_странное_имя_для_binding (0.00s)
PASS
ok github.com/flant/shell-operator/pkg/utils/string_helper (cached)
? github.com/flant/shell-operator/pkg/utils/structured-logger [no test files]
=== RUN Test_DetectConfigurationAndWebhook
=== RUN Test_DetectConfigurationAndWebhook/simple
=== RUN Test_DetectConfigurationAndWebhook/composite_webhookId
=== RUN Test_DetectConfigurationAndWebhook/no_webhookId
=== RUN Test_DetectConfigurationAndWebhook/no_configurationId
=== RUN Test_DetectConfigurationAndWebhook/empty_1
=== RUN Test_DetectConfigurationAndWebhook/empty_2
--- PASS: Test_DetectConfigurationAndWebhook (0.00s)
--- PASS: Test_DetectConfigurationAndWebhook/simple (0.00s)
--- PASS: Test_DetectConfigurationAndWebhook/composite_webhookId (0.00s)
--- PASS: Test_DetectConfigurationAndWebhook/no_webhookId (0.00s)
--- PASS: Test_DetectConfigurationAndWebhook/no_configurationId (0.00s)
--- PASS: Test_DetectConfigurationAndWebhook/empty_1 (0.00s)
--- PASS: Test_DetectConfigurationAndWebhook/empty_2 (0.00s)
=== RUN Test_Manager_AddWebhook
{"level":"info","msg":"Initialize admission webhooks manager. Load certificates.","time":"2025-03-29T08:52:52+03:00"}
--- PASS: Test_Manager_AddWebhook (0.00s)
=== RUN Test_AdmissionResponseFromFile_Allowed
--- PASS: Test_AdmissionResponseFromFile_Allowed (0.00s)
=== RUN Test_AdmissionResponseFromFile_AllowedWithWarnings
--- PASS: Test_AdmissionResponseFromFile_AllowedWithWarnings (0.00s)
=== RUN Test_AdmissionResponseFromFile_NotAllowed_WithMessage
--- PASS: Test_AdmissionResponseFromFile_NotAllowed_WithMessage (0.00s)
=== RUN Test_AdmissionResponseFromFile_NotAllowed_WithoutMessage
--- PASS: Test_AdmissionResponseFromFile_NotAllowed_WithoutMessage (0.00s)
PASS
ok github.com/flant/shell-operator/pkg/webhook/admission (cached)
=== RUN Test_VersionsMatched
--- PASS: Test_VersionsMatched (0.00s)
PASS
ok github.com/flant/shell-operator/pkg/webhook/conversion (cached)
=== RUN Test_ServerStart
--- PASS: Test_ServerStart (0.00s)
=== RUN Test_Client_CA
--- PASS: Test_Client_CA (0.00s)
PASS
ok github.com/flant/shell-operator/pkg/webhook/server (cached)
=== RUN Test_Validate
--- PASS: Test_Validate (0.00s)
PASS
ok github.com/flant/shell-operator/pkg/webhook/validating/validation (cached)
=== RUN Test_BindingContextGenerator
--- PASS: Test_BindingContextGenerator (0.37s)
=== RUN Test_RegisterCRD
--- PASS: Test_RegisterCRD (0.16s)
=== RUN Test_PreferredGVR
--- PASS: Test_PreferredGVR (0.06s)
=== RUN Test_Synchronization
--- PASS: Test_Synchronization (0.06s)
=== RUN Test_Groups
--- PASS: Test_Groups (0.06s)
=== RUN Test_ExecuteOnSynchronization_false
--- PASS: Test_ExecuteOnSynchronization_false (0.06s)
=== RUN Test_RunSchedule
--- PASS: Test_RunSchedule (0.37s)
PASS
ok github.com/flant/shell-operator/test/hook/context (cached)
? github.com/flant/shell-operator/test/utils [no test files]
❯ go test ./... -v | gotestfmt
📦 github.com/flant/shell-operator/cmd/shell-operator
🛑 no test files
📦 github.com/flant/shell-operator/pkg/app
🛑 no test files
📦 github.com/flant/shell-operator/pkg/config
📦 github.com/flant/shell-operator/pkg/debug
🛑 no test files
📦 github.com/flant/shell-operator/pkg/executor
📦 github.com/flant/shell-operator/pkg/filter
🛑 no test files
📦 github.com/flant/shell-operator/pkg/filter/jq
panic: unexpected output encountered: testing: warning: no tests to run (Did you use -json on go test?)
goroutine 7 [running]:
github.com/gotesttools/gotestfmt/v2/parser.parse(0x140000201c0, 0x14000020230, 0x140000202a0, 0x14000020310, 0x14000020380)
/Users/devsyukov/go/pkg/mod/github.com/gotesttools/gotestfmt/[email protected]/parser/parse.go:166 +0xcd8
created by github.com/gotesttools/gotestfmt/v2/parser.Parse in goroutine 1
/Users/devsyukov/go/pkg/mod/github.com/gotesttools/gotestfmt/[email protected]/parser/parse.go:26 +0xec
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working