From 357854ae3285bf9f49d8536441d199182fe61283 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Mili=C4=87?= Date: Wed, 29 Mar 2023 12:51:05 +0200 Subject: [PATCH] feature/create endpoint get currencies and tweak system integrity currency check --- .../src/main/scala/code/api/v5_1_0/APIMethods510.scala | 10 +++++----- .../main/scala/code/api/v5_1_0/JSONFactory5.1.0.scala | 4 ++-- .../scala/code/api/v5_1_0/SystemIntegrityTest.scala | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/obp-api/src/main/scala/code/api/v5_1_0/APIMethods510.scala b/obp-api/src/main/scala/code/api/v5_1_0/APIMethods510.scala index df1e5657f..b032a4579 100644 --- a/obp-api/src/main/scala/code/api/v5_1_0/APIMethods510.scala +++ b/obp-api/src/main/scala/code/api/v5_1_0/APIMethods510.scala @@ -225,7 +225,7 @@ trait APIMethods510 { implementedInApiVersion, nameOf(accountCurrencyCheck), "GET", - "/management/system/integrity/account-currency-check", + "/management/system/integrity/banks/BANK_ID/account-currency-check", "Check for Sensible Currencies", s"""Check for sensible currencies at Bank Account model | @@ -243,15 +243,15 @@ trait APIMethods510 { ) lazy val accountCurrencyCheck: OBPEndpoint = { - case "management" :: "system" :: "integrity" :: "account-currency-check" :: Nil JsonGet _ => { + case "management" :: "system" :: "integrity" :: "banks" :: BankId(bankId) :: "account-currency-check" :: Nil JsonGet _ => { cc => for { - currenciess: List[String] <- Future { + currencies: List[String] <- Future { MappedBankAccount.findAll().map(_.accountCurrency.get).distinct } - currentCurrencies: List[String] <- Future { CurrencyUtil.getCurrencyCodes() } + (bankCurrencies, callContext) <- NewStyle.function.getCurrentCurrencies(bankId, cc.callContext) } yield { - (JSONFactory510.getSensibleCurrenciesCheck(currenciess, currentCurrencies), HttpCode.`200`(cc.callContext)) + (JSONFactory510.getSensibleCurrenciesCheck(bankCurrencies, currencies), HttpCode.`200`(callContext)) } } } diff --git a/obp-api/src/main/scala/code/api/v5_1_0/JSONFactory5.1.0.scala b/obp-api/src/main/scala/code/api/v5_1_0/JSONFactory5.1.0.scala index 937ae70c0..808614fb7 100644 --- a/obp-api/src/main/scala/code/api/v5_1_0/JSONFactory5.1.0.scala +++ b/obp-api/src/main/scala/code/api/v5_1_0/JSONFactory5.1.0.scala @@ -93,8 +93,8 @@ object JSONFactory510 { debug_info = debugInfo ) } - def getSensibleCurrenciesCheck(currencies: List[String], currentCurrencies: List[String]): CheckSystemIntegrityJsonV510 = { - val incorrectCurrencies: List[String] = currencies.filterNot(c => currentCurrencies.contains(c)) + def getSensibleCurrenciesCheck(bankCurrencies: List[String], accountCurrencies: List[String]): CheckSystemIntegrityJsonV510 = { + val incorrectCurrencies: List[String] = bankCurrencies.filterNot(c => accountCurrencies.contains(c)) val success = incorrectCurrencies.size == 0 val debugInfo = if(success) None else Some(s"Incorrect currencies: ${incorrectCurrencies.mkString(",")}") CheckSystemIntegrityJsonV510( diff --git a/obp-api/src/test/scala/code/api/v5_1_0/SystemIntegrityTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/SystemIntegrityTest.scala index de2e41e5e..b2f645e54 100644 --- a/obp-api/src/test/scala/code/api/v5_1_0/SystemIntegrityTest.scala +++ b/obp-api/src/test/scala/code/api/v5_1_0/SystemIntegrityTest.scala @@ -134,7 +134,7 @@ class SystemIntegrityTest extends V510ServerSetup { feature(s"test $ApiEndpoint4 version $VersionOfApi - Unauthorized access") { scenario("We will call the endpoint without user credentials", ApiEndpoint1, VersionOfApi) { When("We make a request v5.1.0") - val request510 = (v5_1_0_Request / "management" / "system" / "integrity" / "account-currency-check").GET + val request510 = (v5_1_0_Request / "management" / "system" / "integrity" / "banks" / testBankId1.value / "account-currency-check").GET val response510 = makeGetRequest(request510) Then("We should get a 401") response510.code should equal(401) @@ -145,7 +145,7 @@ class SystemIntegrityTest extends V510ServerSetup { feature(s"test $ApiEndpoint4 version $VersionOfApi - Authorized access") { scenario("We will call the endpoint with user credentials but without a proper entitlement", ApiEndpoint1, VersionOfApi) { When("We make a request v5.1.0") - val request510 = (v5_1_0_Request / "management" / "system" / "integrity" / "account-currency-check").GET <@(user1) + val request510 = (v5_1_0_Request / "management" / "system" / "integrity" / "banks" / testBankId1.value / "account-currency-check").GET <@(user1) val response510 = makeGetRequest(request510) Then("error should be " + UserHasMissingRoles + CanGetSystemIntegrity) response510.code should equal(403) @@ -157,7 +157,7 @@ class SystemIntegrityTest extends V510ServerSetup { scenario("We will call the endpoint with user credentials and a proper entitlement", ApiEndpoint1, VersionOfApi) { Entitlement.entitlement.vend.addEntitlement("", resourceUser1.userId, CanGetSystemIntegrity.toString) When("We make a request v5.1.0") - val request510 = (v5_1_0_Request / "management" / "system" / "integrity" / "account-currency-check").GET <@(user1) + val request510 = (v5_1_0_Request / "management" / "system" / "integrity" / "banks" / testBankId1.value / "account-currency-check").GET <@(user1) val response510 = makeGetRequest(request510) Then("We get successful response") response510.code should equal(200)