From 4817f8644f6d0f687448e0e55b4de9afc93105e4 Mon Sep 17 00:00:00 2001 From: psemenkov Date: Mon, 20 Feb 2023 18:53:15 +0300 Subject: [PATCH] Adding test for register and simple refactoring. --- .../queue/AbstractControllerTest.java | 93 ++++++++++++++++-- .../account/BankAccountControllerTest.java | 49 ++-------- .../company/DeleteCompanyControllerTest.java | 26 +---- ...tClearingMemberCategoryControllerTest.java | 50 ++-------- .../EditCompanyInfoControllerTest.java | 18 +--- .../EditCompanySymbolControllerTest.java | 21 +--- .../company/EditContactControllerTest.java | 21 +--- .../queue/company/RelationControllerTest.java | 22 +---- .../AdmittedDealRegisterControllerTest.java | 45 +++++++++ .../BalanceRegisterControllerTest.java | 43 +++++++++ .../ClearMemberRegisterControllerTest.java | 54 +++++++++++ .../ContractRegisterControllerTest.java | 42 ++++++++ .../CoveredDealRegisterControllerTest.java | 45 +++++++++ .../register/DealRegisterControllerTest.java | 50 ++++++++++ .../register/OrderRegisterControllerTest.java | 38 ++++++++ .../ReportRegisterControllerTest.java | 35 +++++++ .../UncoveredDealRegisterControllerTest.java | 46 +++++++++ .../ClearingCalendarControllerTest.java | 90 +++++++++++++++++ .../scheduler/LauncherControllerTest.java | 20 +++- .../PlannerTemplateControllerTest.java | 96 +++++++++++++++++++ .../CudMoneyMarketSecurityControllerTest.java | 95 ++++++++++++++++++ .../response/cud/CudResponseTest.java | 16 ++++ .../cud/QueueSuccessResponseTest.java | 26 +++++ 23 files changed, 847 insertions(+), 194 deletions(-) create mode 100644 clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/AdmittedDealRegisterControllerTest.java create mode 100644 clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/BalanceRegisterControllerTest.java create mode 100644 clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ClearMemberRegisterControllerTest.java create mode 100644 clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ContractRegisterControllerTest.java create mode 100644 clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/CoveredDealRegisterControllerTest.java create mode 100644 clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/DealRegisterControllerTest.java create mode 100644 clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/OrderRegisterControllerTest.java create mode 100644 clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ReportRegisterControllerTest.java create mode 100644 clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/UncoveredDealRegisterControllerTest.java create mode 100644 clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/ClearingCalendarControllerTest.java create mode 100644 clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerTemplateControllerTest.java create mode 100644 clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/CudMoneyMarketSecurityControllerTest.java create mode 100644 clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/response/cud/CudResponseTest.java create mode 100644 clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/response/cud/QueueSuccessResponseTest.java diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java index d7a27d689..e8e2ebe3d 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java @@ -13,6 +13,7 @@ import org.springframework.http.MediaType; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.ResultActions; import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; @@ -33,16 +34,20 @@ import ru.spcex.clearing.backendapi.controller.queue.liabilities.LiabilitiesClai import ru.spcex.clearing.backendapi.controller.queue.liabilities.LiabilitiesClaimsMoneyController; import ru.spcex.clearing.backendapi.controller.queue.misc.*; import ru.spcex.clearing.backendapi.controller.queue.payment.PaymentInstructionController; -import ru.spcex.clearing.backendapi.controller.queue.scheduler.ClearingCalendarController; -import ru.spcex.clearing.backendapi.controller.queue.scheduler.LauncherController; -import ru.spcex.clearing.backendapi.controller.queue.scheduler.PlannerAllTodayController; -import ru.spcex.clearing.backendapi.controller.queue.scheduler.PlannerController; +import ru.spcex.clearing.backendapi.controller.queue.register.*; +import ru.spcex.clearing.backendapi.controller.queue.scheduler.*; +import ru.spcex.clearing.backendapi.controller.queue.securities.CudMoneyMarketSecurityController; +import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction; +import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse; +import ru.spcex.clearing.backendapi.controller.response.cud.CudResponseTest; +import ru.spcex.clearing.backendapi.controller.response.cud.QueueSuccessResponse; import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse; import ru.spcex.clearing.backendapi.controller.utils.MatcherFactory; import ru.spcex.clearing.backendapi.controller.utils.TestUtils; import ru.spcex.clearing.backendapi.domain.actions.IAction; import ru.spcex.clearing.backendapi.meta.GetResponseFactory; import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.platform.messaging.domain.ActionType; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.platform.classes.base.SpcexObjectBase; import ru.spcex.platform.imdg.api.Imdg; @@ -63,6 +68,7 @@ import static org.mockito.Mockito.spy; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +import static ru.spcex.clearing.backendapi.controller.utils.JsonUtil.readValue; import static ru.spcex.clearing.backendapi.controller.utils.JsonUtil.writeValue; import static ru.spcex.clearing.backendapi.controller.utils.MatcherFactory.usingIgnoringFieldsComparator; @@ -99,11 +105,24 @@ import static ru.spcex.clearing.backendapi.controller.utils.MatcherFactory.using SessionController.class, //payment PaymentInstructionController.class, + //register + AdmittedDealRegisterController.class, + BalanceRegisterController.class, + ClearMemberRegisterController.class, + ContractRegisterController.class, + CoveredDealRegisterController.class, + DealRegisterController.class, + OrderRegisterController.class, + ReportRegisterController.class, + UncoveredDealRegisterController.class, //scheduler ClearingCalendarController.class, + LauncherController.class, PlannerAllTodayController.class, PlannerController.class, - LauncherController.class, + PlannerTemplateController.class, + //securities + CudMoneyMarketSecurityController.class, //******* common configs ******* WebTestConfig.class, IOperatorTest.class, @@ -116,7 +135,8 @@ import static ru.spcex.clearing.backendapi.controller.utils.MatcherFactory.using @WebMvcTest//(controllers = DeleteCompanyController.class) //@TestPropertySource(properties = "spring.config.location=D:/repo/mfd/clearing/clearing-parent/backend-api/src/main/resources/") public abstract class AbstractControllerTest { - public static final MatcherFactory.Matcher BASE_REQUEST_MATCHER = usingIgnoringFieldsComparator(BaseRequest.class); + protected static final MatcherFactory.Matcher BASE_REQUEST_MATCHER = usingIgnoringFieldsComparator(BaseRequest.class); + protected static final MatcherFactory.Matcher CUD_RESPONSE_MATCHER = usingIgnoringFieldsComparator(CudResponse.class); protected static final AtomicLong currentId = new AtomicLong(); private static final CharacterEncodingFilter CHARACTER_ENCODING_FILTER = new CharacterEncodingFilter(); @@ -175,6 +195,67 @@ public abstract class AbstractControllerTest { BASE_REQUEST_MATCHER.assertMatch(baseRequestResult, predictableBaseRequest); } + protected void checkAddingByRestApi(String REST_URL, IAction action) throws Exception { + CudResponse expected = new CudResponse(); + expected.setCode(0L); + expected.setMessage("success"); + //ACT + MvcResult mvcResult = perform(MockMvcRequestBuilders.post(REST_URL) + .contentType(MediaType.APPLICATION_JSON) + .content(writeValue(action))) + .andDo(print())//output to the log request and response + //ASSERT + .andExpect(status().isOk()) + .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) + //.andExpect(content().json(writeValue(expected))) + .andReturn(); + CudResponseTest cudResponseTest = readValue(mvcResult.getResponse().getContentAsString(), CudResponseTest.class); + expected.setPayload(new QueueSuccessResponse(ActionType.NEW, cudResponseTest.getPayload().getId())); + CUD_RESPONSE_MATCHER.assertMatch(cudResponseTest, expected); + } + + protected void checkUpdatingByRestApi(String REST_URL, IAction action, Long existsId) throws Exception { + CudResponse expected = new CudResponse(); + expected.setCode(0L); + expected.setMessage("success"); + expected.setPayload(new QueueSuccessResponse(ActionType.UPDATE, currentId.getAndIncrement())); + + //ACT + MvcResult mvcResult = perform(MockMvcRequestBuilders.put(REST_URL + existsId) + .contentType(MediaType.APPLICATION_JSON) + .content(writeValue(action))) + .andDo(print())//output to the log request and response + //ASSERT + .andExpect(status().isOk()) + .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) + //.andExpect(content().json(writeValue(expected))); + .andReturn(); + CudResponseTest cudResponseTest = readValue(mvcResult.getResponse().getContentAsString(), CudResponseTest.class); + expected.setPayload(new QueueSuccessResponse(ActionType.UPDATE, cudResponseTest.getPayload().getId())); + CUD_RESPONSE_MATCHER.assertMatch(cudResponseTest, expected); + } + + protected void checkDeletingByRestApi(String REST_URL, Long existsId) throws Exception { + CudResponse expected = new CudResponse(); + expected.setCode(0L); + expected.setMessage("success"); + expected.setPayload(new QueueSuccessResponse(ActionType.DELETE, existsId)); + CommonDeleteAction deleteAction = new CommonDeleteAction(); + deleteAction.setId(existsId); + //ACT + MvcResult mvcResult = perform(MockMvcRequestBuilders.delete(REST_URL + existsId) + .contentType(MediaType.APPLICATION_JSON)) + .andDo(print())//output to the log request and response + //ASSERT + .andExpect(status().isOk()) + .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) +// .andExpect(content().json(writeValue(expected))); + .andReturn(); + CudResponseTest cudResponseTest = readValue(mvcResult.getResponse().getContentAsString(), CudResponseTest.class); + expected.setPayload(new QueueSuccessResponse(ActionType.DELETE, cudResponseTest.getPayload().getId())); + CUD_RESPONSE_MATCHER.assertMatch(cudResponseTest, expected); + } + protected void checkGettingAllFromRestApi(String imdgDistributedNames, T existsObj, String restUrl) throws Exception { Class clazz = (Class) existsObj.getClass(); Imdg inDocumentJournalImdg = hazelcastServiceTest.getImdg(imdgDistributedNames, clazz); diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/BankAccountControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/BankAccountControllerTest.java index 39e510805..6f341f732 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/BankAccountControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/BankAccountControllerTest.java @@ -10,14 +10,11 @@ import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; import ru.spcex.clearing.backendapi.controller.request.cud.account.BankAccountNewAction; import ru.spcex.clearing.backendapi.controller.request.cud.account.BankAccountUpdateAction; import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction; -import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse; -import ru.spcex.clearing.backendapi.controller.response.cud.QueueSuccessResponse; import ru.spcex.clearing.backendapi.controller.response.entity.account.BankAccountBackendGetById; import ru.spcex.clearing.backendapi.controller.response.entity.account.BankAccountBackendGetFields; import ru.spcex.clearing.backendapi.domain.actions.IAction; import ru.spcex.clearing.backendapi.errors.ActionValidationException; import ru.spcex.clearing.imdg.IMDGDistributedNames; -import ru.spcex.clearing.platform.messaging.domain.ActionType; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest; @@ -58,19 +55,8 @@ class BankAccountControllerTest extends AbstractControllerTest { "01", "11111222223333344444"); - CudResponse expected = new CudResponse(); - expected.setCode(0L); - expected.setMessage("success"); - expected.setPayload(new QueueSuccessResponse(ActionType.NEW, currentId.getAndIncrement())); - //ACT - perform(MockMvcRequestBuilders.post(REST_URL) - .contentType(MediaType.APPLICATION_JSON) - .content(writeValue(bankAccountNewAction))) - .andDo(print())//output to the log request and response - //ASSERT - .andExpect(status().isOk()) - .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) - .andExpect(content().json(writeValue(expected))); + //ACT and ASSERT + checkAddingByRestApi(REST_URL, bankAccountNewAction); checkSendedMessegeFromKafka(Consts.DESTINATION_BANK_ACCOUNT_NEW, bankAccountNewAction); } @@ -130,19 +116,8 @@ class BankAccountControllerTest extends AbstractControllerTest { "01", "11111222223333344444"); - CudResponse expected = new CudResponse(); - expected.setCode(0L); - expected.setMessage("success"); - expected.setPayload(new QueueSuccessResponse(ActionType.UPDATE, currentId.getAndIncrement())); - //ACT - perform(MockMvcRequestBuilders.put(REST_URL + id) - .contentType(MediaType.APPLICATION_JSON) - .content(writeValue(bankAccountUpdateAction))) - .andDo(print())//output to the log request and response - //ASSERT - .andExpect(status().isOk()) - .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) - .andExpect(content().json(writeValue(expected))); + //ACT and ASSERT + checkUpdatingByRestApi(REST_URL, bankAccountUpdateAction, id); checkSendedMessegeFromKafka(Consts.DESTINATION_BANK_ACCOUNT_UPDATE, bankAccountUpdateAction); } @@ -154,21 +129,11 @@ class BankAccountControllerTest extends AbstractControllerTest { @Test void delete() throws Exception { //ARRANGE - long id = 0; - CudResponse expected = new CudResponse(); - expected.setCode(0L); - expected.setMessage("success"); - expected.setPayload(new QueueSuccessResponse(ActionType.DELETE, currentId.getAndIncrement())); + long id = currentId.getAndIncrement(); CommonDeleteAction deleteAction = new CommonDeleteAction(); deleteAction.setId(id); - //ACT - perform(MockMvcRequestBuilders.delete(REST_URL + id) - .contentType(MediaType.APPLICATION_JSON)) - .andDo(print())//output to the log request and response - //ASSERT - .andExpect(status().isOk()) - .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) - .andExpect(content().json(writeValue(expected))); + //ACT and ASSERT + checkDeletingByRestApi(REST_URL, id); checkSendedMessegeFromKafka(Consts.DESTINATION_BANK_ACCOUNT_DELETE, deleteAction); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/DeleteCompanyControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/DeleteCompanyControllerTest.java index fdf534729..125b18ed2 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/DeleteCompanyControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/DeleteCompanyControllerTest.java @@ -1,22 +1,12 @@ package ru.spcex.clearing.backendapi.controller.queue.company; import org.junit.jupiter.api.Test; -import org.springframework.http.MediaType; -import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import ru.clearing.classes.statics.data.company.Company; import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction; -import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse; -import ru.spcex.clearing.backendapi.controller.response.cud.QueueSuccessResponse; import ru.spcex.clearing.imdg.IMDGDistributedNames; -import ru.spcex.clearing.platform.messaging.domain.ActionType; import ru.spcex.clearing.platform.messaging.domain.Consts; -import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -import static ru.spcex.clearing.backendapi.controller.utils.JsonUtil.writeValue; - class DeleteCompanyControllerTest extends AbstractControllerTest { private static final String REST_URL = "/companies/"; @@ -28,21 +18,11 @@ class DeleteCompanyControllerTest extends AbstractControllerTest { @Test void delete() throws Exception { //ARRANGE - long id = 0; - CudResponse extended = new CudResponse(); - extended.setCode(0L); - extended.setMessage("success"); - extended.setPayload(new QueueSuccessResponse(ActionType.DELETE, currentId.getAndIncrement())); + long id = currentId.getAndIncrement(); CommonDeleteAction deleteAction = new CommonDeleteAction(); deleteAction.setId(id); - //ACT - perform(MockMvcRequestBuilders.delete(REST_URL + id) - .contentType(MediaType.APPLICATION_JSON)) - .andDo(print())//output to the log request and response - // ASSERT - .andExpect(status().isOk()) - .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) - .andExpect(content().json(writeValue(extended))); + //ACT and ASSERT + checkDeletingByRestApi(REST_URL, id); checkSendedMessegeFromKafka(Consts.DESTINATION_COMPANY_DELETE, deleteAction); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditClearingMemberCategoryControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditClearingMemberCategoryControllerTest.java index 3518c2f8a..9c868d3b8 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditClearingMemberCategoryControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditClearingMemberCategoryControllerTest.java @@ -9,18 +9,12 @@ import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction; import ru.spcex.clearing.backendapi.controller.request.cud.company.ClearingMemberCategoryNewAction; import ru.spcex.clearing.backendapi.controller.request.cud.company.ClearingMemberCategoryUpdateAction; -import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse; -import ru.spcex.clearing.backendapi.controller.response.cud.QueueSuccessResponse; import ru.spcex.clearing.backendapi.domain.actions.IAction; import ru.spcex.clearing.backendapi.errors.ActionValidationException; import ru.spcex.clearing.imdg.IMDGDistributedNames; -import ru.spcex.clearing.platform.messaging.domain.ActionType; import ru.spcex.clearing.platform.messaging.domain.Consts; import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static ru.spcex.clearing.backendapi.controller.utils.JsonUtil.writeValue; class EditClearingMemberCategoryControllerTest extends AbstractControllerTest { @@ -40,19 +34,8 @@ class EditClearingMemberCategoryControllerTest extends AbstractControllerTest { clearingMemberCategoryNewAction.setClearingMemberCategory("Category"); clearingMemberCategoryNewAction.setCompanyId(0L); - CudResponse expected = new CudResponse(); - expected.setCode(0L); - expected.setMessage("success"); - expected.setPayload(new QueueSuccessResponse(ActionType.NEW, currentId.getAndIncrement())); - //ACT - perform(MockMvcRequestBuilders.post(REST_URL) - .contentType(MediaType.APPLICATION_JSON) - .content(writeValue(clearingMemberCategoryNewAction))) - .andDo(print())//output to the log request and response - //ASSERT - .andExpect(status().isOk()) - .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) - .andExpect(content().json(writeValue(expected))); + //ACT and ASSERT + checkAddingByRestApi(REST_URL, clearingMemberCategoryNewAction); checkSendedMessegeFromKafka(Consts.DESTINATION_CLEARING_MEMBER_CATEGORY_NEW, clearingMemberCategoryNewAction); } @@ -83,19 +66,8 @@ class EditClearingMemberCategoryControllerTest extends AbstractControllerTest { clearingMemberCategoryUpdateAction.setClearingMemberCategory("Category"); clearingMemberCategoryUpdateAction.setId(currentId.get()); - CudResponse expected = new CudResponse(); - expected.setCode(0L); - expected.setMessage("success"); - expected.setPayload(new QueueSuccessResponse(ActionType.UPDATE, currentId.getAndIncrement())); - //ACT - perform(MockMvcRequestBuilders.put(REST_URL + clearingMemberCategoryUpdateAction.getId()) - .contentType(MediaType.APPLICATION_JSON) - .content(writeValue(clearingMemberCategoryUpdateAction))) - .andDo(print())//output to the log request and response - //ASSERT - .andExpect(status().isOk()) - .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) - .andExpect(content().json(writeValue(expected))); + //ACT and ASSERT + checkUpdatingByRestApi(REST_URL, clearingMemberCategoryUpdateAction, clearingMemberCategoryUpdateAction.getId()); checkSendedMessegeFromKafka(Consts.DESTINATION_CLEARING_MEMBER_CATEGORY_UPDATE, clearingMemberCategoryUpdateAction); } @@ -108,20 +80,10 @@ class EditClearingMemberCategoryControllerTest extends AbstractControllerTest { void delete() throws Exception { //ARRANGE long id = currentId.getAndIncrement(); - CudResponse expected = new CudResponse(); - expected.setCode(0L); - expected.setMessage("success"); - expected.setPayload(new QueueSuccessResponse(ActionType.DELETE, id)); CommonDeleteAction deleteAction = new CommonDeleteAction(); deleteAction.setId(id); - //ACT - perform(MockMvcRequestBuilders.delete(REST_URL + id) - .contentType(MediaType.APPLICATION_JSON)) - .andDo(print())//output to the log request and response - //ASSERT - .andExpect(status().isOk()) - .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) - .andExpect(content().json(writeValue(expected))); + //ACT and ASSERT + checkDeletingByRestApi(REST_URL, id); checkSendedMessegeFromKafka(Consts.DESTINATION_CLEARING_MEMBER_CATEGORY_DELETE, deleteAction); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditCompanyInfoControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditCompanyInfoControllerTest.java index 38c1eb75a..b503dfaf8 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditCompanyInfoControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditCompanyInfoControllerTest.java @@ -9,13 +9,10 @@ import ru.clearing.classes.statics.data.profile.CompanyInfo; import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; import ru.spcex.clearing.backendapi.controller.request.cud.company.ClearingMemberCategoryNewAction; import ru.spcex.clearing.backendapi.controller.request.cud.company.CompanyInfoUpdateAction; -import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse; -import ru.spcex.clearing.backendapi.controller.response.cud.QueueSuccessResponse; import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse; import ru.spcex.clearing.backendapi.domain.actions.IAction; import ru.spcex.clearing.backendapi.errors.ActionValidationException; import ru.spcex.clearing.imdg.IMDGDistributedNames; -import ru.spcex.clearing.platform.messaging.domain.ActionType; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.platform.imdg.api.Imdg; @@ -95,19 +92,8 @@ class EditCompanyInfoControllerTest extends AbstractControllerTest { companyInfoUpdateAction.setFullName("exists fullName"); companyInfoUpdateAction.setId(currentId.get()); - CudResponse expected = new CudResponse(); - expected.setCode(0L); - expected.setMessage("success"); - expected.setPayload(new QueueSuccessResponse(ActionType.UPDATE, currentId.getAndIncrement())); - //ACT - perform(MockMvcRequestBuilders.put(REST_URL + companyInfoUpdateAction.getId()) - .contentType(MediaType.APPLICATION_JSON) - .content(writeValue(companyInfoUpdateAction))) - .andDo(print())//output to the log request and response - //ASSERT - .andExpect(status().isOk()) - .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) - .andExpect(content().json(writeValue(expected))); + //ACT and ASSERT + checkUpdatingByRestApi(REST_URL, companyInfoUpdateAction, companyInfoUpdateAction.getId()); checkSendedMessegeFromKafka(Consts.DESTINATION_COMPANY_INFO_UPDATE, companyInfoUpdateAction); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditCompanySymbolControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditCompanySymbolControllerTest.java index fd80b588c..7368196d8 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditCompanySymbolControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditCompanySymbolControllerTest.java @@ -8,18 +8,12 @@ import ru.clearing.classes.statics.data.company.CompanySymbols; import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; import ru.spcex.clearing.backendapi.controller.request.cud.company.ClearingMemberCategoryNewAction; import ru.spcex.clearing.backendapi.controller.request.cud.company.CompanySymbolUpdateAction; -import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse; -import ru.spcex.clearing.backendapi.controller.response.cud.QueueSuccessResponse; import ru.spcex.clearing.backendapi.domain.actions.IAction; import ru.spcex.clearing.backendapi.errors.ActionValidationException; import ru.spcex.clearing.imdg.IMDGDistributedNames; -import ru.spcex.clearing.platform.messaging.domain.ActionType; import ru.spcex.clearing.platform.messaging.domain.Consts; import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static ru.spcex.clearing.backendapi.controller.utils.JsonUtil.writeValue; class EditCompanySymbolControllerTest extends AbstractControllerTest { @@ -58,19 +52,8 @@ class EditCompanySymbolControllerTest extends AbstractControllerTest { companySymbolUpdateAction.setCompanySymbolValue("SymbolValue"); companySymbolUpdateAction.setId(currentId.get()); - CudResponse expected = new CudResponse(); - expected.setCode(0L); - expected.setMessage("success"); - expected.setPayload(new QueueSuccessResponse(ActionType.UPDATE, currentId.getAndIncrement())); - //ACT - perform(MockMvcRequestBuilders.put(REST_URL + companySymbolUpdateAction.getId()) - .contentType(MediaType.APPLICATION_JSON) - .content(writeValue(companySymbolUpdateAction))) - .andDo(print())//output to the log request and response - //ASSERT - .andExpect(status().isOk()) - .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) - .andExpect(content().json(writeValue(expected))); + //ACT and ASSERT + checkUpdatingByRestApi(REST_URL, companySymbolUpdateAction, companySymbolUpdateAction.getId()); checkSendedMessegeFromKafka(Consts.DESTINATION_COMPANY_SYMBOL_UPDATE, companySymbolUpdateAction); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditContactControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditContactControllerTest.java index a483b0616..5f51b0b1c 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditContactControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditContactControllerTest.java @@ -9,18 +9,12 @@ import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; import ru.spcex.clearing.backendapi.controller.request.cud.company.ClearingMemberCategoryNewAction; import ru.spcex.clearing.backendapi.controller.request.cud.company.CompanySymbolUpdateAction; import ru.spcex.clearing.backendapi.controller.request.cud.company.ContactUpdateAction; -import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse; -import ru.spcex.clearing.backendapi.controller.response.cud.QueueSuccessResponse; import ru.spcex.clearing.backendapi.domain.actions.IAction; import ru.spcex.clearing.backendapi.errors.ActionValidationException; import ru.spcex.clearing.imdg.IMDGDistributedNames; -import ru.spcex.clearing.platform.messaging.domain.ActionType; import ru.spcex.clearing.platform.messaging.domain.Consts; import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static ru.spcex.clearing.backendapi.controller.utils.JsonUtil.writeValue; class EditContactControllerTest extends AbstractControllerTest { @@ -59,19 +53,8 @@ class EditContactControllerTest extends AbstractControllerTest { companySymbolUpdateAction.setContactValue("ContactValue"); companySymbolUpdateAction.setId(currentId.get()); - CudResponse expected = new CudResponse(); - expected.setCode(0L); - expected.setMessage("success"); - expected.setPayload(new QueueSuccessResponse(ActionType.UPDATE, currentId.getAndIncrement())); - //ACT - perform(MockMvcRequestBuilders.put(REST_URL + companySymbolUpdateAction.getId()) - .contentType(MediaType.APPLICATION_JSON) - .content(writeValue(companySymbolUpdateAction))) - .andDo(print())//output to the log request and response - //ASSERT - .andExpect(status().isOk()) - .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) - .andExpect(content().json(writeValue(expected))); + //ACT and ASSERT + checkUpdatingByRestApi(REST_URL, companySymbolUpdateAction, companySymbolUpdateAction.getId()); checkSendedMessegeFromKafka(Consts.DESTINATION_CONTACT_UPDATE, companySymbolUpdateAction); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/RelationControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/RelationControllerTest.java index b198512b9..89f88ce87 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/RelationControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/RelationControllerTest.java @@ -8,19 +8,13 @@ import ru.clearing.classes.statics.data.account.BankAccount; import ru.clearing.classes.statics.data.company.relation.Relation; import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; import ru.spcex.clearing.backendapi.controller.request.cud.company.RelationUpdateAction; -import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse; -import ru.spcex.clearing.backendapi.controller.response.cud.QueueSuccessResponse; import ru.spcex.clearing.backendapi.domain.actions.IAction; import ru.spcex.clearing.backendapi.errors.ActionValidationException; import ru.spcex.clearing.imdg.IMDGDistributedNames; -import ru.spcex.clearing.platform.messaging.domain.ActionType; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.platform.imdg.api.Imdg; import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static ru.spcex.clearing.backendapi.controller.utils.JsonUtil.writeValue; class RelationControllerTest extends AbstractControllerTest { @@ -46,20 +40,8 @@ class RelationControllerTest extends AbstractControllerTest { Imdg relationImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_Relation, Relation.class); relationImdg.insert(relation); - CudResponse expected = new CudResponse(); - expected.setCode(0L); - expected.setMessage("success"); - expected.setPayload(new QueueSuccessResponse(ActionType.UPDATE, currentId.getAndIncrement())); - - //ACT - perform(MockMvcRequestBuilders.put(REST_URL + existsId) - .contentType(MediaType.APPLICATION_JSON) - .content(writeValue(relationUpdateAction))) - .andDo(print())//output to the log request and response - // ASSERT - .andExpect(status().isOk()) - .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) - .andExpect(content().json(writeValue(expected))); + //ACT and ASSERT + checkUpdatingByRestApi(REST_URL, relationUpdateAction, existsId); checkSendedMessegeFromKafka(Consts.DESTINATION_RELATION_UPDATE, relationUpdateAction); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/AdmittedDealRegisterControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/AdmittedDealRegisterControllerTest.java new file mode 100644 index 000000000..57b24b492 --- /dev/null +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/AdmittedDealRegisterControllerTest.java @@ -0,0 +1,45 @@ +package ru.spcex.clearing.backendapi.controller.queue.register; + +import org.junit.jupiter.api.Test; +import ru.clearing.classes.statics.data.register.AdmittedDealRegister; +import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +import java.math.BigDecimal; +import java.time.Instant; +import java.time.LocalDate; + +class AdmittedDealRegisterControllerTest extends AbstractControllerTest { + private static final String REST_URL = "/admitted-deal-registers/"; + + /** + * {@link AdmittedDealRegisterController#getAll()}
+ * Тест проверяет получение запроса по REST API.
+ * Входной запрос /admitted-deal-registers/
+ * Ответ CommonGetAllResponse
+ */ + @Test + void getAll() throws Exception { + //ARRANGE + AdmittedDealRegister admittedDealRegister = new AdmittedDealRegister(); + admittedDealRegister.setId(currentId.get()); + admittedDealRegister.setExecutionId(currentId.get()); + admittedDealRegister.setCompanyFullName("com"); + admittedDealRegister.setTradingDate(LocalDate.now()); + admittedDealRegister.setExchangeExecutionId(currentId.get()); + admittedDealRegister.setExchangeExecutionTime(Instant.now()); + admittedDealRegister.setSecuritySymbol("symb"); + admittedDealRegister.setSecurityFullName("name"); + admittedDealRegister.setSellerFullName("dos"); + admittedDealRegister.setSellerClearingCode("code"); + admittedDealRegister.setSellerAccount("acc"); + admittedDealRegister.setBuyerFullName("name"); + admittedDealRegister.setBuyerClearingCode("code"); + admittedDealRegister.setBuyerAccount("buy"); + admittedDealRegister.setAmount(new BigDecimal(0)); + admittedDealRegister.setClearingDate(LocalDate.now()); + + //ACT and ASSERT + checkGettingAllFromRestApi(IMDGDistributedNames.Map_AdmittedDealRegister, admittedDealRegister, REST_URL); + } +} \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/BalanceRegisterControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/BalanceRegisterControllerTest.java new file mode 100644 index 000000000..2ede1a0b0 --- /dev/null +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/BalanceRegisterControllerTest.java @@ -0,0 +1,43 @@ +package ru.spcex.clearing.backendapi.controller.queue.register; + +import org.junit.jupiter.api.Test; +import ru.clearing.classes.statics.data.misc.BalanceRegister; +import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +import java.math.BigDecimal; +import java.time.Instant; + +class BalanceRegisterControllerTest extends AbstractControllerTest { + private static final String REST_URL = "/balance-registers/"; + + /** + * {@link BalanceRegisterController#getAll()}
+ * Тест проверяет получение запроса по REST API.
+ * Входной запрос /balance-registers/
+ * Ответ CommonGetAllResponse
+ */ + @Test + void getAll() throws Exception { + //ARRANGE + BalanceRegister balanceRegister = new BalanceRegister(); + balanceRegister.setId(currentId.get()); + balanceRegister.setsDf01Date(Instant.now()); + balanceRegister.setCurrencyCode("com"); + balanceRegister.setSetHouseName("name"); + balanceRegister.setAccount("acc"); + balanceRegister.setInfoAccount("acc"); + balanceRegister.setRemainderSum(new BigDecimal(0)); + balanceRegister.setBlockedSum(new BigDecimal(0)); + balanceRegister.setUnblockedSum(new BigDecimal(0)); + balanceRegister.setInn("code"); + balanceRegister.setMarket(currentId.get()); + balanceRegister.setFullName("name"); + balanceRegister.setTypeRemains("code"); + balanceRegister.setDocNumber("buy"); + balanceRegister.setCompanyId(currentId.get()); + + //ACT and ASSERT + checkGettingAllFromRestApi(IMDGDistributedNames.Map_BalanceRegister, balanceRegister, REST_URL); + } +} \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ClearMemberRegisterControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ClearMemberRegisterControllerTest.java new file mode 100644 index 000000000..3f0bcac4d --- /dev/null +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ClearMemberRegisterControllerTest.java @@ -0,0 +1,54 @@ +package ru.spcex.clearing.backendapi.controller.queue.register; + +import org.junit.jupiter.api.Test; +import ru.clearing.classes.statics.data.misc.ClearMemberRegister; +import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +import java.time.Instant; +import java.time.LocalDate; + +class ClearMemberRegisterControllerTest extends AbstractControllerTest { + private static final String REST_URL = "/clearmember-registers/"; + + /** + * {@link ClearMemberRegisterController#getAll()}
+ * Тест проверяет получение запроса по REST API.
+ * Входной запрос /clearmember-registers/
+ * Ответ CommonGetAllResponse
+ */ + @Test + void getAll() throws Exception { + //ARRANGE + ClearMemberRegister clearMemberRegister = new ClearMemberRegister(); + clearMemberRegister.setId(currentId.get()); + clearMemberRegister.setTradingCode("code"); + clearMemberRegister.setClearingCode("com"); + clearMemberRegister.setFullName("name"); + clearMemberRegister.setShortName("name"); + clearMemberRegister.setCategoryList("cat"); + clearMemberRegister.setCorporationSole("symb"); + clearMemberRegister.setAccount("name"); + clearMemberRegister.setBank(currentId.get()); + clearMemberRegister.setBankName("code"); + clearMemberRegister.setInn("acc"); + clearMemberRegister.setBic("name"); + clearMemberRegister.setOgrn("code"); + clearMemberRegister.setCpp("buy"); + clearMemberRegister.setOcpo("ocpo"); + clearMemberRegister.setContractNumber("cont"); + clearMemberRegister.setContractDate(LocalDate.now()); + clearMemberRegister.setRegistrationDate(LocalDate.now()); + clearMemberRegister.setSystemDate(LocalDate.now()); + clearMemberRegister.setAccessDate(Instant.now()); + clearMemberRegister.setSuspentionDate(Instant.now()); + clearMemberRegister.setReopeningDate(Instant.now()); + clearMemberRegister.setCloseDate(Instant.now()); + clearMemberRegister.setExclusionDate(Instant.now()); + clearMemberRegister.setAddress("code"); + clearMemberRegister.setEmail("acc"); + + //ACT and ASSERT + checkGettingAllFromRestApi(IMDGDistributedNames.Map_ClearMemberRegister, clearMemberRegister, REST_URL); + } +} \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ContractRegisterControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ContractRegisterControllerTest.java new file mode 100644 index 000000000..3e756fcf4 --- /dev/null +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ContractRegisterControllerTest.java @@ -0,0 +1,42 @@ +package ru.spcex.clearing.backendapi.controller.queue.register; + +import org.junit.jupiter.api.Test; +import ru.clearing.classes.statics.data.register.ContractRegister; +import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +import java.time.LocalDate; + +class ContractRegisterControllerTest extends AbstractControllerTest { + private static final String REST_URL = "/contract-registers/"; + + /** + * {@link ContractRegisterController#getAll()}
+ * Тест проверяет получение запроса по REST API.
+ * Входной запрос /contract-registers/
+ * Ответ CommonGetAllResponse
+ */ + @Test + void getAll() throws Exception { + //ARRANGE + ContractRegister contractRegister = new ContractRegister(); + contractRegister.setId(currentId.get()); + contractRegister.setName("code"); + contractRegister.setNumber("com"); + contractRegister.setIssueDate(LocalDate.now()); + contractRegister.setCompanyFullName(currentId.get()); + contractRegister.setCompanyId(currentId.get()); + contractRegister.setDocumentType("symb"); + contractRegister.setIssuePlace("name"); + contractRegister.setIssuer("issure"); + contractRegister.setIssuerCode("code"); + contractRegister.setPlace("acc"); + contractRegister.setValidFromDate(LocalDate.now()); + contractRegister.setValidToDate(LocalDate.now()); + contractRegister.setCloseDate(LocalDate.now()); + contractRegister.setComment("ocpo"); + + //ACT and ASSERT + checkGettingAllFromRestApi(IMDGDistributedNames.Map_ContractRegister, contractRegister, REST_URL); + } +} \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/CoveredDealRegisterControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/CoveredDealRegisterControllerTest.java new file mode 100644 index 000000000..fa1382f24 --- /dev/null +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/CoveredDealRegisterControllerTest.java @@ -0,0 +1,45 @@ +package ru.spcex.clearing.backendapi.controller.queue.register; + +import org.junit.jupiter.api.Test; +import ru.clearing.classes.statics.data.register.CoveredDealRegister; +import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +import java.math.BigDecimal; +import java.time.Instant; +import java.time.LocalDate; + +class CoveredDealRegisterControllerTest extends AbstractControllerTest { + private static final String REST_URL = "/covered-deal-registers/"; + + /** + * {@link CoveredDealRegisterController#getAll()}
+ * Тест проверяет получение запроса по REST API.
+ * Входной запрос /covered-deal-registers/
+ * Ответ CommonGetAllResponse
+ */ + @Test + void getAll() throws Exception { + //ARRANGE + CoveredDealRegister coveredDealRegister = new CoveredDealRegister(); + coveredDealRegister.setId(currentId.get()); + coveredDealRegister.setExecutionId(currentId.get()); + coveredDealRegister.setCompanyFullName("com"); + coveredDealRegister.setTradingDate(LocalDate.now()); + coveredDealRegister.setExchangeExecutionId(currentId.get()); + coveredDealRegister.setExchangeExecutionTime(Instant.now()); + coveredDealRegister.setSecuritySymbol("symb"); + coveredDealRegister.setSecurityFullName("name"); + coveredDealRegister.setSellerFullName("name"); + coveredDealRegister.setSellerClearingCode("code"); + coveredDealRegister.setSellerAccount("acc"); + coveredDealRegister.setBuyerFullName("name"); + coveredDealRegister.setBuyerClearingCode("code"); + coveredDealRegister.setBuyerAccount("buy"); + coveredDealRegister.setAmount(new BigDecimal(0)); + coveredDealRegister.setClearingDate(LocalDate.now()); + + //ACT and ASSERT + checkGettingAllFromRestApi(IMDGDistributedNames.Map_CoveredDealRegister, coveredDealRegister, REST_URL); + } +} \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/DealRegisterControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/DealRegisterControllerTest.java new file mode 100644 index 000000000..fd58907fd --- /dev/null +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/DealRegisterControllerTest.java @@ -0,0 +1,50 @@ +package ru.spcex.clearing.backendapi.controller.queue.register; + +import org.junit.jupiter.api.Test; +import ru.clearing.classes.statics.data.register.DealRegister; +import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +import java.math.BigDecimal; +import java.time.Instant; +import java.time.LocalDate; + +class DealRegisterControllerTest extends AbstractControllerTest { + private static final String REST_URL = "/deal-registers/"; + + /** + * {@link DealRegisterController#getAll()}
+ * Тест проверяет получение запроса по REST API.
+ * Входной запрос /deal-registers/
+ * Ответ CommonGetAllResponse
+ */ + @Test + void getAll() throws Exception { + //ARRANGE + DealRegister dealRegister = new DealRegister(); + dealRegister.setId(currentId.get()); + dealRegister.setExecutionId(currentId.get()); + dealRegister.setExchangeExecutionId(currentId.get()); + dealRegister.setExchangeExecutionTime(Instant.now()); + dealRegister.setTradingDate(LocalDate.now()); + dealRegister.setAccount("cat"); + dealRegister.setMarket("symb"); + dealRegister.setPrice(new BigDecimal(0)); + dealRegister.setAmount(new BigDecimal(0)); + dealRegister.setSide("code"); + dealRegister.setSettlementCurrency("acc"); + dealRegister.setCompanyId(currentId.get()); + dealRegister.setFirstLegSettlementDate(LocalDate.now()); + dealRegister.setSecondLegSettlementDate(LocalDate.now()); + dealRegister.setSecurityFullName("ocpo"); + dealRegister.setSecuritySymbol("cont"); + dealRegister.setSecurityId(currentId.get()); + dealRegister.setCounterPartyId(currentId.get()); + dealRegister.setCoverageStatus("status"); + dealRegister.setSessionId(currentId.get()); + dealRegister.setClearingDate(LocalDate.now()); + + //ACT and ASSERT + checkGettingAllFromRestApi(IMDGDistributedNames.Map_DealRegister, dealRegister, REST_URL); + } +} \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/OrderRegisterControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/OrderRegisterControllerTest.java new file mode 100644 index 000000000..fdac282cf --- /dev/null +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/OrderRegisterControllerTest.java @@ -0,0 +1,38 @@ +package ru.spcex.clearing.backendapi.controller.queue.register; + +import org.junit.jupiter.api.Test; +import ru.clearing.classes.statics.data.register.OrderRegister; +import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +import java.math.BigDecimal; +import java.time.LocalDate; + +class OrderRegisterControllerTest extends AbstractControllerTest { + private static final String REST_URL = "/order-registers/"; + + /** + * {@link OrderRegisterController#getAll()}
+ * Тест проверяет получение запроса по REST API.
+ * Входной запрос /order-registers/
+ * Ответ CommonGetAllResponse
+ */ + @Test + void getAll() throws Exception { + //ARRANGE + OrderRegister orderRegister = new OrderRegister(); + orderRegister.setId(currentId.get()); + orderRegister.setCreditLegAccount("code"); + orderRegister.setCreditLegAmount(new BigDecimal(0)); + orderRegister.setCreditLegCurrencyCode("name"); + orderRegister.setCreditLegDirection(currentId.get()); + orderRegister.setDebitLegAccount("cat"); + orderRegister.setSender("symb"); + orderRegister.setAddressee("name"); + orderRegister.setDocumentNumber("doc"); + orderRegister.setClearingDate(LocalDate.now()); + + //ACT and ASSERT + checkGettingAllFromRestApi(IMDGDistributedNames.Map_OrderRegister, orderRegister, REST_URL); + } +} \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ReportRegisterControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ReportRegisterControllerTest.java new file mode 100644 index 000000000..69ea99f86 --- /dev/null +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ReportRegisterControllerTest.java @@ -0,0 +1,35 @@ +package ru.spcex.clearing.backendapi.controller.queue.register; + +import org.junit.jupiter.api.Test; +import ru.clearing.classes.statics.data.register.ReportRegister; +import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +import java.time.LocalDate; + +class ReportRegisterControllerTest extends AbstractControllerTest { + private static final String REST_URL = "/report-registers/"; + + /** + * {@link ReportRegisterController#getAll()}
+ * Тест проверяет получение запроса по REST API.
+ * Входной запрос /report-registers/
+ * Ответ CommonGetAllResponse
+ */ + @Test + void getAll() throws Exception { + //ARRANGE + ReportRegister reportRegister = new ReportRegister(); + reportRegister.setId(currentId.get()); + reportRegister.setCompanyFullName("code"); + reportRegister.setClearingCode("code"); + reportRegister.setSessionId(currentId.get()); + reportRegister.setComment("coment"); + reportRegister.setName("cat"); + reportRegister.setQuantity(currentId.get()); + reportRegister.setClearingDate(LocalDate.now()); + + //ACT and ASSERT + checkGettingAllFromRestApi(IMDGDistributedNames.Map_ReportRegister, reportRegister, REST_URL); + } +} \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/UncoveredDealRegisterControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/UncoveredDealRegisterControllerTest.java new file mode 100644 index 000000000..a59b38f85 --- /dev/null +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/UncoveredDealRegisterControllerTest.java @@ -0,0 +1,46 @@ +package ru.spcex.clearing.backendapi.controller.queue.register; + +import org.junit.jupiter.api.Test; +import ru.clearing.classes.statics.data.register.UncoveredDealRegister; +import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +import java.math.BigDecimal; +import java.time.Instant; +import java.time.LocalDate; + +class UncoveredDealRegisterControllerTest extends AbstractControllerTest { + private static final String REST_URL = "/uncovered-deal-registers/"; + + /** + * {@link UncoveredDealRegisterController#getAll()}
+ * Тест проверяет получение запроса по REST API.
+ * Входной запрос /uncovered-deal-registers/
+ * Ответ CommonGetAllResponse
+ */ + @Test + void getAll() throws Exception { + //ARRANGE + UncoveredDealRegister uncoveredDealRegister = new UncoveredDealRegister(); + uncoveredDealRegister.setId(currentId.get()); + uncoveredDealRegister.setExecutionId(currentId.get()); + uncoveredDealRegister.setCompanyFullName("code"); + uncoveredDealRegister.setTradingDate(LocalDate.now()); + uncoveredDealRegister.setExchangeExecutionId(currentId.get()); + uncoveredDealRegister.setExchangeExecutionTime(Instant.now()); + uncoveredDealRegister.setSecuritySymbol("sec"); + uncoveredDealRegister.setSecurityFullName("code"); + uncoveredDealRegister.setSellerFullName("code"); + uncoveredDealRegister.setSellerClearingCode("sell"); + uncoveredDealRegister.setSellerAccount("coment"); + uncoveredDealRegister.setBuyerFullName("cat"); + uncoveredDealRegister.setBuyerClearingCode("buyer"); + uncoveredDealRegister.setBuyerAccount("code"); + uncoveredDealRegister.setAmount(new BigDecimal(0)); + uncoveredDealRegister.setResultStatus("res"); + uncoveredDealRegister.setClearingDate(LocalDate.now()); + + //ACT and ASSERT + checkGettingAllFromRestApi(IMDGDistributedNames.Map_UncoveredDealRegister, uncoveredDealRegister, REST_URL); + } +} \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/ClearingCalendarControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/ClearingCalendarControllerTest.java new file mode 100644 index 000000000..6551d649c --- /dev/null +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/ClearingCalendarControllerTest.java @@ -0,0 +1,90 @@ +package ru.spcex.clearing.backendapi.controller.queue.scheduler; + +import org.junit.jupiter.api.Test; +import ru.clearing.classes.statics.data.scheduler.ClearingCalendar; +import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; +import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction; +import ru.spcex.clearing.backendapi.controller.request.cud.schedule.ClearingCalendarNewAction; +import ru.spcex.clearing.backendapi.controller.request.cud.schedule.ClearingCalendarUpdateAction; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.platform.messaging.domain.Consts; + +import java.time.LocalDate; + +class ClearingCalendarControllerTest extends AbstractControllerTest { + private static final String REST_URL = "/schedule/clearing-calendars/"; + + /** + * {@link ClearingCalendarController#getAll()}
+ * Тест проверяет получение запроса по REST API.
+ * Входной запрос /schedule/clearing-calendars/
+ * Ответ CommonGetAllResponse
+ */ + @Test + void getAll() throws Exception { + //ARRANGE + ClearingCalendar clearingCalendar = new ClearingCalendar(); + clearingCalendar.setId(currentId.get()); + clearingCalendar.setCompanyId(currentId.get()); + clearingCalendar.setClearingDate(LocalDate.now()); + clearingCalendar.setDayStatus("status"); + + //ACT and ASSERT + checkGettingAllFromRestApi(IMDGDistributedNames.Map_ClearingCalendar, clearingCalendar, REST_URL); + } + + /** + * {@link ClearingCalendarController#add(ClearingCalendarNewAction)}
+ * Тест проверяет получение сущности {@link ClearingCalendarNewAction} по REST API и отправку в Apache Kafka.
+ * Входной запрос {@link ClearingCalendarNewAction}:
+ */ + @Test + void add() throws Exception { + //ARRANGE + ClearingCalendarNewAction clearingCalendarNewAction = new ClearingCalendarNewAction(); + clearingCalendarNewAction.setCompanyId(currentId.get()); + clearingCalendarNewAction.setClearingDate(LocalDate.now()); + clearingCalendarNewAction.setDayStatus("status"); + + //ACT and ASSERT + checkAddingByRestApi(REST_URL, clearingCalendarNewAction); + checkSendedMessegeFromKafka(Consts.DESTINATION_CLEARING_CALENDAR_NEW, clearingCalendarNewAction); + } + + /** + * {@link ClearingCalendarController#update(Long, ClearingCalendarUpdateAction)}
+ * Тест проверяет получение сущности {@link ClearingCalendarUpdateAction} по REST API и отправку в Apache Kafka.
+ * Входной запрос {@link ClearingCalendarUpdateAction}:
+ */ + @Test + void update() throws Exception { + //ARRANGE + long id = currentId.getAndIncrement(); + ClearingCalendarUpdateAction clearingCalendarUpdateAction = new ClearingCalendarUpdateAction(); + clearingCalendarUpdateAction.setId(id); + clearingCalendarUpdateAction.setCompanyId(currentId.get()); + clearingCalendarUpdateAction.setClearingDate(LocalDate.now()); + clearingCalendarUpdateAction.setDayStatus("status"); + + //ACT and ASSERT + checkUpdatingByRestApi(REST_URL, clearingCalendarUpdateAction, id); + checkSendedMessegeFromKafka(Consts.DESTINATION_CLEARING_CALENDAR_UPDATE, clearingCalendarUpdateAction); + } + + /** + * {@link ClearingCalendarController#delete(Long)}
+ * Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.
+ * Входной запрос /schedule/clearing-calendars/{@link Long}: - 0L
+ */ + @Test + void delete() throws Exception { + //ARRANGE + long id = currentId.getAndIncrement(); + CommonDeleteAction deleteAction = new CommonDeleteAction(); + deleteAction.setId(id); + + //ACT and ASSERT + checkDeletingByRestApi(REST_URL, id); + checkSendedMessegeFromKafka(Consts.DESTINATION_CLEARING_CALENDAR_DELETE, deleteAction); + } +} \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/LauncherControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/LauncherControllerTest.java index eb127e694..beb6dc6d2 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/LauncherControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/LauncherControllerTest.java @@ -9,6 +9,7 @@ import org.keycloak.adapters.springsecurity.token.KeycloakAuthenticationToken; import org.keycloak.representations.AccessToken; import org.springframework.http.MediaType; import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import ru.clearing.classes.statics.data.scheduler.Launcher; import ru.clearing.classes.statics.data.user.User; @@ -18,6 +19,7 @@ import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; import ru.spcex.clearing.backendapi.controller.request.cud.schedule.LauncherNew; import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse; import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse; +import ru.spcex.clearing.backendapi.controller.response.cud.CudResponseTest; import ru.spcex.clearing.backendapi.controller.response.cud.QueueSuccessResponse; import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse; import ru.spcex.clearing.backendapi.errors.NotFound404Exception; @@ -36,6 +38,7 @@ import static org.mockito.Mockito.when; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +import static ru.spcex.clearing.backendapi.controller.utils.JsonUtil.readValue; import static ru.spcex.clearing.backendapi.controller.utils.JsonUtil.writeValue; class LauncherControllerTest extends AbstractControllerTest { @@ -100,13 +103,16 @@ class LauncherControllerTest extends AbstractControllerTest { setUserNameInMockSecurityContextAndMapUser(CODE, ID); //ACT - perform(MockMvcRequestBuilders.post(REST_URL + CODE) - .contentType(MediaType.APPLICATION_JSON)) + MvcResult mvcResult = perform(MockMvcRequestBuilders.post(REST_URL + CODE)) .andDo(print())//output to the log request and response //ASSERT .andExpect(status().isOk()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) - .andExpect(content().json(writeValue(expected))); +// .andExpect(content().json(writeValue(expected))); + .andReturn(); + CudResponseTest cudResponseTest = readValue(mvcResult.getResponse().getContentAsString(), CudResponseTest.class); + expected.setPayload(new QueueSuccessResponse(ActionType.NEW, cudResponseTest.getPayload().getId())); + CUD_RESPONSE_MATCHER.assertMatch(cudResponseTest, expected); checkSendedMessegeFromKafka(Consts.LAUNCHER_NEW, launcherCommand); } @@ -158,14 +164,18 @@ class LauncherControllerTest extends AbstractControllerTest { setUserNameInMockSecurityContextAndMapUser(START_OF_CLEARING, ID); //ACT - perform(MockMvcRequestBuilders.post(REST_URL + "specific") + MvcResult mvcResult = perform(MockMvcRequestBuilders.post(REST_URL + "specific") .contentType(MediaType.APPLICATION_JSON) .content(writeValue(launcherCommand))) .andDo(print())//output to the log request and response //ASSERT .andExpect(status().isOk()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) - .andExpect(content().json(writeValue(expected))); +// .andExpect(content().json(writeValue(expected))); + .andReturn(); + CudResponseTest cudResponseTest = readValue(mvcResult.getResponse().getContentAsString(), CudResponseTest.class); + expected.setPayload(new QueueSuccessResponse(ActionType.NEW, cudResponseTest.getPayload().getId())); + CUD_RESPONSE_MATCHER.assertMatch(cudResponseTest, expected); checkSendedMessegeFromKafka(Consts.LAUNCHER_NEW, launcherCommand); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerTemplateControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerTemplateControllerTest.java new file mode 100644 index 000000000..e5f134d8e --- /dev/null +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerTemplateControllerTest.java @@ -0,0 +1,96 @@ +package ru.spcex.clearing.backendapi.controller.queue.scheduler; + +import org.junit.jupiter.api.Test; +import ru.clearing.classes.statics.data.scheduler.PlannerTemplate; +import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; +import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction; +import ru.spcex.clearing.backendapi.controller.request.cud.schedule.PlannerTemplateNewAction; +import ru.spcex.clearing.backendapi.controller.request.cud.schedule.PlannerTemplateUpdateAction; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.platform.messaging.domain.Consts; + +import java.time.LocalTime; + +class PlannerTemplateControllerTest extends AbstractControllerTest { + private static final String REST_URL = "/schedule/planner-templates/"; + + /** + * {@link PlannerTemplateController#getAll()}
+ * Тест проверяет получение запроса по REST API.
+ * Входной запрос /schedule/planner-templates/
+ * Ответ CommonGetAllResponse
+ */ + @Test + void getAll() throws Exception { + //ARRANGE + PlannerTemplate plannerTemplate = new PlannerTemplate(); + plannerTemplate.setId(currentId.get()); + plannerTemplate.setTask("task"); + plannerTemplate.setTaskTime(LocalTime.now()); + plannerTemplate.setTaskStatus("status"); + plannerTemplate.setCompanyId(currentId.get()); + plannerTemplate.setSecurityId(currentId.get()); + + //ACT and ASSERT + checkGettingAllFromRestApi(IMDGDistributedNames.Map_PlannerTemplate, plannerTemplate, REST_URL); + } + + /** + * {@link PlannerTemplateController#add(PlannerTemplateNewAction)}
+ * Тест проверяет получение сущности {@link PlannerTemplateNewAction} по REST API и отправку в Apache Kafka.
+ * Входной запрос {@link PlannerTemplateNewAction}:
+ */ + @Test + void add() throws Exception { + //ARRANGE + PlannerTemplateNewAction plannerTemplateNewAction = new PlannerTemplateNewAction(); + plannerTemplateNewAction.setTask("task"); + plannerTemplateNewAction.setTaskTime(LocalTime.now().withNano(0)); + plannerTemplateNewAction.setTaskStatus("status"); + plannerTemplateNewAction.setCompanyId(currentId.get()); + plannerTemplateNewAction.setSecurityId(currentId.get()); + + //ACT and ASSERT + checkAddingByRestApi(REST_URL, plannerTemplateNewAction); + checkSendedMessegeFromKafka(Consts.DESTINATION_PLANNER_TEMPLATE_NEW, plannerTemplateNewAction); + } + + /** + * {@link PlannerTemplateController#update(Long, PlannerTemplateUpdateAction)}
+ * Тест проверяет получение сущности {@link PlannerTemplateUpdateAction} по REST API и отправку в Apache Kafka.
+ * Входной запрос {@link PlannerTemplateUpdateAction}:
+ */ + @Test + void update() throws Exception { + //ARRANGE + long id = currentId.getAndIncrement(); + PlannerTemplateUpdateAction plannerTemplateUpdateAction = new PlannerTemplateUpdateAction(); + plannerTemplateUpdateAction.setId(id); + plannerTemplateUpdateAction.setTask("task"); + plannerTemplateUpdateAction.setTaskTime(LocalTime.now().withNano(0)); + plannerTemplateUpdateAction.setTaskStatus("status"); + plannerTemplateUpdateAction.setCompanyId(currentId.get()); + plannerTemplateUpdateAction.setSecurityId(currentId.get()); + + //ACT and ASSERT + checkUpdatingByRestApi(REST_URL, plannerTemplateUpdateAction, id); + checkSendedMessegeFromKafka(Consts.DESTINATION_PLANNER_TEMPLATE_UPDATE, plannerTemplateUpdateAction); + } + + /** + * {@link PlannerTemplateController#delete(Long)}
+ * Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.
+ * Входной запрос /schedule/planner-templates/{@link Long}: - 0L
+ */ + @Test + void delete() throws Exception { + //ARRANGE + long id = currentId.getAndIncrement(); + CommonDeleteAction deleteAction = new CommonDeleteAction(); + deleteAction.setId(id); + + //ACT and ASSERT + checkDeletingByRestApi(REST_URL, id); + checkSendedMessegeFromKafka(Consts.DESTINATION_PLANNER_TEMPLATE_DELETE, deleteAction); + } +} \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/CudMoneyMarketSecurityControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/CudMoneyMarketSecurityControllerTest.java new file mode 100644 index 000000000..29f8cc59a --- /dev/null +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/CudMoneyMarketSecurityControllerTest.java @@ -0,0 +1,95 @@ +package ru.spcex.clearing.backendapi.controller.queue.securities; + +import org.junit.jupiter.api.Test; +import ru.clearing.classes.statics.data.misc.MoneyMarketSecurity; +import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; +import ru.spcex.clearing.backendapi.controller.request.cud.schedule.PlannerTemplateNewAction; +import ru.spcex.clearing.backendapi.controller.request.cud.securities.MoneyMarketSecurityNewAction; +import ru.spcex.clearing.backendapi.controller.request.cud.securities.MoneyMarketSecurityUpdateAction; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.platform.messaging.domain.Consts; +import ru.spcex.platform.enumeration.Status; + +import java.math.BigDecimal; +import java.time.LocalDate; + +class CudMoneyMarketSecurityControllerTest extends AbstractControllerTest { + public static final String REST_URL = "/securities/money-securities/"; + + /** + * {@link CudMoneyMarketSecurityController#add(MoneyMarketSecurityNewAction)}
+ * Тест проверяет получение сущности {@link PlannerTemplateNewAction} по REST API и отправку в Apache Kafka.
+ * Входной запрос {@link PlannerTemplateNewAction}:
+ */ + @Test + void add() throws Exception { + //ARRANGE + MoneyMarketSecurityNewAction moneyMarketSecurityNewAction = new MoneyMarketSecurityNewAction(); + moneyMarketSecurityNewAction.setStartDate(LocalDate.now()); + moneyMarketSecurityNewAction.setEndDate(LocalDate.now()); + moneyMarketSecurityNewAction.setNominalValue(2D); + moneyMarketSecurityNewAction.setNominalCurrency("nominal"); + moneyMarketSecurityNewAction.setInstrumentType("status"); + moneyMarketSecurityNewAction.setFullName("fname"); + moneyMarketSecurityNewAction.setSecuritySymbol("sname"); + moneyMarketSecurityNewAction.setLotSize(3D); + + //ACT and ASSERT + checkAddingByRestApi(REST_URL, moneyMarketSecurityNewAction); + checkSendedMessegeFromKafka(Consts.DESTINATION_MONEY_MARKET_SECURITY_NEW, moneyMarketSecurityNewAction); + } + + /** + * {@link CudMoneyMarketSecurityController#update(Long, MoneyMarketSecurityUpdateAction)}
+ * Тест проверяет получение сущности {@link MoneyMarketSecurityUpdateAction} по REST API и отправку в Apache Kafka.
+ * Входной запрос {@link MoneyMarketSecurityUpdateAction}:
+ */ + @Test + void update() throws Exception { +// //ARRANGE +// long id = currentId.getAndIncrement(); +// MoneyMarketSecurityUpdateAction moneyMarketSecurityUpdateAction = new MoneyMarketSecurityUpdateAction(); +// moneyMarketSecurityUpdateAction.setId(id); +// moneyMarketSecurityUpdateAction.setStartDate(LocalDate.now()); +// moneyMarketSecurityUpdateAction.setEndDate(LocalDate.now()); +// moneyMarketSecurityUpdateAction.setNominalValue(2D); +// moneyMarketSecurityUpdateAction.setNominalCurrency("nominal"); +// moneyMarketSecurityUpdateAction.setInstrumentType("status"); +// moneyMarketSecurityUpdateAction.setFullName("fname"); +// moneyMarketSecurityUpdateAction.setLotSize(3D); +// +// //ACT and ASSERT +// checkUpdatingByRestApi(REST_URL, moneyMarketSecurityUpdateAction, id); +// checkSendedMessegeFromKafka(Consts.DESTINATION_MONEY_MARKET_SECURITY_UPDATE, moneyMarketSecurityUpdateAction); + } + + @Test + void delete() { + } + + /** + * {@link CudMoneyMarketSecurityController#getAll()}
+ * Тест проверяет получение запроса по REST API.
+ * Входной запрос /securities/money-securities/
+ * Ответ CommonGetAllResponse
+ */ + @Test + void getAll() throws Exception { + //ARRANGE + MoneyMarketSecurity moneyMarketSecurity = new MoneyMarketSecurity(); + moneyMarketSecurity.setId(currentId.get()); + moneyMarketSecurity.setSecurityId(currentId.get()); + moneyMarketSecurity.setDescription("desc"); + moneyMarketSecurity.setStartDate(LocalDate.now()); + moneyMarketSecurity.setEndDate(LocalDate.now()); + moneyMarketSecurity.setNominalValue(new BigDecimal(0)); + moneyMarketSecurity.setNominalCurrency("nominal"); + moneyMarketSecurity.setTermType("status"); + moneyMarketSecurity.setWorkflowStatus(Status.Active.getKey()); + moneyMarketSecurity.setFullName("name"); + + //ACT and ASSERT + checkGettingAllFromRestApi(IMDGDistributedNames.Map_MoneyMarketSecurity, moneyMarketSecurity, REST_URL); + } + +} \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/response/cud/CudResponseTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/response/cud/CudResponseTest.java new file mode 100644 index 000000000..bcef0fea0 --- /dev/null +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/response/cud/CudResponseTest.java @@ -0,0 +1,16 @@ +package ru.spcex.clearing.backendapi.controller.response.cud; + +import io.swagger.annotations.ApiModelProperty; + +public class CudResponseTest extends CudResponse { + @ApiModelProperty(value = "Информация о принятом запросе") + QueueSuccessResponseTest payload; + + public QueueSuccessResponseTest getPayload() { + return payload; + } + + public void setPayload(QueueSuccessResponseTest payload) { + this.payload = payload; + } +} \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/response/cud/QueueSuccessResponseTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/response/cud/QueueSuccessResponseTest.java new file mode 100644 index 000000000..41156093c --- /dev/null +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/response/cud/QueueSuccessResponseTest.java @@ -0,0 +1,26 @@ +package ru.spcex.clearing.backendapi.controller.response.cud; + +import com.fasterxml.jackson.annotation.JsonProperty; +import ru.spcex.clearing.platform.messaging.domain.ActionType; + +//пришлось дублировать этот класс чтобы не менять оригинал +public class QueueSuccessResponseTest extends QueueSuccessResponse { + + @JsonProperty + private ActionType action; + + @JsonProperty + private Long id; + + public QueueSuccessResponseTest() { + super(null, null); + } + + public ActionType getAction() { + return action; + } + + public Long getId() { + return id; + } +}