feat(hub): add label CRUD subcommands and hardening tests
- Add `muse hub label create/list/update/delete` with full input validation - Validate color as 7-char hex (#xxxxxx) before any network I/O - Validate name length (≤50) and description length (≤200) - update/delete resolve label UUID by name via GET /labels lookup - 41 new hardening tests: validation, security (ANSI/XSS), text+JSON output
sha256:6e2eca81eb3d7065fef2f3101ce2627f6de50ec41ff32a3a62db111a4e9166d5
sha
+58
~1
symbols
sha256:382a1229564ad4d407173d9e99389fddcb84133dfb1e751554a0897325bd59c0
snapshot
+58
symbols added
~1
symbol modified
0
dead code introduced
Semantic Changes
59 symbols
~
register
+
test_ansi_in_name_sanitized_in_error
method
method test_ansi_in_name_sanitized_in_error L7391–7401
+
test_description_too_long_exits_nonzero_no_network
method
method test_description_too_long_exits_nonzero_no_network L7325–7344
+
test_empty_name_exits_nonzero_no_network
method
method test_empty_name_exits_nonzero_no_network L7230–7241
+
test_invalid_color_no_hash_exits_nonzero
method
method test_invalid_color_no_hash_exits_nonzero L7286–7297
+
test_invalid_color_non_hex_exits_nonzero
method
method test_invalid_color_non_hex_exits_nonzero L7312–7323
+
test_invalid_color_wrong_length_exits_nonzero
method
method test_invalid_color_wrong_length_exits_nonzero L7299–7310
+
test_name_too_long_exits_nonzero_no_network
method
method test_name_too_long_exits_nonzero_no_network L7255–7268
+
test_ansi_in_name_sanitized_in_not_found_error
method
method test_ansi_in_name_sanitized_in_not_found_error L7661–7673
+
test_empty_name_exits_nonzero_no_network
method
method test_empty_name_exits_nonzero_no_network L7619–7626
+
test_empty_list_prints_no_labels_message
method
method test_empty_list_prints_no_labels_message L7436–7444
+
test_json_items_contain_expected_fields
method
method test_json_items_contain_expected_fields L7423–7434
+
test_text_output_contains_color_and_name
method
method test_text_output_contains_color_and_name L7446–7458
+
test_create_name_xss_attempt_sanitized
method
method test_create_name_xss_attempt_sanitized L7735–7746
+
test_update_ansi_in_new_name_sanitized_in_error
method
method test_update_ansi_in_new_name_sanitized_in_error L7761–7777
+
test_empty_current_name_exits_nonzero
method
method test_empty_current_name_exits_nonzero L7504–7514
+
test_invalid_new_color_exits_nonzero_no_network
method
method test_invalid_new_color_exits_nonzero_no_network L7516–7526
+
test_new_name_too_long_exits_nonzero_no_network
method
method test_new_name_too_long_exits_nonzero_no_network L7528–7540
+
test_no_fields_exits_nonzero_no_network
method
method test_no_fields_exits_nonzero_no_network L7487–7494
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:6e2eca81eb3d7065fef2f3101ce2627f6de50ec41ff32a3a62db111a4e9166d5 --body "your comment"
No comments yet. Be the first to start the discussion.