From 6c9ce3eaaba2a581e8efe7de48ed7cbafa34f2ae Mon Sep 17 00:00:00 2001 From: hongwei Date: Fri, 24 Mar 2023 15:28:38 +0100 Subject: [PATCH] test/fixed the failed tests for swagger --- .../ResourceDocsAPIMethods.scala | 4 ++-- .../SwaggerDefinitionsJSON.scala | 2 +- .../src/test/resources/frozen_type_meta_data | Bin 141029 -> 141360 bytes .../SwaggerFactoryUnitTest.scala | 3 --- 4 files changed, 3 insertions(+), 6 deletions(-) diff --git a/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/ResourceDocsAPIMethods.scala b/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/ResourceDocsAPIMethods.scala index e5e538d39..e772faa7b 100644 --- a/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/ResourceDocsAPIMethods.scala +++ b/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/ResourceDocsAPIMethods.scala @@ -4,7 +4,7 @@ import code.api.Constant.PARAM_LOCALE import java.util.UUID.randomUUID import code.api.OBPRestHelper -import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.canGetCustomers +import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.canGetCustomersJson import code.api.builder.OBP_APIBuilder import code.api.cache.Caching import code.api.dynamic.endpoint.helper.{DynamicEndpointHelper, DynamicEndpoints} @@ -409,7 +409,7 @@ trait ResourceDocsAPIMethods extends MdcLoggable with APIMethods220 with APIMeth emptyObjectJson, UnknownError :: Nil, List(apiTagDocumentation), - Some(List(canGetCustomers)) + Some(List(canGetCustomersJson)) ) diff --git a/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/SwaggerDefinitionsJSON.scala b/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/SwaggerDefinitionsJSON.scala index c4c3a87dd..1b29e850d 100644 --- a/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/SwaggerDefinitionsJSON.scala +++ b/obp-api/src/main/scala/code/api/ResourceDocs1_4_0/SwaggerDefinitionsJSON.scala @@ -4372,7 +4372,7 @@ object SwaggerDefinitionsJSON { bank_id = bankIdExample.value ) - val canGetCustomers = ApiRole.canGetCustomers + val canGetCustomersJson = ApiRole.canGetCustomers val cardAttributeCommons = CardAttributeCommons( bankId = Some(BankId(bankIdExample.value)), diff --git a/obp-api/src/test/resources/frozen_type_meta_data b/obp-api/src/test/resources/frozen_type_meta_data index 1d577364c9ea4569e0f563693a6efad238893460..99ced818b4cde4065f51e3f7317c4f88d064da4a 100644 GIT binary patch delta 8143 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