Adding test for user, utilities, securities and simple refactoring.
This commit is contained in:
parent
4817f8644f
commit
3acebda42b
12 changed files with 558 additions and 66 deletions
|
|
@ -3,6 +3,11 @@ package ru.spcex.clearing.backendapi.controller.queue;
|
|||
import org.apache.kafka.clients.producer.MockProducer;
|
||||
import org.apache.kafka.clients.producer.ProducerRecord;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.keycloak.KeycloakPrincipal;
|
||||
import org.keycloak.KeycloakSecurityContext;
|
||||
import org.keycloak.adapters.spi.KeycloakAccount;
|
||||
import org.keycloak.adapters.springsecurity.token.KeycloakAuthenticationToken;
|
||||
import org.keycloak.representations.AccessToken;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
import org.mockito.Captor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -10,6 +15,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
|
|||
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
|
||||
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
import org.springframework.test.web.servlet.MockMvc;
|
||||
|
|
@ -37,6 +43,13 @@ import ru.spcex.clearing.backendapi.controller.queue.payment.PaymentInstructionC
|
|||
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.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.UserRoleSessionController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.utilities.CudKeyRateController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.utilities.StatementController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.utilities.UserSettingsController;
|
||||
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;
|
||||
|
|
@ -63,8 +76,7 @@ import java.util.Map;
|
|||
import java.util.concurrent.atomic.AtomicLong;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.*;
|
||||
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;
|
||||
|
|
@ -123,6 +135,15 @@ import static ru.spcex.clearing.backendapi.controller.utils.MatcherFactory.using
|
|||
PlannerTemplateController.class,
|
||||
//securities
|
||||
CudMoneyMarketSecurityController.class,
|
||||
InformationAccountController.class,
|
||||
SecurityController.class,
|
||||
//user
|
||||
UserController.class,
|
||||
UserRoleSessionController.class,
|
||||
//utilities
|
||||
CudKeyRateController.class,
|
||||
StatementController.class,
|
||||
UserSettingsController.class,
|
||||
//******* common configs *******
|
||||
WebTestConfig.class,
|
||||
IOperatorTest.class,
|
||||
|
|
@ -235,6 +256,34 @@ public abstract class AbstractControllerTest {
|
|||
CUD_RESPONSE_MATCHER.assertMatch(cudResponseTest, expected);
|
||||
}
|
||||
|
||||
protected <T extends SpcexObjectBase> void checkUpdatingWithIdVolidationByRestApi(String imdgDistributedNames, T existsObj, String REST_URL, IAction action, Long existsId) throws Exception {
|
||||
Class<T> clazz = (Class<T>) existsObj.getClass();
|
||||
Imdg<T> inDocumentJournalImdg = hazelcastServiceTest.getImdg(imdgDistributedNames, clazz);
|
||||
inDocumentJournalImdg.insert(existsObj);
|
||||
checkUpdatingByRestApi(REST_URL, action, existsId);
|
||||
}
|
||||
|
||||
protected void checkUpdatingWithoutIdByRestApi(String REST_URL, IAction action) 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)
|
||||
.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);
|
||||
|
|
@ -256,6 +305,13 @@ public abstract class AbstractControllerTest {
|
|||
CUD_RESPONSE_MATCHER.assertMatch(cudResponseTest, expected);
|
||||
}
|
||||
|
||||
protected <T extends SpcexObjectBase> void checkDeletingWithIdVolidationByRestApi(String imdgDistributedNames, T existsObj, String REST_URL, Long existsId) throws Exception {
|
||||
Class<T> clazz = (Class<T>) existsObj.getClass();
|
||||
Imdg<T> inDocumentJournalImdg = hazelcastServiceTest.getImdg(imdgDistributedNames, clazz);
|
||||
inDocumentJournalImdg.insert(existsObj);
|
||||
checkDeletingByRestApi(REST_URL, existsId);
|
||||
}
|
||||
|
||||
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);
|
||||
|
|
@ -274,4 +330,43 @@ public abstract class AbstractControllerTest {
|
|||
.andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON))
|
||||
.andExpect(content().json(writeValue(expected)));
|
||||
}
|
||||
|
||||
protected <T extends SpcexObjectBase> void clearAll(String imdgDistributedNames, Class<T> clazz) {
|
||||
Imdg<T> inDocumentJournalImdg = hazelcastServiceTest.getImdg(imdgDistributedNames, clazz);
|
||||
Collection<T> values = inDocumentJournalImdg.getAllValues();
|
||||
values.forEach(inDocumentJournalImdg::delete);
|
||||
}
|
||||
|
||||
protected void setUserNameInMockSecurityContextAndMapUser(String username, long id) {
|
||||
User user = getTestUser(id, username);
|
||||
userImdg.insert(user);
|
||||
|
||||
AccessToken accessToken = mock(AccessToken.class);
|
||||
when(accessToken.getPreferredUsername()).thenReturn(username);
|
||||
|
||||
KeycloakSecurityContext keycloakSecurityContext = mock(KeycloakSecurityContext.class);
|
||||
when(keycloakSecurityContext.getToken()).thenReturn(accessToken);
|
||||
|
||||
KeycloakPrincipal keycloakPrincipal = mock(KeycloakPrincipal.class);
|
||||
when(keycloakPrincipal.getKeycloakSecurityContext()).thenReturn(keycloakSecurityContext);
|
||||
|
||||
KeycloakAccount details = mock(KeycloakAccount.class);
|
||||
when(details.getPrincipal()).thenReturn(keycloakPrincipal);
|
||||
|
||||
KeycloakAuthenticationToken authentication = mock(KeycloakAuthenticationToken.class);
|
||||
when(authentication.getDetails()).thenReturn(details);
|
||||
SecurityContextHolder.getContext().setAuthentication(authentication);
|
||||
}
|
||||
|
||||
protected User getTestUser(Long id, String identifier) {
|
||||
User user = new User();
|
||||
user.setId(id);
|
||||
user.setIdentifier(identifier);
|
||||
user.setName("some name");
|
||||
user.setFirstName("some string");
|
||||
user.setLastName("some string");
|
||||
user.setMiddleName("some string");
|
||||
user.setEmail("some string");
|
||||
return user;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.account;
|
||||
|
||||
import com.hazelcast.core.IMap;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.core.NestedExceptionUtils;
|
||||
import org.springframework.http.MediaType;
|
||||
|
|
@ -17,6 +16,7 @@ import ru.spcex.clearing.backendapi.errors.ActionValidationException;
|
|||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest;
|
||||
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;
|
||||
|
|
@ -157,9 +157,9 @@ class BankAccountControllerTest extends AbstractControllerTest {
|
|||
existBankAccount.setTaxRegistrationReasonCode("886886");
|
||||
existBankAccount.setId(currentId.get());
|
||||
|
||||
IMap<Long, BankAccount> iMap = hazelcastServiceTest.getHazelcast().getMap(IMDGDistributedNames.Map_BankAccount);
|
||||
iMap.put(existBankAccount.getId(), existBankAccount);
|
||||
|
||||
Imdg<BankAccount> inDocumentJournalImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_BankAccount, BankAccount.class);
|
||||
inDocumentJournalImdg.insert(existBankAccount);
|
||||
|
||||
BankAccountBackendGetById expected = new BankAccountBackendGetById();
|
||||
BankAccountBackendGetFields payload = new BankAccountBackendGetFields();
|
||||
payload.setBankName("ooo tinkoff");
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ 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.Consts;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
import static ru.spcex.clearing.backendapi.controller.utils.JsonUtil.writeValue;
|
||||
|
|
@ -37,11 +36,10 @@ class RelationControllerTest extends AbstractControllerTest {
|
|||
|
||||
Relation relation = new Relation();
|
||||
relation.setId(existsId);
|
||||
Imdg<Relation> relationImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_Relation, Relation.class);
|
||||
relationImdg.insert(relation);
|
||||
|
||||
//ACT and ASSERT
|
||||
checkUpdatingByRestApi(REST_URL, relationUpdateAction, existsId);
|
||||
checkUpdatingWithIdVolidationByRestApi(IMDGDistributedNames.Map_Relation, relation,
|
||||
REST_URL, relationUpdateAction, existsId);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_RELATION_UPDATE, relationUpdateAction);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,17 +2,10 @@ package ru.spcex.clearing.backendapi.controller.queue.scheduler;
|
|||
|
||||
import com.hazelcast.core.IMap;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.keycloak.KeycloakPrincipal;
|
||||
import org.keycloak.KeycloakSecurityContext;
|
||||
import org.keycloak.adapters.spi.KeycloakAccount;
|
||||
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;
|
||||
import ru.clearing.platform.dictionary.AbstractDictionary;
|
||||
import ru.clearing.platform.dictionary.TaskDictionary;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
|
|
@ -33,8 +26,6 @@ import ru.spcex.platform.utils.enumeration.EnumMessage;
|
|||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
import static org.mockito.Mockito.mock;
|
||||
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;
|
||||
|
|
@ -214,30 +205,4 @@ class LauncherControllerTest extends AbstractControllerTest {
|
|||
.andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON))
|
||||
.andExpect(content().json(writeValue(response)));
|
||||
}
|
||||
|
||||
private void setUserNameInMockSecurityContextAndMapUser(String username, long id) {
|
||||
User user = new User();
|
||||
user.setIdentifier(username);
|
||||
user.setId(id);
|
||||
|
||||
userImdg.insert(user);
|
||||
|
||||
AccessToken accessToken = mock(AccessToken.class);
|
||||
when(accessToken.getPreferredUsername()).thenReturn(username);
|
||||
|
||||
KeycloakSecurityContext keycloakSecurityContext = mock(KeycloakSecurityContext.class);
|
||||
when(keycloakSecurityContext.getToken()).thenReturn(accessToken);
|
||||
|
||||
KeycloakPrincipal keycloakPrincipal = mock(KeycloakPrincipal.class);
|
||||
when(keycloakPrincipal.getKeycloakSecurityContext()).thenReturn(keycloakSecurityContext);
|
||||
|
||||
KeycloakAccount details = mock(KeycloakAccount.class);
|
||||
when(details.getPrincipal()).thenReturn(keycloakPrincipal);
|
||||
|
||||
KeycloakAuthenticationToken authentication = mock(KeycloakAuthenticationToken.class);
|
||||
when(authentication.getDetails()).thenReturn(details);
|
||||
SecurityContextHolder.getContext().setAuthentication(authentication);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@ 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.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.MoneyMarketSecurityUpdateAction;
|
||||
|
|
@ -46,25 +47,42 @@ class CudMoneyMarketSecurityControllerTest extends AbstractControllerTest {
|
|||
*/
|
||||
@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);
|
||||
//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);
|
||||
MoneyMarketSecurity moneyMarketSecurity = getMoneyMarketSecurity(id);
|
||||
|
||||
//ACT and ASSERT
|
||||
checkUpdatingWithIdVolidationByRestApi(IMDGDistributedNames.Map_MoneyMarketSecurity, moneyMarketSecurity,
|
||||
REST_URL, moneyMarketSecurityUpdateAction, id);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_MONEY_MARKET_SECURITY_UPDATE, moneyMarketSecurityUpdateAction);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link CudMoneyMarketSecurityController#delete(Long)} <br>
|
||||
* Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос /securities/money-securities/{@link Long}: - 0L<br>
|
||||
*/
|
||||
@Test
|
||||
void delete() {
|
||||
void delete() throws Exception {
|
||||
//ARRANGE
|
||||
long id = currentId.getAndIncrement();
|
||||
CommonDeleteAction deleteAction = new CommonDeleteAction();
|
||||
deleteAction.setId(id);
|
||||
MoneyMarketSecurity moneyMarketSecurity = getMoneyMarketSecurity(id);
|
||||
|
||||
//ACT and ASSERT
|
||||
checkDeletingWithIdVolidationByRestApi(IMDGDistributedNames.Map_MoneyMarketSecurity, moneyMarketSecurity,
|
||||
REST_URL, id);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_MONEY_MARKET_SECURITY_DELETE, deleteAction);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -76,8 +94,15 @@ class CudMoneyMarketSecurityControllerTest extends AbstractControllerTest {
|
|||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
MoneyMarketSecurity moneyMarketSecurity = getMoneyMarketSecurity(currentId.get());
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_MoneyMarketSecurity, moneyMarketSecurity, REST_URL);
|
||||
}
|
||||
|
||||
private MoneyMarketSecurity getMoneyMarketSecurity(Long id) {
|
||||
MoneyMarketSecurity moneyMarketSecurity = new MoneyMarketSecurity();
|
||||
moneyMarketSecurity.setId(currentId.get());
|
||||
moneyMarketSecurity.setId(id);
|
||||
moneyMarketSecurity.setSecurityId(currentId.get());
|
||||
moneyMarketSecurity.setDescription("desc");
|
||||
moneyMarketSecurity.setStartDate(LocalDate.now());
|
||||
|
|
@ -87,9 +112,6 @@ class CudMoneyMarketSecurityControllerTest extends AbstractControllerTest {
|
|||
moneyMarketSecurity.setTermType("status");
|
||||
moneyMarketSecurity.setWorkflowStatus(Status.Active.getKey());
|
||||
moneyMarketSecurity.setFullName("name");
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_MoneyMarketSecurity, moneyMarketSecurity, REST_URL);
|
||||
return moneyMarketSecurity;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.securities;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.account.InformationAccount;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
class InformationAccountControllerTest extends AbstractControllerTest {
|
||||
public static final String REST_URL = "/securities/information-accounts/";
|
||||
|
||||
/**
|
||||
* {@link InformationAccountController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /securities/information-accounts/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
InformationAccount informationAccount = new InformationAccount();
|
||||
informationAccount.setId(currentId.get());
|
||||
informationAccount.setCompanyId(currentId.get());
|
||||
informationAccount.setClearingAccountId(currentId.get());
|
||||
informationAccount.setAccountId(currentId.get());
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_InformationAccount, informationAccount, REST_URL);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.securities;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.security.Security;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
class SecurityControllerTest extends AbstractControllerTest {
|
||||
public static final String REST_URL = "/securities/";
|
||||
|
||||
/**
|
||||
* {@link SecurityController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /securities/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
Security security = new Security();
|
||||
security.setId(currentId.get());
|
||||
security.setInstrumentType("name");
|
||||
security.setIssuerId(currentId.get());
|
||||
security.setShortName("name");
|
||||
security.setFullName("name");
|
||||
security.setShortNameEng("name");
|
||||
security.setFullNameEng("name");
|
||||
security.setSecuritySymbol("name");
|
||||
security.setWorkflowStatus("name");
|
||||
clearAll(IMDGDistributedNames.Map_MoneyMarketSecurity, Security.class);
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_MoneyMarketSecurity, security, REST_URL);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.user;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.test.web.servlet.MvcResult;
|
||||
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
|
||||
import ru.clearing.classes.statics.data.user.User;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.utilities.UserAuthAction;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.user.UserIdResponse;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.platform.enumeration.UserRole;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
|
||||
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;
|
||||
|
||||
class UserControllerTest extends AbstractControllerTest {
|
||||
public static final String REST_URL = "/users/";
|
||||
|
||||
/**
|
||||
* {@link UserController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /users/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
User user = getTestUser(currentId.getAndIncrement(), "some name");
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_User, user, REST_URL);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link UserController#getId()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /users/get-my-id/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getId() throws Exception {
|
||||
//ARRANGE
|
||||
Long id = currentId.getAndIncrement();
|
||||
String identifier = "usersIdentifier";
|
||||
|
||||
setUserNameInMockSecurityContextAndMapUser(identifier, id);
|
||||
|
||||
//ACT
|
||||
MvcResult mvcResult = perform(MockMvcRequestBuilders.get(REST_URL + "get-my-id"))
|
||||
.andDo(print())//output to the log request and response
|
||||
//ASSERT
|
||||
.andExpect(status().isOk())
|
||||
.andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON))
|
||||
.andReturn();
|
||||
UserIdResponse userIdResponse = readValue(mvcResult.getResponse().getContentAsString(), UserIdResponse.class);
|
||||
assertThat(userIdResponse.getPayload().getId()).isEqualTo(id);
|
||||
}
|
||||
|
||||
@Test
|
||||
void update() throws Exception {
|
||||
//ARRANGE
|
||||
Long id = currentId.getAndIncrement();
|
||||
String identifier = "identifier";
|
||||
|
||||
UserAuthAction userAuthAction = new UserAuthAction();
|
||||
userAuthAction.setUsername(identifier);
|
||||
List<String> roles = List.of(UserRole.Admin.getKey());
|
||||
userAuthAction.setRoles(roles);
|
||||
|
||||
setUserNameInMockSecurityContextAndMapUser(identifier, id);
|
||||
checkUpdatingWithoutIdByRestApi(REST_URL, userAuthAction);
|
||||
checkSendedMessegeFromKafka(Consts.USER_UPDATE, userAuthAction);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.user;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.user.UserRoleSession;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
class UserRoleSessionControllerTest extends AbstractControllerTest {
|
||||
public static final String REST_URL = "/user-role-sessions/";
|
||||
|
||||
/**
|
||||
* {@link UserRoleSessionController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /user-role-sessions/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
UserRoleSession userRoleSession = new UserRoleSession();
|
||||
userRoleSession.setId(currentId.getAndIncrement());
|
||||
userRoleSession.setUserRole("identifier");
|
||||
userRoleSession.setStatus("some name");
|
||||
userRoleSession.setCompanyId(currentId.get());
|
||||
userRoleSession.setUserId(currentId.get());
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_UserRoleSession, userRoleSession, REST_URL);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.utilities;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.misc.KeyRate;
|
||||
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.utilities.KeyRateNewAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.utilities.KeyRateUpdateAction;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
class CudKeyRateControllerTest extends AbstractControllerTest {
|
||||
public static final String REST_URL = "/utilities/key-rates/";
|
||||
|
||||
/**
|
||||
* {@link CudKeyRateController#add(KeyRateNewAction)} <br>
|
||||
* Тест проверяет получение сущности {@link KeyRateNewAction} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос {@link KeyRateNewAction}:<br>
|
||||
*/
|
||||
@Test
|
||||
void add() throws Exception {
|
||||
//ARRANGE
|
||||
KeyRateNewAction keyRateUpdateAction = new KeyRateNewAction();
|
||||
// keyRateUpdateAction.setId(currentId.get());
|
||||
keyRateUpdateAction.setRate(new BigDecimal(0));
|
||||
keyRateUpdateAction.setStartDate(LocalDate.now());
|
||||
keyRateUpdateAction.setEndDate(LocalDate.now());
|
||||
keyRateUpdateAction.setDocument("name");
|
||||
|
||||
//ACT and ASSERT
|
||||
checkAddingByRestApi(REST_URL, keyRateUpdateAction);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_KEY_RATE_NEW, keyRateUpdateAction);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link CudKeyRateController#update(Long, KeyRateUpdateAction)} <br>
|
||||
* Тест проверяет получение сущности {@link KeyRateNewAction} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос {@link KeyRateNewAction}:<br>
|
||||
*/
|
||||
@Test
|
||||
void update() throws Exception {
|
||||
//ARRANGE
|
||||
long id = currentId.get();
|
||||
KeyRateUpdateAction keyRateUpdateAction = new KeyRateUpdateAction();
|
||||
keyRateUpdateAction.setId(id);
|
||||
keyRateUpdateAction.setRate(new BigDecimal(0));
|
||||
keyRateUpdateAction.setStartDate(LocalDate.now());
|
||||
keyRateUpdateAction.setEndDate(LocalDate.now());
|
||||
keyRateUpdateAction.setDocument("name");
|
||||
|
||||
//ACT and ASSERT
|
||||
checkUpdatingByRestApi(REST_URL, keyRateUpdateAction, id);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_KEY_RATE_UPDATE, keyRateUpdateAction);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link CudKeyRateController#delete(Long)} <br>
|
||||
* Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос /securities/bank-accounts/{@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_KEY_RATE_DELETE, deleteAction);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link CudKeyRateController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /utilities/key-rates/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
KeyRate keyRate = new KeyRate();
|
||||
keyRate.setId(currentId.get());
|
||||
keyRate.setRate(new BigDecimal(0));
|
||||
keyRate.setStartDate(LocalDate.now());
|
||||
keyRate.setEndDate(LocalDate.now());
|
||||
keyRate.setDocument("name");
|
||||
keyRate.setWorkflowStatus("name");
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_KeyRate, keyRate, REST_URL);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.utilities;
|
||||
|
||||
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.statement.Statement;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetByIdResponse;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Map;
|
||||
|
||||
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 StatementControllerTest extends AbstractControllerTest {
|
||||
public static final String REST_URL = "/statements/";
|
||||
|
||||
/**
|
||||
* {@link StatementController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /utilities/key-rates/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
Statement statement = getStatment(currentId.get());
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_Statement, statement, REST_URL);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link StatementController#getById(Long)} <br>
|
||||
* Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_BankAccount.<br>
|
||||
* Входной запрос /statements/{@link Long}: - 0L <br>
|
||||
* Ответ BankAccountBackendGetById <br>
|
||||
*/
|
||||
@Test
|
||||
void getById() throws Exception {
|
||||
//ARRANGE
|
||||
Statement existStatement = getStatment(currentId.get());
|
||||
|
||||
Imdg<Statement> serviceTestImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_Statement, Statement.class);
|
||||
serviceTestImdg.insert(existStatement);
|
||||
|
||||
CommonGetByIdResponse response = new CommonGetByIdResponse();
|
||||
Map<String, Object> extractedByMeta = responseFactory.responseFromObject(existStatement);
|
||||
response.fromEntity(extractedByMeta);
|
||||
|
||||
//ACT
|
||||
perform(MockMvcRequestBuilders.get(REST_URL + existStatement.getId())
|
||||
.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(response)));
|
||||
}
|
||||
|
||||
private Statement getStatment(Long id) {
|
||||
Statement statement = new Statement();
|
||||
statement.setId(id);
|
||||
statement.setAddresseeId(currentId.get());
|
||||
statement.setSenderId(currentId.get());
|
||||
statement.setClearingDate(LocalDate.now());
|
||||
statement.setStatementType("name");
|
||||
statement.setComment("comment");
|
||||
statement.setAccountId(currentId.get());
|
||||
statement.setAccount("acc");
|
||||
statement.setInOutDirection("direction");
|
||||
statement.setSettlementDate(LocalDate.now());
|
||||
statement.setAmount(new BigDecimal(0));
|
||||
statement.setCashMovementCurrencyCode("cash");
|
||||
statement.setOperationStatus("status");
|
||||
statement.setErrorCode("error");
|
||||
statement.setErrorText("name");
|
||||
statement.setInSDfId(currentId.get());
|
||||
statement.setOutSDfId(currentId.get());
|
||||
statement.setInOutSDfType("type");
|
||||
return statement;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.utilities;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.user.UserSettings;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.utilities.UserSettingsUpdateAction;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
|
||||
class UserSettingsControllerTest extends AbstractControllerTest {
|
||||
public static final String REST_URL = "/utilities/user-settings/";
|
||||
|
||||
/**
|
||||
* {@link UserSettingsController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /utilities/user-settings/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
UserSettings userSettings = new UserSettings();
|
||||
userSettings.setId(currentId.get());
|
||||
userSettings.setUserId(currentId.get());
|
||||
userSettings.setJson("json");
|
||||
userSettings.setVersion("version");
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_UserSettings, userSettings, REST_URL);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link UserSettingsController#update(UserSettingsUpdateAction)} <br>
|
||||
* Тест проверяет получение сущности {@link UserSettingsUpdateAction} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос {@link UserSettingsUpdateAction}:<br>
|
||||
*/
|
||||
@Test
|
||||
void update() throws Exception {
|
||||
//ARRANGE
|
||||
long id = currentId.get();
|
||||
String identifier = "identifierUserSettings";
|
||||
UserSettingsUpdateAction userSettingsUpdateAction = new UserSettingsUpdateAction();
|
||||
userSettingsUpdateAction.setUserId(id);
|
||||
userSettingsUpdateAction.setVersion("name");
|
||||
|
||||
//ACT and ASSERT
|
||||
setUserNameInMockSecurityContextAndMapUser(identifier, id);
|
||||
checkUpdatingWithoutIdByRestApi(REST_URL, userSettingsUpdateAction);
|
||||
userSettingsUpdateAction.json = "null";
|
||||
checkSendedMessegeFromKafka(Consts.USER_SETTINGS_UPDATE, userSettingsUpdateAction);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue