gotestfmt icon indicating copy to clipboard operation
gotestfmt copied to clipboard

panic

Open juev opened this issue 10 months ago • 4 comments

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

juev avatar Mar 29 '25 06:03 juev