Add integration tests for platform gateway feature and outdated OpenAPI Spec Updates#14173
Add integration tests for platform gateway feature and outdated OpenAPI Spec Updates#14173YasasRangika wants to merge 9 commits intowso2:masterfrom
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
📝 WalkthroughThis pull request adds integration tests for the platform gateway feature and updates the OpenAPI-generated Admin API client and build to improve JSON handling, DTO mappings, and ensure customizations persist after code generation. Changes
Impact
WalkthroughThis PR updates the OpenAPI-generated admin API client: (1) replaces the SHA-256 checksum for the admin OpenAPI YAML, (2) adds a custom 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (5)
all-in-one-apim/modules/integration/tests-common/clients/admin/openapi-overrides/api/dto/EnvironmentDTO.java (1)
98-105: Minor inconsistency withStatusEnum.fromValuenull/case handling.
ModeEnum.fromValuedoes not guard againstnull(unlikeStatusEnum.fromValueat lines 169-179) and uses exact-casename().equals(value). This works today because the spec values (READ_ONLY,READ_WRITE,WRITE_ONLY) coincide with the enum constant names, but keeping both enums consistent would reduce risk if the spec later introduces mixed-case mode values.Suggested alignment
public static ModeEnum fromValue(String value) { + if (value == null) { + return null; + } for (ModeEnum b : ModeEnum.values()) { - if (b.name().equals(value)) { - return b; - } -} + if (b.name().equalsIgnoreCase(value) || b.getValue().equalsIgnoreCase(value)) { + return b; + } + } throw new IllegalArgumentException("Unexpected value '" + value + "'"); }🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@all-in-one-apim/modules/integration/tests-common/clients/admin/openapi-overrides/api/dto/EnvironmentDTO.java` around lines 98 - 105, ModeEnum.fromValue currently does no null-check and uses exact-case comparison unlike StatusEnum.fromValue; update ModeEnum.fromValue to mirror StatusEnum.fromValue by first guarding against a null input and then performing a case-insensitive match (e.g., compare b.name() or b.toString() to the input using a case-insensitive comparison) before returning the enum, and keep the same IllegalArgumentException behavior when no match is found to preserve existing error handling.all-in-one-apim/modules/integration/tests-common/clients/admin/openapi-overrides/JSON.java (3)
167-178:ByteArrayAdapter.readmay NPE on malformed base64 or unexpected token types.
ByteString.decodeBase64(...)returnsnullfor invalid base64, which will cause an NPE on the subsequenttoByteArray(). Also, non-string / non-null tokens fall into thedefaultbranch and callnextString()which will throw an opaque error. Consider handling invalid input explicitly.Suggested guard
default: String bytesAsBase64 = in.nextString(); ByteString byteString = ByteString.decodeBase64(bytesAsBase64); + if (byteString == null) { + throw new JsonParseException("Invalid base64 value for byte[]"); + } return byteString.toByteArray();🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@all-in-one-apim/modules/integration/tests-common/clients/admin/openapi-overrides/JSON.java` around lines 167 - 178, ByteArrayAdapter.read currently assumes the incoming token is a valid string and that ByteString.decodeBase64(bytesAsBase64) never returns null; to fix it, validate the token from JsonReader.peek() and only call in.nextString() for STRING (handle NULL already), then call ByteString.decodeBase64 and check for a null return — if null or token was not STRING/NULL throw a JsonDataException or IOException with a clear message referencing the offending input; update ByteArrayAdapter.read to guard against malformed base64 and unexpected token types (use JsonReader.peek(), in.nextString(), ByteString.decodeBase64(...), and toByteArray()) so it fails with a descriptive error instead of NPE.
42-54: Rebuilding the discriminator map on every deserialization.The
classByDiscriminatorValuemap is allocated and populated on every call togetClassForElement. For hot paths with manyThrottlePolicyDTOsubtypes deserialized, lifting it to astatic finalimmutable map would be cheaper and clearer.Suggested refactor
- GsonFireBuilder fireBuilder = new GsonFireBuilder() - .registerTypeSelector(ThrottlePolicyDTO.class, new TypeSelector() { - `@Override` - public Class getClassForElement(JsonElement readElement) { - Map<String, Class> classByDiscriminatorValue = new HashMap<String, Class>(); - classByDiscriminatorValue.put("AdvancedThrottlePolicyInfo", AdvancedThrottlePolicyInfoDTO.class); - classByDiscriminatorValue.put("AdvancedThrottlePolicy", AdvancedThrottlePolicyDTO.class); - classByDiscriminatorValue.put("ApplicationThrottlePolicy", ApplicationThrottlePolicyDTO.class); - classByDiscriminatorValue.put("SubscriptionThrottlePolicy", SubscriptionThrottlePolicyDTO.class); - classByDiscriminatorValue.put("CustomRule", CustomRuleDTO.class); - classByDiscriminatorValue.put("ThrottlePolicy", ThrottlePolicyDTO.class); - return getClassByDiscriminator(classByDiscriminatorValue, - getDiscriminatorValue(readElement, "type")); - } - }) + GsonFireBuilder fireBuilder = new GsonFireBuilder() + .registerTypeSelector(ThrottlePolicyDTO.class, new TypeSelector() { + `@Override` + public Class getClassForElement(JsonElement readElement) { + return getClassByDiscriminator(THROTTLE_POLICY_CLASSES, + getDiscriminatorValue(readElement, "type")); + } + }) ;…with a companion
static final Map<String, Class>initialized once.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@all-in-one-apim/modules/integration/tests-common/clients/admin/openapi-overrides/JSON.java` around lines 42 - 54, The method getClassForElement repeatedly allocates and populates classByDiscriminatorValue on every call; move this map into a single immutable static final field (e.g., CLASS_BY_DISCRIMINATOR_VALUE) initialized once (static initializer or inline unmodifiable map) and update getClassForElement to reference that static map and call getClassByDiscriminator(getClassByDiscriminatorValue? no—call getClassByDiscriminator with the static map, using getDiscriminatorValue(readElement, "type") as before; ensure the map keys/values remain the same and the map is unmodifiable to preserve thread-safety.
221-222: Precision loss converting double to long for epoch millis.
(long) in.nextDouble()loses precision for epoch-millis values beyond 2^53. This is safe for contemporary timestamps but not ideal. Considerin.nextLong()where the JSON number is an integer. Same applies toDateTypeAdapter.readat line 303.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@all-in-one-apim/modules/integration/tests-common/clients/admin/openapi-overrides/JSON.java` around lines 221 - 222, The NUMBER branch in JSON.java's DateTypeAdapter.read currently casts in.nextDouble() to long causing precision loss; update the read logic in the DateTypeAdapter (the switch case NUMBER) to detect and consume integer JSON numbers with in.nextLong() when the token represents an integer (or read the number as a string and parse to long when necessary), falling back to nextDouble() only when the value is non-integral, and apply the same change to the second occurrence noted around the read at line 303 so epoch-millis use in.nextLong() whenever possible.all-in-one-apim/modules/integration/tests-common/clients/admin/pom.xml (1)
79-123: Add explicit version tomaven-resources-pluginfor build reproducibility.The plugin declaration lacks an explicit
<version>tag and inherits from the parent propertymaven-resources-plugin.version(2.5). However, other modules in the same test suite explicitly pin version 2.6. Consider declaring an explicit version to match the project's approach and prevent unintended version drift.Suggested change
<plugin> <artifactId>maven-resources-plugin</artifactId> + <version>2.6</version> <executions>🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@all-in-one-apim/modules/integration/tests-common/clients/admin/pom.xml` around lines 79 - 123, The maven-resources-plugin declaration (artifactId maven-resources-plugin) is missing an explicit <version>; update the plugin element to include <version>2.6</version> so this module pins the same plugin release as the other test modules, ensuring reproducible builds—add the version directly inside the plugin block that contains the executions apply-admin-json-date-override and apply-environment-dto-status-override.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In
`@all-in-one-apim/modules/integration/tests-common/clients/admin/openapi-overrides/api/dto/EnvironmentDTO.java`:
- Around line 98-105: ModeEnum.fromValue currently does no null-check and uses
exact-case comparison unlike StatusEnum.fromValue; update ModeEnum.fromValue to
mirror StatusEnum.fromValue by first guarding against a null input and then
performing a case-insensitive match (e.g., compare b.name() or b.toString() to
the input using a case-insensitive comparison) before returning the enum, and
keep the same IllegalArgumentException behavior when no match is found to
preserve existing error handling.
In
`@all-in-one-apim/modules/integration/tests-common/clients/admin/openapi-overrides/JSON.java`:
- Around line 167-178: ByteArrayAdapter.read currently assumes the incoming
token is a valid string and that ByteString.decodeBase64(bytesAsBase64) never
returns null; to fix it, validate the token from JsonReader.peek() and only call
in.nextString() for STRING (handle NULL already), then call
ByteString.decodeBase64 and check for a null return — if null or token was not
STRING/NULL throw a JsonDataException or IOException with a clear message
referencing the offending input; update ByteArrayAdapter.read to guard against
malformed base64 and unexpected token types (use JsonReader.peek(),
in.nextString(), ByteString.decodeBase64(...), and toByteArray()) so it fails
with a descriptive error instead of NPE.
- Around line 42-54: The method getClassForElement repeatedly allocates and
populates classByDiscriminatorValue on every call; move this map into a single
immutable static final field (e.g., CLASS_BY_DISCRIMINATOR_VALUE) initialized
once (static initializer or inline unmodifiable map) and update
getClassForElement to reference that static map and call
getClassByDiscriminator(getClassByDiscriminatorValue? no—call
getClassByDiscriminator with the static map, using
getDiscriminatorValue(readElement, "type") as before; ensure the map keys/values
remain the same and the map is unmodifiable to preserve thread-safety.
- Around line 221-222: The NUMBER branch in JSON.java's DateTypeAdapter.read
currently casts in.nextDouble() to long causing precision loss; update the read
logic in the DateTypeAdapter (the switch case NUMBER) to detect and consume
integer JSON numbers with in.nextLong() when the token represents an integer (or
read the number as a string and parse to long when necessary), falling back to
nextDouble() only when the value is non-integral, and apply the same change to
the second occurrence noted around the read at line 303 so epoch-millis use
in.nextLong() whenever possible.
In `@all-in-one-apim/modules/integration/tests-common/clients/admin/pom.xml`:
- Around line 79-123: The maven-resources-plugin declaration (artifactId
maven-resources-plugin) is missing an explicit <version>; update the plugin
element to include <version>2.6</version> so this module pins the same plugin
release as the other test modules, ensuring reproducible builds—add the version
directly inside the plugin block that contains the executions
apply-admin-json-date-override and apply-environment-dto-status-override.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: dc53212c-cca2-4d65-bbd2-414917935691
⛔ Files ignored due to path filters (217)
all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/ApiCallback.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/ApiClient.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/ApiException.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/ApiResponse.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/Configuration.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/GzipRequestInterceptor.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/JSON.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/Pair.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/ProgressRequestBody.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/ProgressResponseBody.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/StringUtil.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/AdvancedPolicyCollectionApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/AdvancedPolicyIndividualApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/AiServiceProviderApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/AiServiceProvidersApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/AlertSubscriptionsApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/AlertsApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/ApIsApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/ApiCategoryCollectionApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/ApiCategoryIndividualApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/ApiIndividualApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/ApiKeysApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/ApiProductIndividualApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/ApiProviderChangeApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/ApplicationApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/ApplicationCollectionApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/ApplicationIndividualApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/ApplicationPolicyCollectionApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/ApplicationPolicyIndividualApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/ApplicationsApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/BotDetectionAlertSubscriptionsApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/BotDetectionDataApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/ConsumptionApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/CustomRulesCollectionApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/CustomRulesIndividualApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/DefaultApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/DenyPoliciesCollectionApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/DenyPolicyIndividualApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/EnvironmentApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/EnvironmentCollectionApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/EnvironmentsApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/GlobalKeyManagerCollectionApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/GlobalKeyManagerIndividualApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/ImportExportApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/KeyManagerCollectionApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/KeyManagerIndividualApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/LabelCollectionApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/LabelIndividualApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/LabelsCollectionApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/LlmProviderApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/LlmProvidersApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/MediationPolicyCollectionApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/MediationPolicyIndividualApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/MonetizationCollectionApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/OrganizationsApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/PlatformGatewaysApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/RolesApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/SettingsApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/SubscriptionPolicyCollectionApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/SubscriptionPolicyIndividualApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/SystemScopesApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/TenantConfigApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/TenantConfigSchemaApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/TenantThemeApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/TenantsApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/TransactionRecordsApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/UnifiedSearchApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/UsersApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/WorkflowCollectionApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/WorkflowsIndividualApi.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/AIAPIQuotaLimitAllOfDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/AIAPIQuotaLimitDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/AIServiceProviderRequestDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/AIServiceProviderResponseDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/AIServiceProviderSummaryResponseDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/AIServiceProviderSummaryResponseListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/APICategoryDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/APICategoryListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/APIInfoDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/APIInfoKeyManagerDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/APIInfoListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/APIKeyDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/APIKeyListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/APIKeyRevokeRequestDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/AdditionalPropertyDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/AdvancedThrottlePolicyAllOfDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/AdvancedThrottlePolicyDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/AdvancedThrottlePolicyInfoAllOfDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/AdvancedThrottlePolicyInfoDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/AdvancedThrottlePolicyListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/AlertTypeDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/AlertTypesListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/AlertsSubscriptionDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ApiResultDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ApplicationDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ApplicationInfoDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ApplicationInfoKeyManagerDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ApplicationListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ApplicationThrottlePolicyAllOfDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ApplicationThrottlePolicyDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ApplicationThrottlePolicyListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ApplicationUpdateRequestDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/BandwidthLimitAllOfDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/BandwidthLimitDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/BlockingConditionDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/BlockingConditionListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/BlockingConditionStatusDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/BotDetectionAlertSubscriptionDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/BotDetectionAlertSubscriptionListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/BotDetectionDataDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/BotDetectionDataListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/BurstLimitDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ClaimMappingEntryDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ConditionalGroupDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ConfigurationConstraintDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ContentPublishStatusDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ContentPublishStatusResponseDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/CreatePlatformGatewayRequestDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/CreatePlatformGatewayRequestPermissionsDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/CustomAttributeDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/CustomRuleAllOfDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/CustomRuleDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/CustomRuleListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/CustomUrlInfoDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/CustomUrlInfoDevPortalDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/EnvironmentDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/EnvironmentListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/EnvironmentPermissionsDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ErrorDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ErrorListItemDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/EventCountLimitAllOfDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/EventCountLimitDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ExportThrottlePolicyDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/FileInfoDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/GatewayConfigurationDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/GatewayEnvironmentProtocolURIDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/GatewayInstanceDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/GatewayInstanceListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/GatewayListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/GatewayResponseWithTokenAllOfDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/GatewayResponseWithTokenDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/GraphQLQueryDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/HeaderConditionDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/IPConditionDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/JWTClaimsConditionDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/KeyManagerAPIUsagesDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/KeyManagerAppUsagesDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/KeyManagerCertificatesDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/KeyManagerConfigurationDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/KeyManagerDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/KeyManagerEndpointDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/KeyManagerInfoDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/KeyManagerListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/KeyManagerPermissionsDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/KeyManagerWellKnownResponseDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/LLMProviderRequestDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/LLMProviderResponseDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/LLMProviderSummaryResponseDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/LLMProviderSummaryResponseListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/LabelDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/LabelListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/LabelUsageApisDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/LabelUsageDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/MediationDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/MediationInfoDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/MediationListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ModelProviderDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/MonetizationInfoDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/MonetizationUsagePublishInfoDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/OrganizationDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/OrganizationInfoDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/OrganizationListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/PaginationApisDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/PaginationDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/PlatformGatewayResponseDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/PlatformGatewayResponsePermissionsDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/PublishStatusDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/QueryParameterConditionDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/RequestCountLimitAllOfDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/RequestCountLimitDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/RoleAliasDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/RoleAliasListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ScopeDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ScopeInfoDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ScopeListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ScopeSettingsDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/SearchResultListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/SettingsDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/SettingsGatewayConfigurationDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/SettingsKeyManagerConfigurationDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/SubscriptionThrottlePolicyAllOfDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/SubscriptionThrottlePolicyDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/SubscriptionThrottlePolicyListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/SubscriptionThrottlePolicyPermissionDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/TenantInfoDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ThrottleConditionDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ThrottleLimitBaseDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ThrottleLimitDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ThrottlePolicyDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ThrottlePolicyDetailsDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ThrottlePolicyDetailsListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/ThrottlePolicyListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/TokenValidationDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/TransactionCountDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/UpdatePlatformGatewayRequestDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/UpdatePlatformGatewayRequestPermissionsDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/VHostDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/WorkflowDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/WorkflowInfoDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/WorkflowListDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/WorkflowResponseDTO.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/auth/ApiKeyAuth.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/auth/Authentication.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/auth/HttpBasicAuth.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/auth/HttpBearerAuth.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/auth/OAuth.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/auth/OAuthFlow.javais excluded by!**/gen/**
📒 Files selected for processing (15)
all-in-one-apim/modules/integration/tests-common/clients/admin/.openapi-generator/admin-api.yaml.sha256all-in-one-apim/modules/integration/tests-common/clients/admin/api/openapi.yamlall-in-one-apim/modules/integration/tests-common/clients/admin/openapi-overrides/JSON.javaall-in-one-apim/modules/integration/tests-common/clients/admin/openapi-overrides/api/dto/EnvironmentDTO.javaall-in-one-apim/modules/integration/tests-common/clients/admin/pom.xmlall-in-one-apim/modules/integration/tests-common/clients/admin/src/main/resources/admin-api.yamlall-in-one-apim/modules/integration/tests-common/integration-test-utils/src/main/java/org/wso2/am/integration/test/helpers/AdminApiTestHelper.javaall-in-one-apim/modules/integration/tests-common/integration-test-utils/src/main/java/org/wso2/am/integration/test/impl/DtoFactory.javaall-in-one-apim/modules/integration/tests-common/integration-test-utils/src/main/java/org/wso2/am/integration/test/impl/RestAPIAdminImpl.javaall-in-one-apim/modules/integration/tests-integration/tests-backend/src/test/java/org/wso2/am/integration/tests/login/EmailUserNameLoginTestCase.javaall-in-one-apim/modules/integration/tests-integration/tests-backend/src/test/java/org/wso2/am/integration/tests/other/APIDenyPolicyTestCase.javaall-in-one-apim/modules/integration/tests-integration/tests-backend/src/test/java/org/wso2/am/integration/tests/restapi/admin/PlatformGatewayIntegrationTestCase.javaall-in-one-apim/modules/integration/tests-integration/tests-backend/src/test/java/org/wso2/am/integration/tests/restapi/admin/PlatformGatewayPublisherDeployIntegrationTestCase.javaall-in-one-apim/modules/integration/tests-integration/tests-backend/src/test/resources/testng.xmlall-in-one-apim/modules/integration/tests-integration/tests-benchmark/src/test/resources/automation.xml
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
all-in-one-apim/modules/integration/tests-common/clients/admin/openapi-overrides/api/dto/EnvironmentDTO.java (1)
34-34: Unused import.
com.fasterxml.jackson.annotation.JsonCreatoris imported but never referenced in this class. The summary mentions Jackson@JsonCreator/@JsonAdapterusage, but only Gson's@JsonAdapteris applied here. Consider removing the import to avoid confusion about the serialization stack actually in use.Proposed fix
-import com.fasterxml.jackson.annotation.JsonCreator;🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@all-in-one-apim/modules/integration/tests-common/clients/admin/openapi-overrides/api/dto/EnvironmentDTO.java` at line 34, Remove the unused Jackson import to avoid confusion about the serialization stack: delete the import line for com.fasterxml.jackson.annotation.JsonCreator from the EnvironmentDTO class so only the Gson-related annotations (e.g., any `@JsonAdapter` usages) remain referenced; ensure no other Jackson symbols are used in EnvironmentDTO before committing.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In
`@all-in-one-apim/modules/integration/tests-common/clients/admin/openapi-overrides/api/dto/EnvironmentDTO.java`:
- Around line 128-130: The EnvironmentDTO field "mode" currently initializes to
ModeEnum.WRITE_ONLY (private ModeEnum mode = ModeEnum.WRITE_ONLY;) which
conflicts with the OpenAPI spec example of READ_WRITE and the spec's lack of a
default; remove the hardcoded default or change it to ModeEnum.READ_WRITE so it
doesn't always serialize when unset. Locate the EnvironmentDTO class and the
mode field (SERIALIZED_NAME_MODE, mode, ModeEnum.WRITE_ONLY) and either delete
the "= ModeEnum.WRITE_ONLY" initializer or replace it with "ModeEnum.READ_WRITE"
(or add a comment documenting why WRITE_ONLY is intentionally different if you
must keep it).
---
Nitpick comments:
In
`@all-in-one-apim/modules/integration/tests-common/clients/admin/openapi-overrides/api/dto/EnvironmentDTO.java`:
- Line 34: Remove the unused Jackson import to avoid confusion about the
serialization stack: delete the import line for
com.fasterxml.jackson.annotation.JsonCreator from the EnvironmentDTO class so
only the Gson-related annotations (e.g., any `@JsonAdapter` usages) remain
referenced; ensure no other Jackson symbols are used in EnvironmentDTO before
committing.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 0d495e9e-9f2e-4d82-9285-73c6903f303e
⛔ Files ignored due to path filters (2)
all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/JSON.javais excluded by!**/gen/**all-in-one-apim/modules/integration/tests-common/clients/admin/src/gen/java/org/wso2/am/integration/clients/admin/api/dto/EnvironmentDTO.javais excluded by!**/gen/**
📒 Files selected for processing (3)
all-in-one-apim/modules/integration/tests-common/clients/admin/openapi-overrides/JSON.javaall-in-one-apim/modules/integration/tests-common/clients/admin/openapi-overrides/api/dto/EnvironmentDTO.javaall-in-one-apim/modules/integration/tests-common/clients/admin/pom.xml
✅ Files skipped from review due to trivial changes (1)
- all-in-one-apim/modules/integration/tests-common/clients/admin/openapi-overrides/JSON.java
🚧 Files skipped from review as they are similar to previous changes (1)
- all-in-one-apim/modules/integration/tests-common/clients/admin/pom.xml
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In
`@all-in-one-apim/modules/integration/tests-common/clients/admin/openapi-overrides/api/dto/EnvironmentDTO.java`:
- Around line 207-209: The status field in EnvironmentDTO is currently
default-initialized to StatusEnum.ACTIVE which causes it to be serialized for
all gateway types; remove the default initialization so the private StatusEnum
status field is left null by default (allowing Gson to omit it when unset), i.e.
change the declaration using SERIALIZED_NAME_STATUS to a nullable StatusEnum
without assigning StatusEnum.ACTIVE and ensure no other code
(constructors/getters/setters) reintroduces a default value for status.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 8b1a27f5-62dd-4fb7-89b8-1e6db3ca1f15
📒 Files selected for processing (1)
all-in-one-apim/modules/integration/tests-common/clients/admin/openapi-overrides/api/dto/EnvironmentDTO.java
Purpose
Adding integration tests for wso2/api-manager#4665 feature changes.
Copilot Summary
This pull request introduces enhancements to the OpenAPI-generated Admin API client, focusing on improving JSON serialization/deserialization, especially for date handling, and ensuring compatibility with different payload formats. It also updates the Maven build process to automatically apply these customizations after code generation. Below are the most important changes:
Custom JSON Serialization/Deserialization:
JSON.javaimplementation toopenapi-overridesthat replaces the default Gson adapters. This version supports deserialization of date-time fields from both ISO-8601 strings and epoch milliseconds (as numbers or strings), addressing inconsistencies in Admin API payloads. It also includes robust handling for polymorphic types and byte arrays.Build Process Improvements:
pom.xmlto automatically overwrite the generatedJSON.javaandEnvironmentDTO.javafiles with customized versions after OpenAPI code generation. This ensures that custom adapters and enum handling are always applied, preventing regressions from codegen overwrites.OpenAPI Spec and Documentation Updates: