diff --git a/CLAUDE.md b/CLAUDE.md index 146db27..afd28b7 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -155,6 +155,18 @@ Commits should be prefixed with: Only commits with these prefixes appear in the auto-generated `HISTORY.md`. +### HISTORY.md Merge Conflicts +The `HISTORY.md` file is auto-generated when `staging` is merged to `main`. This means: +- `main` always has the latest HISTORY.md +- `staging` lags behind until the next release +- Feature branches created from `main` have the updated history + +When merging feature branches to `staging`, conflicts in HISTORY.md are expected. Resolve by accepting the incoming version: +```bash +git checkout --theirs HISTORY.md +git add HISTORY.md +``` + ### GitHub Actions - **`publish.yml`**: Triggered on push to `main`, handles versioning and multi-platform publishing - **`test-pr.yml`**: Runs tests on pull requests diff --git a/HISTORY.md b/HISTORY.md index 238d819..d6bce84 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -6,6 +6,18 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [1.7.0](https://github.com/cortexapps/cli/releases/tag/1.7.0) - 2025-11-19 + +[Compare with 1.6.0](https://github.com/cortexapps/cli/compare/1.6.0...1.7.0) + +## [1.6.0](https://github.com/cortexapps/cli/releases/tag/1.6.0) - 2025-11-14 + +[Compare with 1.5.0](https://github.com/cortexapps/cli/compare/1.5.0...1.6.0) + +### Bug Fixes + +- remove rate limiter initialization log message (#169) #patch ([015107a](https://github.com/cortexapps/cli/commit/015107aca15d5a4cf4eb746834bcbb7dac607e1d) by Jeff Schnitter). + ## [1.5.0](https://github.com/cortexapps/cli/releases/tag/1.5.0) - 2025-11-13 [Compare with 1.4.0](https://github.com/cortexapps/cli/compare/1.4.0...1.5.0) diff --git a/data/import/entity-types/cli-test.json b/data/import/entity-types/cli-test.json index 132a29e..0628c4c 100644 --- a/data/import/entity-types/cli-test.json +++ b/data/import/entity-types/cli-test.json @@ -1,5 +1,6 @@ { "description": "This is a test entity type definition.", + "iconTag": "Cortex-builtin::Basketball", "name": "CLI Test With Empty Schema", "schema": {}, "type": "cli-test" diff --git a/data/run-time/entity-type-invalid-icon.json b/data/run-time/entity-type-invalid-icon.json new file mode 100644 index 0000000..7d37ddf --- /dev/null +++ b/data/run-time/entity-type-invalid-icon.json @@ -0,0 +1,7 @@ +{ + "description": "This is a test entity type definition with invalid icon.", + "iconTag": "invalidIcon", + "name": "CLI Test With Invalid Icon", + "schema": {}, + "type": "cli-test-invalid-icon" +} diff --git a/tests/test_entity_types.py b/tests/test_entity_types.py index 8b2d65b..c5b59fd 100644 --- a/tests/test_entity_types.py +++ b/tests/test_entity_types.py @@ -12,6 +12,18 @@ def test_resource_definitions(capsys): response = cli(["entity-types", "list"]) assert any(definition['type'] == 'cli-test' for definition in response['definitions']), "Should find entity type named 'cli-test'" - cli(["entity-types", "get", "-t", "cli-test"]) + # Verify iconTag was set correctly + response = cli(["entity-types", "get", "-t", "cli-test"]) + assert response.get('iconTag') == "Cortex-builtin::Basketball", "iconTag should be set to Cortex-builtin::Basketball" cli(["entity-types", "update", "-t", "cli-test", "-f", "data/run-time/entity-type-update.json"]) + + +def test_resource_definitions_invalid_icon(): + # API does not reject invalid iconTag values - it uses a default icon instead + # This test verifies that behavior and will catch if the API changes to reject invalid icons + response = cli(["entity-types", "create", "-f", "data/run-time/entity-type-invalid-icon.json"], return_type=ReturnType.RAW) + assert response.exit_code == 0, "Creation should succeed even with invalid iconTag (API uses default icon)" + + # Clean up the test entity type + cli(["entity-types", "delete", "-t", "cli-test-invalid-icon"])