Adding test for register and simple refactoring.

This commit is contained in:
psemenkov 2023-02-20 18:53:15 +03:00
parent 7b50a49d5c
commit 4817f8644f
23 changed files with 847 additions and 194 deletions

View file

@ -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<BaseRequest> BASE_REQUEST_MATCHER = usingIgnoringFieldsComparator(BaseRequest.class);
protected static final MatcherFactory.Matcher<BaseRequest> BASE_REQUEST_MATCHER = usingIgnoringFieldsComparator(BaseRequest.class);
protected static final MatcherFactory.Matcher<CudResponse> 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 <T extends SpcexObjectBase> void checkGettingAllFromRestApi(String imdgDistributedNames, T existsObj, String restUrl) throws Exception {
Class<T> clazz = (Class<T>) existsObj.getClass();
Imdg<T> inDocumentJournalImdg = hazelcastServiceTest.getImdg(imdgDistributedNames, clazz);

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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<Relation> 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);
}

View file

@ -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()} <br>
* Тест проверяет получение запроса по REST API.<br>
* Входной запрос /admitted-deal-registers/ <br>
* Ответ CommonGetAllResponse <br>
*/
@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);
}
}

View file

@ -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()} <br>
* Тест проверяет получение запроса по REST API.<br>
* Входной запрос /balance-registers/ <br>
* Ответ CommonGetAllResponse <br>
*/
@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);
}
}

View file

@ -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()} <br>
* Тест проверяет получение запроса по REST API.<br>
* Входной запрос /clearmember-registers/ <br>
* Ответ CommonGetAllResponse <br>
*/
@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);
}
}

View file

@ -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()} <br>
* Тест проверяет получение запроса по REST API.<br>
* Входной запрос /contract-registers/ <br>
* Ответ CommonGetAllResponse <br>
*/
@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);
}
}

View file

@ -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()} <br>
* Тест проверяет получение запроса по REST API.<br>
* Входной запрос /covered-deal-registers/ <br>
* Ответ CommonGetAllResponse <br>
*/
@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);
}
}

View file

@ -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()} <br>
* Тест проверяет получение запроса по REST API.<br>
* Входной запрос /deal-registers/ <br>
* Ответ CommonGetAllResponse <br>
*/
@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);
}
}

View file

@ -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()} <br>
* Тест проверяет получение запроса по REST API.<br>
* Входной запрос /order-registers/ <br>
* Ответ CommonGetAllResponse <br>
*/
@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);
}
}

View file

@ -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()} <br>
* Тест проверяет получение запроса по REST API.<br>
* Входной запрос /report-registers/ <br>
* Ответ CommonGetAllResponse <br>
*/
@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);
}
}

View file

@ -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()} <br>
* Тест проверяет получение запроса по REST API.<br>
* Входной запрос /uncovered-deal-registers/ <br>
* Ответ CommonGetAllResponse <br>
*/
@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);
}
}

View file

@ -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()} <br>
* Тест проверяет получение запроса по REST API.<br>
* Входной запрос /schedule/clearing-calendars/ <br>
* Ответ CommonGetAllResponse <br>
*/
@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)} <br>
* Тест проверяет получение сущности {@link ClearingCalendarNewAction} по REST API и отправку в Apache Kafka.<br>
* Входной запрос {@link ClearingCalendarNewAction}:<br>
*/
@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)} <br>
* Тест проверяет получение сущности {@link ClearingCalendarUpdateAction} по REST API и отправку в Apache Kafka.<br>
* Входной запрос {@link ClearingCalendarUpdateAction}:<br>
*/
@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)} <br>
* Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.<br>
* Входной запрос /schedule/clearing-calendars/{@link Long}: - 0L<br>
*/
@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);
}
}

View file

@ -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);
}

View file

@ -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()} <br>
* Тест проверяет получение запроса по REST API.<br>
* Входной запрос /schedule/planner-templates/ <br>
* Ответ CommonGetAllResponse <br>
*/
@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)}<br>
* Тест проверяет получение сущности {@link PlannerTemplateNewAction} по REST API и отправку в Apache Kafka.<br>
* Входной запрос {@link PlannerTemplateNewAction}:<br>
*/
@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)} <br>
* Тест проверяет получение сущности {@link PlannerTemplateUpdateAction} по REST API и отправку в Apache Kafka.<br>
* Входной запрос {@link PlannerTemplateUpdateAction}:<br>
*/
@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)} <br>
* Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.<br>
* Входной запрос /schedule/planner-templates/{@link Long}: - 0L<br>
*/
@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);
}
}

View file

@ -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)} <br>
* Тест проверяет получение сущности {@link PlannerTemplateNewAction} по REST API и отправку в Apache Kafka.<br>
* Входной запрос {@link PlannerTemplateNewAction}:<br>
*/
@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)} <br>
* Тест проверяет получение сущности {@link MoneyMarketSecurityUpdateAction} по REST API и отправку в Apache Kafka.<br>
* Входной запрос {@link MoneyMarketSecurityUpdateAction}:<br>
*/
@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()} <br>
* Тест проверяет получение запроса по REST API.<br>
* Входной запрос /securities/money-securities/ <br>
* Ответ CommonGetAllResponse <br>
*/
@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);
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}