Commit 5314fd8
authored
feat(policies): add Policy CRUD methods for Unified Policy Architecture (#9)
* feat(policies): add Policy CRUD methods for Unified Policy Architecture
Add comprehensive policy management methods to the Java SDK as part of
the Unified Policy Architecture v2.0.0 (Phase 10 - SDKs).
Static Policies:
- listStaticPolicies() with filtering options
- getStaticPolicy(), createStaticPolicy(), updateStaticPolicy()
- deleteStaticPolicy(), toggleStaticPolicy()
- getEffectiveStaticPolicies(), testPattern(), getStaticPolicyVersions()
Policy Overrides (Enterprise):
- createPolicyOverride(), getPolicyOverride(), deletePolicyOverride()
Dynamic Policies:
- listDynamicPolicies() with filtering options
- getDynamicPolicy(), createDynamicPolicy(), updateDynamicPolicy()
- deleteDynamicPolicy(), toggleDynamicPolicy()
- getEffectiveDynamicPolicies()
New types in PolicyTypes.java:
- PolicyCategory, PolicyTier, PolicyAction, OverrideAction enums
- StaticPolicy, DynamicPolicy, PolicyOverride models
- CreateStaticPolicyRequest, UpdateStaticPolicyRequest builders
- CreateDynamicPolicyRequest, UpdateDynamicPolicyRequest builders
- ListStaticPoliciesOptions, ListDynamicPoliciesOptions
- TestPatternResult, PolicyVersion
Tests: 38 tests covering all methods and type validation
Part of: Epic #724 - Unified Policy Architecture v2.0.0
* fix: correct API endpoints and remove non-existent getPolicyOverride
- Remove getPolicyOverride() method (no GET endpoint in backend)
- Change /api/v1/dynamic-policies to /api/v1/policies for all dynamic policy methods
- Update tests to reflect API changes
* fix: code review fixes for policy CRUD
- Fix testPattern endpoint from /test-pattern to /test
- Add sortBy, sortOrder, search fields to ListDynamicPoliciesOptions
- Update buildDynamicPolicyQueryString to use new fields
* fix(policies): fix severity type, response parsing, and X-Tenant-ID header
- Add PolicySeverity enum (critical/high/medium/low)
- Change severity from int to PolicySeverity in StaticPolicy, CreateStaticPolicyRequest, UpdateStaticPolicyRequest
- Add tier field to CreateStaticPolicyRequest with default TENANT
- Fix TestPatternResult to use 'matches' instead of 'results'
- Add pattern and inputs fields to TestPatternResult
- Fix testPattern to send 'inputs' instead of 'test_inputs'
- Add X-Tenant-ID header for policy APIs using clientId
- Add StaticPoliciesResponse and EffectivePoliciesResponse wrappers
- Fix listStaticPolicies to parse {policies: []} wrapper response
- Fix getEffectiveStaticPolicies to parse {static: [], dynamic: []} wrapper
* fix(tests): change getResults() to getMatches() in TestPatternResult
* fix(tests): use PolicySeverity enum instead of integers
- Update SAMPLE_STATIC_POLICY to use 'critical' string
- Use PolicySeverity.CRITICAL/HIGH in request builders
- Fix UpdateStaticPolicyRequest assertions
* fix(tests): fix mock response formats and severity type
- Use wrapped response format for list and effective APIs
- Change 'results' to 'matches' in testPattern mock
- Use PolicySeverity.MEDIUM for default severity assertion1 parent 174c8b2 commit 5314fd8
3 files changed
Lines changed: 2150 additions & 0 deletions
File tree
- src
- main/java/com/getaxonflow/sdk
- types/policies
- test/java/com/getaxonflow/sdk
0 commit comments