backend-api http://jira.mfd.msk:8088/browse/CLS-257 unit-test дополнил, поправил
This commit is contained in:
parent
5d75c6f53d
commit
32590c00f8
14 changed files with 9162 additions and 7219 deletions
|
|
@ -16,6 +16,7 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
@Controller
|
@Controller
|
||||||
@RequestMapping("/account-balances")
|
@RequestMapping("/account-balances")
|
||||||
public class AccountBalanceController {
|
public class AccountBalanceController {
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,7 @@ public class EquitySecurityUpdateAction implements IAction<EquitySecurityUpdateR
|
||||||
@ApiModelProperty(hidden = true)
|
@ApiModelProperty(hidden = true)
|
||||||
@Override
|
@Override
|
||||||
public ActionType getActionType() {
|
public ActionType getActionType() {
|
||||||
return ActionType.NEW;
|
return ActionType.UPDATE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -109,7 +109,7 @@ public class FixedIncomeSecurityUpdateAction implements IAction<FixedIncomeSecur
|
||||||
@ApiModelProperty(hidden = true)
|
@ApiModelProperty(hidden = true)
|
||||||
@Override
|
@Override
|
||||||
public ActionType getActionType() {
|
public ActionType getActionType() {
|
||||||
return ActionType.NEW;
|
return ActionType.UPDATE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -24,4 +24,10 @@ public class ActionValidationException extends RuntimeException {
|
||||||
public Collection<EnumMessage> getErrors() {
|
public Collection<EnumMessage> getErrors() {
|
||||||
return errors;
|
return errors;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "ActionValidationException{message:" + getMessage() +
|
||||||
|
", errors=" + errors + "}";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -421,7 +421,7 @@
|
||||||
</put>
|
</put>
|
||||||
</actions>
|
</actions>
|
||||||
</companyInfo>
|
</companyInfo>
|
||||||
<clearingMemberCategory name="Категории участника клиринга" destination="clearing-member-categories" class="ru.clearing.classes.statics.data.generated.ClearingMemberCategory" logUpdates="true" table="clearing_member_category">
|
<clearingMemberCategory name="Категории участника клиринга" destination="clearing-member-categories" class="ru.clearing.classes.statics.data.company.ClearingMemberCategory" logUpdates="true" table="clearing_member_category">
|
||||||
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
|
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
|
||||||
<clearingMemberCategory type="12" dbname="Код категории участника клиринга" name="Категория участника клиринга" shortname="Категория" searchable="true" sortable="true" visible="true" link="clearingCategory"/>
|
<clearingMemberCategory type="12" dbname="Код категории участника клиринга" name="Категория участника клиринга" shortname="Категория" searchable="true" sortable="true" visible="true" link="clearingCategory"/>
|
||||||
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
|
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
|
||||||
|
|
@ -602,7 +602,7 @@
|
||||||
</delete>
|
</delete>
|
||||||
</actions>
|
</actions>
|
||||||
</moneyMarketSecurity>
|
</moneyMarketSecurity>
|
||||||
<equitySecurity name="Акции" destination="securities/equity-securities" class="com.spicex.platform.classes.StaticData.Instrument.Issue.Equity" logUpdates="true" table="equity_security">
|
<equitySecurity name="Акции" destination="securities/equity-securities" class="ru.clearing.classes.statics.data.instrument.issue.EquitySecurity" logUpdates="true" table="equity_security">
|
||||||
<securityId type="1" dbname="Идентификатор инструмента" name="Наименование инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security" linkCode="shortName"/>
|
<securityId type="1" dbname="Идентификатор инструмента" name="Наименование инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security" linkCode="shortName"/>
|
||||||
<shortName type="2" length="255" name="Краткое наименование инструмента" shortname="Краткое наименование" searchable="true" sortable="true" visible="true" extends="security"/>
|
<shortName type="2" length="255" name="Краткое наименование инструмента" shortname="Краткое наименование" searchable="true" sortable="true" visible="true" extends="security"/>
|
||||||
<securitySymbol type="2" length="255" name="Код инструмента" shortname="Код" searchable="true" sortable="true" visible="true" extends="security"/>
|
<securitySymbol type="2" length="255" name="Код инструмента" shortname="Код" searchable="true" sortable="true" visible="true" extends="security"/>
|
||||||
|
|
@ -649,7 +649,7 @@
|
||||||
</delete>
|
</delete>
|
||||||
</actions>
|
</actions>
|
||||||
</equitySecurity>
|
</equitySecurity>
|
||||||
<fixedIncomeSecurity name="Облигации" destination="securities/fixed-income-securities" class="com.spicex.platform.classes.StaticData.Instrument.Issue.FixedIncome" logUpdates="true" table="fixed_income_security">
|
<fixedIncomeSecurity name="Облигации" destination="securities/fixed-income-securities" class="ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity" logUpdates="true" table="fixed_income_security">
|
||||||
<securityId type="1" dbname="Идентификатор инструмента" name="Наименование инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security" linkCode="shortName"/>
|
<securityId type="1" dbname="Идентификатор инструмента" name="Наименование инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security" linkCode="shortName"/>
|
||||||
<shortName type="2" length="255" name="Краткое наименование инструмента" shortname="Краткое наименование" searchable="true" sortable="true" visible="true" extends="security"/>
|
<shortName type="2" length="255" name="Краткое наименование инструмента" shortname="Краткое наименование" searchable="true" sortable="true" visible="true" extends="security"/>
|
||||||
<securitySymbol type="2" length="255" name="Код инструмента" shortname="Код" searchable="true" sortable="true" visible="true" extends="security"/>
|
<securitySymbol type="2" length="255" name="Код инструмента" shortname="Код" searchable="true" sortable="true" visible="true" extends="security"/>
|
||||||
|
|
@ -711,7 +711,7 @@
|
||||||
</delete>
|
</delete>
|
||||||
</actions>
|
</actions>
|
||||||
</fixedIncomeSecurity>
|
</fixedIncomeSecurity>
|
||||||
<fixedIncomeCashFlow name="Выплаты по купонам" destination="securities/fixed-income-cash-flows" class="com.spicex.platform.classes.StaticData.Instrument.Issue.FixedIncome" logUpdates="true" table="fixed_income_cash_flow">
|
<fixedIncomeCashFlow name="Выплаты по купонам" destination="securities/fixed-income-cash-flows" class="ru.clearing.classes.statics.data.instrument.issue.FixedIncomeCashFlow" logUpdates="true" table="fixed_income_cash_flow">
|
||||||
<securityId type="1" dbname="Идентификатор инструмента" name="Наименование инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security" linkCode="shortName"/>
|
<securityId type="1" dbname="Идентификатор инструмента" name="Наименование инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security" linkCode="shortName"/>
|
||||||
<accruedCoupon type="11" name="Купон" shortname="Купон" searchable="true" sortable="true" visible="true"/>
|
<accruedCoupon type="11" name="Купон" shortname="Купон" searchable="true" sortable="true" visible="true"/>
|
||||||
<nominalValue type="10" name="Номинал" shortname="Номинал" searchable="true" sortable="true"/>
|
<nominalValue type="10" name="Номинал" shortname="Номинал" searchable="true" sortable="true"/>
|
||||||
|
|
@ -719,7 +719,7 @@
|
||||||
<valueDate type="6" name="Дата выплаты купона" shortname="Выплата" searchable="true" sortable="true" visible="true"/>
|
<valueDate type="6" name="Дата выплаты купона" shortname="Выплата" searchable="true" sortable="true" visible="true"/>
|
||||||
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
|
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
|
||||||
</fixedIncomeCashFlow>
|
</fixedIncomeCashFlow>
|
||||||
<couponPeriod name="Купонное расписание" destination="securities/coupon-periods" class="com.spicex.platform.classes.StaticData.Instrument.Issue.FixedIncome" logUpdates="true" table="coupon_period">
|
<couponPeriod name="Купонное расписание" destination="securities/coupon-periods" class="ru.clearing.classes.statics.data.instrument.issue.CouponPeriod" logUpdates="true" table="coupon_period">
|
||||||
<securityId type="1" dbname="Идентификатор инструмента" name="Наименование инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security" linkCode="shortName"/>
|
<securityId type="1" dbname="Идентификатор инструмента" name="Наименование инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security" linkCode="shortName"/>
|
||||||
<couponRate type="11" name="Купонная ставка" shortname="Ставка" searchable="true" sortable="true" visible="true"/>
|
<couponRate type="11" name="Купонная ставка" shortname="Ставка" searchable="true" sortable="true" visible="true"/>
|
||||||
<number type="3" name="Номер купона" shortname="Номер" searchable="true" sortable="true" visible="true"/>
|
<number type="3" name="Номер купона" shortname="Номер" searchable="true" sortable="true" visible="true"/>
|
||||||
|
|
|
||||||
|
|
@ -42,9 +42,7 @@ import ru.spcex.clearing.backendapi.controller.queue.misc.*;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.payment.PaymentInstructionController;
|
import ru.spcex.clearing.backendapi.controller.queue.payment.PaymentInstructionController;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.register.*;
|
import ru.spcex.clearing.backendapi.controller.queue.register.*;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.scheduler.*;
|
import ru.spcex.clearing.backendapi.controller.queue.scheduler.*;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.securities.CudMoneyMarketSecurityController;
|
import ru.spcex.clearing.backendapi.controller.queue.securities.*;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.securities.InformationAccountController;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.securities.SecurityController;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.user.UserController;
|
import ru.spcex.clearing.backendapi.controller.queue.user.UserController;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.user.UserRoleSessionController;
|
import ru.spcex.clearing.backendapi.controller.queue.user.UserRoleSessionController;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.utilities.CudKeyRateController;
|
import ru.spcex.clearing.backendapi.controller.queue.utilities.CudKeyRateController;
|
||||||
|
|
@ -135,6 +133,10 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi
|
||||||
PlannerTemplateController.class,
|
PlannerTemplateController.class,
|
||||||
//securities
|
//securities
|
||||||
CudMoneyMarketSecurityController.class,
|
CudMoneyMarketSecurityController.class,
|
||||||
|
CudCouponPeriodController.class,
|
||||||
|
CudEquitySecurityController.class,
|
||||||
|
CudFixedIncomeCashFlowController.class,
|
||||||
|
CudFixedIncomeSecurityController.class,
|
||||||
InformationAccountController.class,
|
InformationAccountController.class,
|
||||||
SecurityController.class,
|
SecurityController.class,
|
||||||
//user
|
//user
|
||||||
|
|
@ -156,7 +158,7 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi
|
||||||
@WebMvcTest//(controllers = DeleteCompanyController.class)
|
@WebMvcTest//(controllers = DeleteCompanyController.class)
|
||||||
//@TestPropertySource(properties = "spring.config.location=D:/repo/mfd/clearing/clearing-parent/backend-api/src/main/resources/")
|
//@TestPropertySource(properties = "spring.config.location=D:/repo/mfd/clearing/clearing-parent/backend-api/src/main/resources/")
|
||||||
public abstract class AbstractControllerTest {
|
public abstract class AbstractControllerTest {
|
||||||
protected static final MatcherFactoryWithJson.Matcher<BaseRequest> BASE_REQUEST_MATCHER = usingIgnoringFieldsComparatorForClass(BaseRequest.class);
|
protected static final MatcherFactoryWithJson.Matcher<BaseRequest> BASE_REQUEST_MATCHER = usingIgnoringFieldsComparatorForClass(BaseRequest.class,"userId");
|
||||||
protected static final MatcherFactoryWithJson.Matcher<CudResponse> CUD_RESPONSE_MATCHER = usingIgnoringFieldsComparatorForClass(CudResponse.class);
|
protected static final MatcherFactoryWithJson.Matcher<CudResponse> CUD_RESPONSE_MATCHER = usingIgnoringFieldsComparatorForClass(CudResponse.class);
|
||||||
protected static final AtomicLong currentId = new AtomicLong();
|
protected static final AtomicLong currentId = new AtomicLong();
|
||||||
private static final CharacterEncodingFilter CHARACTER_ENCODING_FILTER = new CharacterEncodingFilter();
|
private static final CharacterEncodingFilter CHARACTER_ENCODING_FILTER = new CharacterEncodingFilter();
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import ru.clearing.classes.statics.data.account.AccountBalance;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
class AccountBalanceControllerTest extends AbstractControllerTest {
|
class AccountBalanceControllerTest extends AbstractControllerTest {
|
||||||
private static final String REST_URL = "/account-balances/";
|
private static final String REST_URL = "/account-balances/";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,38 @@
|
||||||
|
package ru.spcex.clearing.backendapi.controller.queue.securities;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import ru.clearing.classes.statics.data.instrument.issue.CouponPeriod;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||||
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
class CudCouponPeriodControllerTest extends AbstractControllerTest {
|
||||||
|
public static final String REST_URL = "/securities/coupon-period-securities/";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@link CudCouponPeriodController#getAll()} <br>
|
||||||
|
* Тест проверяет получение запроса по REST API.<br>
|
||||||
|
* Входной запрос /securities/coupon-period-securities/ <br>
|
||||||
|
* Ответ CommonGetAllResponse <br>
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
void getAll() throws Exception {
|
||||||
|
//ARRANGE
|
||||||
|
CouponPeriod couponPeriod = getCouponPeriod(currentId.get());
|
||||||
|
|
||||||
|
//ACT and ASSERT
|
||||||
|
checkGettingAllFromRestApi(IMDGDistributedNames.Map_CouponPeriod, couponPeriod, REST_URL);
|
||||||
|
}
|
||||||
|
|
||||||
|
private CouponPeriod getCouponPeriod(Long id) {
|
||||||
|
CouponPeriod couponPeriod = new CouponPeriod();
|
||||||
|
couponPeriod.setId(id);
|
||||||
|
couponPeriod.setCouponRate(BigDecimal.valueOf(120.33));
|
||||||
|
couponPeriod.setNumber(3L);
|
||||||
|
couponPeriod.setPeriodStartDate(LocalDate.now().minusDays(1));
|
||||||
|
couponPeriod.setPeriodEndDate(LocalDate.now().plusDays(2));
|
||||||
|
return couponPeriod;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,113 @@
|
||||||
|
package ru.spcex.clearing.backendapi.controller.queue.securities;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import ru.clearing.classes.statics.data.instrument.issue.EquitySecurity;
|
||||||
|
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.securities.EquitySecurityNewAction;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.request.cud.securities.EquitySecurityUpdateAction;
|
||||||
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||||
|
import ru.spcex.platform.enumeration.Status;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
class CudEquitySecurityControllerTest extends AbstractControllerTest {
|
||||||
|
public static final String REST_URL = "/securities/equity-securities/";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@link CudEquitySecurityController#add(EquitySecurityNewAction)} <br>
|
||||||
|
* Тест проверяет получение сущности {@link EquitySecurityNewAction} по REST API и отправку в Apache Kafka.<br>
|
||||||
|
* Входной запрос {@link EquitySecurityNewAction}:<br>
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
void add() throws Exception {
|
||||||
|
//ARRANGE
|
||||||
|
EquitySecurityNewAction equitySecurityNewAction = new EquitySecurityNewAction();
|
||||||
|
equitySecurityNewAction.setShareType("shType");
|
||||||
|
equitySecurityNewAction.setLotSize(BigDecimal.valueOf(120.33));
|
||||||
|
equitySecurityNewAction.setShortName("name");
|
||||||
|
equitySecurityNewAction.setFullName("name 2");
|
||||||
|
equitySecurityNewAction.setWorkflowStatus(Status.Active.getKey());
|
||||||
|
equitySecurityNewAction.setInstrumentType("status T");
|
||||||
|
equitySecurityNewAction.setSecuritySymbol("symbol1");
|
||||||
|
equitySecurityNewAction.setLotSize(new BigDecimal("3.5"));
|
||||||
|
|
||||||
|
//ACT and ASSERT
|
||||||
|
checkAddingByRestApi(REST_URL, equitySecurityNewAction);
|
||||||
|
checkSendedMessegeFromKafka(Consts.DESTINATION_EQUITY_SECURITY_NEW, equitySecurityNewAction);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@link CudEquitySecurityController#update(Long, EquitySecurityUpdateAction)} <br>
|
||||||
|
* Тест проверяет получение сущности {@link EquitySecurityUpdateAction} по REST API и отправку в Apache Kafka.<br>
|
||||||
|
* Входной запрос {@link EquitySecurityUpdateAction}:<br>
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
void update() throws Exception {
|
||||||
|
//ARRANGE
|
||||||
|
long id = currentId.getAndIncrement();
|
||||||
|
EquitySecurityUpdateAction equitySecurityUpdateAction = new EquitySecurityUpdateAction();
|
||||||
|
equitySecurityUpdateAction.setId(id);
|
||||||
|
equitySecurityUpdateAction.setShareType("shType");
|
||||||
|
equitySecurityUpdateAction.setLotSize(BigDecimal.valueOf(120.33));
|
||||||
|
equitySecurityUpdateAction.setShortName("name");
|
||||||
|
equitySecurityUpdateAction.setFullName("name 2");
|
||||||
|
equitySecurityUpdateAction.setWorkflowStatus(Status.Active.getKey());
|
||||||
|
equitySecurityUpdateAction.setInstrumentType("status T");
|
||||||
|
equitySecurityUpdateAction.setSecuritySymbol("symbol1");
|
||||||
|
equitySecurityUpdateAction.setLotSize(new BigDecimal("3.5"));
|
||||||
|
EquitySecurity equitySecurity = getEquitySecurity(id);
|
||||||
|
|
||||||
|
//ACT and ASSERT
|
||||||
|
checkUpdatingWithIdVolidationByRestApi(IMDGDistributedNames.Map_EquitySecurity, equitySecurity,
|
||||||
|
REST_URL, equitySecurityUpdateAction, id);
|
||||||
|
checkSendedMessegeFromKafka(Consts.DESTINATION_EQUITY_SECURITY_UPDATE, equitySecurityUpdateAction);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@link CudEquitySecurityController#delete(Long)} <br>
|
||||||
|
* Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.<br>
|
||||||
|
* Входной запрос /securities/equity-securities/{@link Long}: - 0L<br>
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
void delete() throws Exception {
|
||||||
|
//ARRANGE
|
||||||
|
long id = currentId.getAndIncrement();
|
||||||
|
CommonDeleteAction deleteAction = new CommonDeleteAction();
|
||||||
|
deleteAction.setId(id);
|
||||||
|
EquitySecurity equitySecurity = getEquitySecurity(id);
|
||||||
|
|
||||||
|
//ACT and ASSERT
|
||||||
|
checkDeletingWithIdVolidationByRestApi(IMDGDistributedNames.Map_MoneyMarketSecurity, equitySecurity,
|
||||||
|
REST_URL, id);
|
||||||
|
checkSendedMessegeFromKafka(Consts.DESTINATION_EQUITY_SECURITY_DELETE, deleteAction);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@link CudEquitySecurityController#getAll()} <br>
|
||||||
|
* Тест проверяет получение запроса по REST API.<br>
|
||||||
|
* Входной запрос /securities/equity-securities/ <br>
|
||||||
|
* Ответ CommonGetAllResponse <br>
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
void getAll() throws Exception {
|
||||||
|
//ARRANGE
|
||||||
|
EquitySecurity equitySecurity = getEquitySecurity(currentId.get());
|
||||||
|
|
||||||
|
//ACT and ASSERT
|
||||||
|
checkGettingAllFromRestApi(IMDGDistributedNames.Map_EquitySecurity, equitySecurity, REST_URL);
|
||||||
|
}
|
||||||
|
|
||||||
|
private EquitySecurity getEquitySecurity(Long id) {
|
||||||
|
EquitySecurity equitySecurity = new EquitySecurity();
|
||||||
|
equitySecurity.setId(id);
|
||||||
|
equitySecurity.setSecurityId(currentId.get());
|
||||||
|
equitySecurity.setShareType("shType");
|
||||||
|
equitySecurity.setLotSize(BigDecimal.valueOf(120.33));
|
||||||
|
equitySecurity.setShortName("name");
|
||||||
|
equitySecurity.setWorkflowStatus(Status.Active.getKey());
|
||||||
|
equitySecurity.setFullName("name 2");
|
||||||
|
return equitySecurity;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
package ru.spcex.clearing.backendapi.controller.queue.securities;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeCashFlow;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||||
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
class CudFixedIncomeCashFlowControllerTest extends AbstractControllerTest {
|
||||||
|
public static final String REST_URL = "/securities/fixed-income-cash-flow-securities/";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@link CudFixedIncomeCashFlowController#getAll()} <br>
|
||||||
|
* Тест проверяет получение запроса по REST API.<br>
|
||||||
|
* Входной запрос /securities/fixed-income-cash-flow-securities/ <br>
|
||||||
|
* Ответ CommonGetAllResponse <br>
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
void getAll() throws Exception {
|
||||||
|
//ARRANGE
|
||||||
|
FixedIncomeCashFlow fixedIncomeCashFlow = getFixedIncomeCashFlow(currentId.get());
|
||||||
|
|
||||||
|
//ACT and ASSERT
|
||||||
|
checkGettingAllFromRestApi(IMDGDistributedNames.Map_FixedIncomeCashFlow, fixedIncomeCashFlow, REST_URL);
|
||||||
|
}
|
||||||
|
|
||||||
|
private FixedIncomeCashFlow getFixedIncomeCashFlow(Long id) {
|
||||||
|
FixedIncomeCashFlow fixedIncomeCashFlow = new FixedIncomeCashFlow();
|
||||||
|
fixedIncomeCashFlow.setId(id);
|
||||||
|
fixedIncomeCashFlow.setSecurityId(100L);
|
||||||
|
fixedIncomeCashFlow.setAccruedCoupon(BigDecimal.valueOf(120.33));
|
||||||
|
fixedIncomeCashFlow.setNominalValue(BigDecimal.valueOf(130.33));
|
||||||
|
fixedIncomeCashFlow.setNumber(2L);
|
||||||
|
fixedIncomeCashFlow.setValueDate(LocalDate.now());
|
||||||
|
return fixedIncomeCashFlow;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,113 @@
|
||||||
|
package ru.spcex.clearing.backendapi.controller.queue.securities;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity;
|
||||||
|
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.securities.FixedIncomeSecurityNewAction;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.request.cud.securities.FixedIncomeSecurityUpdateAction;
|
||||||
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||||
|
import ru.spcex.platform.enumeration.Status;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
class CudFixedIncomeSecurityControllerTest extends AbstractControllerTest {
|
||||||
|
public static final String REST_URL = "/securities/fixed-income-securities/";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@link CudFixedIncomeSecurityController#add(FixedIncomeSecurityNewAction)} <br>
|
||||||
|
* Тест проверяет получение сущности {@link FixedIncomeSecurityNewAction} по REST API и отправку в Apache Kafka.<br>
|
||||||
|
* Входной запрос {@link FixedIncomeSecurityNewAction}:<br>
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
void add() throws Exception {
|
||||||
|
//ARRANGE
|
||||||
|
FixedIncomeSecurityNewAction fixedIncomeSecurityNewAction = new FixedIncomeSecurityNewAction();
|
||||||
|
fixedIncomeSecurityNewAction.setBondType("bType");
|
||||||
|
fixedIncomeSecurityNewAction.setLotSize(BigDecimal.valueOf(120.33));
|
||||||
|
fixedIncomeSecurityNewAction.setShortName("name");
|
||||||
|
fixedIncomeSecurityNewAction.setFullName("name 2");
|
||||||
|
fixedIncomeSecurityNewAction.setWorkflowStatus(Status.Active.getKey());
|
||||||
|
fixedIncomeSecurityNewAction.setInstrumentType("status T");
|
||||||
|
fixedIncomeSecurityNewAction.setSecuritySymbol("symbol1");
|
||||||
|
fixedIncomeSecurityNewAction.setLotSize(new BigDecimal("3.5"));
|
||||||
|
|
||||||
|
//ACT and ASSERT
|
||||||
|
checkAddingByRestApi(REST_URL, fixedIncomeSecurityNewAction);
|
||||||
|
checkSendedMessegeFromKafka(Consts.DESTINATION_FIXED_INCOME_SECURITY_NEW, fixedIncomeSecurityNewAction);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@link CudEquitySecurityController#update(Long, FixedIncomeSecurityUpdateAction)} <br>
|
||||||
|
* Тест проверяет получение сущности {@link FixedIncomeSecurityUpdateAction} по REST API и отправку в Apache Kafka.<br>
|
||||||
|
* Входной запрос {@link FixedIncomeSecurityUpdateAction}:<br>
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
void update() throws Exception {
|
||||||
|
//ARRANGE
|
||||||
|
long id = currentId.getAndIncrement();
|
||||||
|
FixedIncomeSecurityUpdateAction fixedIncomeSecurityUpdateAction = new FixedIncomeSecurityUpdateAction();
|
||||||
|
fixedIncomeSecurityUpdateAction.setId(id);
|
||||||
|
fixedIncomeSecurityUpdateAction.setBondType("bType");
|
||||||
|
fixedIncomeSecurityUpdateAction.setLotSize(BigDecimal.valueOf(120.33));
|
||||||
|
fixedIncomeSecurityUpdateAction.setShortName("name");
|
||||||
|
fixedIncomeSecurityUpdateAction.setFullName("name 2");
|
||||||
|
fixedIncomeSecurityUpdateAction.setWorkflowStatus(Status.Active.getKey());
|
||||||
|
fixedIncomeSecurityUpdateAction.setInstrumentType("status T");
|
||||||
|
fixedIncomeSecurityUpdateAction.setSecuritySymbol("symbol1");
|
||||||
|
fixedIncomeSecurityUpdateAction.setLotSize(new BigDecimal("3.5"));
|
||||||
|
FixedIncomeSecurity fixedIncomeSecurity = getFixedIncomeSecurity(id);
|
||||||
|
|
||||||
|
//ACT and ASSERT
|
||||||
|
checkUpdatingWithIdVolidationByRestApi(IMDGDistributedNames.Map_FixedIncomeSecurity, fixedIncomeSecurity,
|
||||||
|
REST_URL, fixedIncomeSecurityUpdateAction, id);
|
||||||
|
checkSendedMessegeFromKafka(Consts.DESTINATION_FIXED_INCOME_SECURITY_UPDATE, fixedIncomeSecurityUpdateAction);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@link CudFixedIncomeSecurityController#delete(Long)} <br>
|
||||||
|
* Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.<br>
|
||||||
|
* Входной запрос /securities/fixed-income-securities/{@link Long}: - 0L<br>
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
void delete() throws Exception {
|
||||||
|
//ARRANGE
|
||||||
|
long id = currentId.getAndIncrement();
|
||||||
|
CommonDeleteAction deleteAction = new CommonDeleteAction();
|
||||||
|
deleteAction.setId(id);
|
||||||
|
FixedIncomeSecurity fixedIncomeSecurity = getFixedIncomeSecurity(id);
|
||||||
|
|
||||||
|
//ACT and ASSERT
|
||||||
|
checkDeletingWithIdVolidationByRestApi(IMDGDistributedNames.Map_MoneyMarketSecurity, fixedIncomeSecurity,
|
||||||
|
REST_URL, id);
|
||||||
|
checkSendedMessegeFromKafka(Consts.DESTINATION_FIXED_INCOME_SECURITY_DELETE, deleteAction);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@link CudFixedIncomeSecurityController#getAll()} <br>
|
||||||
|
* Тест проверяет получение запроса по REST API.<br>
|
||||||
|
* Входной запрос /securities/fixed-income-securities/ <br>
|
||||||
|
* Ответ CommonGetAllResponse <br>
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
void getAll() throws Exception {
|
||||||
|
//ARRANGE
|
||||||
|
FixedIncomeSecurity fixedIncomeSecurity = getFixedIncomeSecurity(currentId.get());
|
||||||
|
|
||||||
|
//ACT and ASSERT
|
||||||
|
checkGettingAllFromRestApi(IMDGDistributedNames.Map_FixedIncomeSecurity, fixedIncomeSecurity, REST_URL);
|
||||||
|
}
|
||||||
|
|
||||||
|
private FixedIncomeSecurity getFixedIncomeSecurity(Long id) {
|
||||||
|
FixedIncomeSecurity fixedIncomeSecurity = new FixedIncomeSecurity();
|
||||||
|
fixedIncomeSecurity.setId(id);
|
||||||
|
fixedIncomeSecurity.setSecurityId(currentId.get());
|
||||||
|
fixedIncomeSecurity.setBondType("bType");
|
||||||
|
fixedIncomeSecurity.setLotSize(BigDecimal.valueOf(120.33));
|
||||||
|
fixedIncomeSecurity.setShortName("name");
|
||||||
|
fixedIncomeSecurity.setWorkflowStatus(Status.Active.getKey());
|
||||||
|
fixedIncomeSecurity.setFullName("name 2");
|
||||||
|
return fixedIncomeSecurity;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -4,7 +4,6 @@ import org.junit.jupiter.api.Test;
|
||||||
import ru.clearing.classes.statics.data.misc.MoneyMarketSecurity;
|
import ru.clearing.classes.statics.data.misc.MoneyMarketSecurity;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
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.common.CommonDeleteAction;
|
||||||
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.MoneyMarketSecurityNewAction;
|
||||||
import ru.spcex.clearing.backendapi.controller.request.cud.securities.MoneyMarketSecurityUpdateAction;
|
import ru.spcex.clearing.backendapi.controller.request.cud.securities.MoneyMarketSecurityUpdateAction;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
|
@ -19,8 +18,8 @@ class CudMoneyMarketSecurityControllerTest extends AbstractControllerTest {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link CudMoneyMarketSecurityController#add(MoneyMarketSecurityNewAction)} <br>
|
* {@link CudMoneyMarketSecurityController#add(MoneyMarketSecurityNewAction)} <br>
|
||||||
* Тест проверяет получение сущности {@link PlannerTemplateNewAction} по REST API и отправку в Apache Kafka.<br>
|
* Тест проверяет получение сущности {@link MoneyMarketSecurityNewAction} по REST API и отправку в Apache Kafka.<br>
|
||||||
* Входной запрос {@link PlannerTemplateNewAction}:<br>
|
* Входной запрос {@link MoneyMarketSecurityNewAction}:<br>
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
void add() throws Exception {
|
void add() throws Exception {
|
||||||
|
|
@ -32,7 +31,8 @@ class CudMoneyMarketSecurityControllerTest extends AbstractControllerTest {
|
||||||
moneyMarketSecurityNewAction.setNominalCurrency("nominal");
|
moneyMarketSecurityNewAction.setNominalCurrency("nominal");
|
||||||
moneyMarketSecurityNewAction.setInstrumentType("status");
|
moneyMarketSecurityNewAction.setInstrumentType("status");
|
||||||
moneyMarketSecurityNewAction.setFullName("fname");
|
moneyMarketSecurityNewAction.setFullName("fname");
|
||||||
moneyMarketSecurityNewAction.setSecuritySymbol("sname");
|
moneyMarketSecurityNewAction.setShortName("shortName");
|
||||||
|
moneyMarketSecurityNewAction.setSecuritySymbol("s-symbol");
|
||||||
moneyMarketSecurityNewAction.setLotSize(new BigDecimal("3.5"));
|
moneyMarketSecurityNewAction.setLotSize(new BigDecimal("3.5"));
|
||||||
|
|
||||||
//ACT and ASSERT
|
//ACT and ASSERT
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,5 +1,6 @@
|
||||||
package ru.spcex.platform.utils.enumeration;
|
package ru.spcex.platform.utils.enumeration;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
||||||
public class EnumMessage {
|
public class EnumMessage {
|
||||||
|
|
@ -32,4 +33,9 @@ public class EnumMessage {
|
||||||
public void setArgs(Object[] args) {
|
public void setArgs(Object[] args) {
|
||||||
this.args = args;
|
this.args = args;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "EnumMessage{subject=" + subject + ", args: " + Arrays.toString(args) + "}";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue