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.MockProducer;
|
||||||
import org.apache.kafka.clients.producer.ProducerRecord;
|
import org.apache.kafka.clients.producer.ProducerRecord;
|
||||||
import org.junit.jupiter.api.extension.ExtendWith;
|
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.ArgumentCaptor;
|
||||||
import org.mockito.Captor;
|
import org.mockito.Captor;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
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.autoconfigure.web.servlet.WebMvcTest;
|
||||||
import org.springframework.boot.test.mock.mockito.MockBean;
|
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
|
import org.springframework.security.core.context.SecurityContextHolder;
|
||||||
import org.springframework.test.context.ContextConfiguration;
|
import org.springframework.test.context.ContextConfiguration;
|
||||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||||
import org.springframework.test.web.servlet.MockMvc;
|
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.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.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.request.cud.common.CommonDeleteAction;
|
||||||
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
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.CudResponseTest;
|
||||||
|
|
@ -63,8 +76,7 @@ import java.util.Map;
|
||||||
import java.util.concurrent.atomic.AtomicLong;
|
import java.util.concurrent.atomic.AtomicLong;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
import static org.mockito.Mockito.doReturn;
|
import static org.mockito.Mockito.*;
|
||||||
import static org.mockito.Mockito.spy;
|
|
||||||
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
|
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.content;
|
||||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
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,
|
PlannerTemplateController.class,
|
||||||
//securities
|
//securities
|
||||||
CudMoneyMarketSecurityController.class,
|
CudMoneyMarketSecurityController.class,
|
||||||
|
InformationAccountController.class,
|
||||||
|
SecurityController.class,
|
||||||
|
//user
|
||||||
|
UserController.class,
|
||||||
|
UserRoleSessionController.class,
|
||||||
|
//utilities
|
||||||
|
CudKeyRateController.class,
|
||||||
|
StatementController.class,
|
||||||
|
UserSettingsController.class,
|
||||||
//******* common configs *******
|
//******* common configs *******
|
||||||
WebTestConfig.class,
|
WebTestConfig.class,
|
||||||
IOperatorTest.class,
|
IOperatorTest.class,
|
||||||
|
|
@ -235,6 +256,34 @@ public abstract class AbstractControllerTest {
|
||||||
CUD_RESPONSE_MATCHER.assertMatch(cudResponseTest, expected);
|
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 {
|
protected void checkDeletingByRestApi(String REST_URL, Long existsId) throws Exception {
|
||||||
CudResponse expected = new CudResponse();
|
CudResponse expected = new CudResponse();
|
||||||
expected.setCode(0L);
|
expected.setCode(0L);
|
||||||
|
|
@ -256,6 +305,13 @@ public abstract class AbstractControllerTest {
|
||||||
CUD_RESPONSE_MATCHER.assertMatch(cudResponseTest, expected);
|
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 {
|
protected <T extends SpcexObjectBase> void checkGettingAllFromRestApi(String imdgDistributedNames, T existsObj, String restUrl) throws Exception {
|
||||||
Class<T> clazz = (Class<T>) existsObj.getClass();
|
Class<T> clazz = (Class<T>) existsObj.getClass();
|
||||||
Imdg<T> inDocumentJournalImdg = hazelcastServiceTest.getImdg(imdgDistributedNames, clazz);
|
Imdg<T> inDocumentJournalImdg = hazelcastServiceTest.getImdg(imdgDistributedNames, clazz);
|
||||||
|
|
@ -274,4 +330,43 @@ public abstract class AbstractControllerTest {
|
||||||
.andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON))
|
.andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON))
|
||||||
.andExpect(content().json(writeValue(expected)));
|
.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;
|
package ru.spcex.clearing.backendapi.controller.queue.account;
|
||||||
|
|
||||||
import com.hazelcast.core.IMap;
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.core.NestedExceptionUtils;
|
import org.springframework.core.NestedExceptionUtils;
|
||||||
import org.springframework.http.MediaType;
|
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.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest;
|
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.junit.jupiter.api.Assertions.assertThrows;
|
||||||
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
|
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
|
||||||
|
|
@ -157,9 +157,9 @@ class BankAccountControllerTest extends AbstractControllerTest {
|
||||||
existBankAccount.setTaxRegistrationReasonCode("886886");
|
existBankAccount.setTaxRegistrationReasonCode("886886");
|
||||||
existBankAccount.setId(currentId.get());
|
existBankAccount.setId(currentId.get());
|
||||||
|
|
||||||
IMap<Long, BankAccount> iMap = hazelcastServiceTest.getHazelcast().getMap(IMDGDistributedNames.Map_BankAccount);
|
Imdg<BankAccount> inDocumentJournalImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_BankAccount, BankAccount.class);
|
||||||
iMap.put(existBankAccount.getId(), existBankAccount);
|
inDocumentJournalImdg.insert(existBankAccount);
|
||||||
|
|
||||||
BankAccountBackendGetById expected = new BankAccountBackendGetById();
|
BankAccountBackendGetById expected = new BankAccountBackendGetById();
|
||||||
BankAccountBackendGetFields payload = new BankAccountBackendGetFields();
|
BankAccountBackendGetFields payload = new BankAccountBackendGetFields();
|
||||||
payload.setBankName("ooo tinkoff");
|
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.backendapi.errors.ActionValidationException;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
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.junit.jupiter.api.Assertions.assertThrows;
|
||||||
import static ru.spcex.clearing.backendapi.controller.utils.JsonUtil.writeValue;
|
import static ru.spcex.clearing.backendapi.controller.utils.JsonUtil.writeValue;
|
||||||
|
|
@ -37,11 +36,10 @@ class RelationControllerTest extends AbstractControllerTest {
|
||||||
|
|
||||||
Relation relation = new Relation();
|
Relation relation = new Relation();
|
||||||
relation.setId(existsId);
|
relation.setId(existsId);
|
||||||
Imdg<Relation> relationImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_Relation, Relation.class);
|
|
||||||
relationImdg.insert(relation);
|
|
||||||
|
|
||||||
//ACT and ASSERT
|
//ACT and ASSERT
|
||||||
checkUpdatingByRestApi(REST_URL, relationUpdateAction, existsId);
|
checkUpdatingWithIdVolidationByRestApi(IMDGDistributedNames.Map_Relation, relation,
|
||||||
|
REST_URL, relationUpdateAction, existsId);
|
||||||
checkSendedMessegeFromKafka(Consts.DESTINATION_RELATION_UPDATE, relationUpdateAction);
|
checkSendedMessegeFromKafka(Consts.DESTINATION_RELATION_UPDATE, relationUpdateAction);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,17 +2,10 @@ package ru.spcex.clearing.backendapi.controller.queue.scheduler;
|
||||||
|
|
||||||
import com.hazelcast.core.IMap;
|
import com.hazelcast.core.IMap;
|
||||||
import org.junit.jupiter.api.Test;
|
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.http.MediaType;
|
||||||
import org.springframework.security.core.context.SecurityContextHolder;
|
|
||||||
import org.springframework.test.web.servlet.MvcResult;
|
import org.springframework.test.web.servlet.MvcResult;
|
||||||
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
|
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
|
||||||
import ru.clearing.classes.statics.data.scheduler.Launcher;
|
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.AbstractDictionary;
|
||||||
import ru.clearing.platform.dictionary.TaskDictionary;
|
import ru.clearing.platform.dictionary.TaskDictionary;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
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.Collection;
|
||||||
import java.util.Map;
|
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.MockMvcResultHandlers.print;
|
||||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
|
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
|
||||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
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().contentTypeCompatibleWith(MediaType.APPLICATION_JSON))
|
||||||
.andExpect(content().json(writeValue(response)));
|
.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 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.schedule.PlannerTemplateNewAction;
|
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;
|
||||||
|
|
@ -46,25 +47,42 @@ class CudMoneyMarketSecurityControllerTest extends AbstractControllerTest {
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
void update() throws Exception {
|
void update() throws Exception {
|
||||||
// //ARRANGE
|
//ARRANGE
|
||||||
// long id = currentId.getAndIncrement();
|
long id = currentId.getAndIncrement();
|
||||||
// MoneyMarketSecurityUpdateAction moneyMarketSecurityUpdateAction = new MoneyMarketSecurityUpdateAction();
|
MoneyMarketSecurityUpdateAction moneyMarketSecurityUpdateAction = new MoneyMarketSecurityUpdateAction();
|
||||||
// moneyMarketSecurityUpdateAction.setId(id);
|
moneyMarketSecurityUpdateAction.setId(id);
|
||||||
// moneyMarketSecurityUpdateAction.setStartDate(LocalDate.now());
|
moneyMarketSecurityUpdateAction.setStartDate(LocalDate.now());
|
||||||
// moneyMarketSecurityUpdateAction.setEndDate(LocalDate.now());
|
moneyMarketSecurityUpdateAction.setEndDate(LocalDate.now());
|
||||||
// moneyMarketSecurityUpdateAction.setNominalValue(2D);
|
moneyMarketSecurityUpdateAction.setNominalValue(2D);
|
||||||
// moneyMarketSecurityUpdateAction.setNominalCurrency("nominal");
|
moneyMarketSecurityUpdateAction.setNominalCurrency("nominal");
|
||||||
// moneyMarketSecurityUpdateAction.setInstrumentType("status");
|
moneyMarketSecurityUpdateAction.setInstrumentType("status");
|
||||||
// moneyMarketSecurityUpdateAction.setFullName("fname");
|
moneyMarketSecurityUpdateAction.setFullName("fname");
|
||||||
// moneyMarketSecurityUpdateAction.setLotSize(3D);
|
moneyMarketSecurityUpdateAction.setLotSize(3D);
|
||||||
//
|
MoneyMarketSecurity moneyMarketSecurity = getMoneyMarketSecurity(id);
|
||||||
// //ACT and ASSERT
|
|
||||||
// checkUpdatingByRestApi(REST_URL, moneyMarketSecurityUpdateAction, id);
|
//ACT and ASSERT
|
||||||
// checkSendedMessegeFromKafka(Consts.DESTINATION_MONEY_MARKET_SECURITY_UPDATE, moneyMarketSecurityUpdateAction);
|
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
|
@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
|
@Test
|
||||||
void getAll() throws Exception {
|
void getAll() throws Exception {
|
||||||
//ARRANGE
|
//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 moneyMarketSecurity = new MoneyMarketSecurity();
|
||||||
moneyMarketSecurity.setId(currentId.get());
|
moneyMarketSecurity.setId(id);
|
||||||
moneyMarketSecurity.setSecurityId(currentId.get());
|
moneyMarketSecurity.setSecurityId(currentId.get());
|
||||||
moneyMarketSecurity.setDescription("desc");
|
moneyMarketSecurity.setDescription("desc");
|
||||||
moneyMarketSecurity.setStartDate(LocalDate.now());
|
moneyMarketSecurity.setStartDate(LocalDate.now());
|
||||||
|
|
@ -87,9 +112,6 @@ class CudMoneyMarketSecurityControllerTest extends AbstractControllerTest {
|
||||||
moneyMarketSecurity.setTermType("status");
|
moneyMarketSecurity.setTermType("status");
|
||||||
moneyMarketSecurity.setWorkflowStatus(Status.Active.getKey());
|
moneyMarketSecurity.setWorkflowStatus(Status.Active.getKey());
|
||||||
moneyMarketSecurity.setFullName("name");
|
moneyMarketSecurity.setFullName("name");
|
||||||
|
return moneyMarketSecurity;
|
||||||
//ACT and ASSERT
|
|
||||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_MoneyMarketSecurity, moneyMarketSecurity, REST_URL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -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