Adding test for ExecutionDepositController. And update meta.json.

This commit is contained in:
psemenkov 2023-02-17 12:39:46 +03:00
parent 24cba526f9
commit ee334d285e
3 changed files with 1881 additions and 1310 deletions

View file

@ -10,7 +10,6 @@ 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.test.context.ContextConfiguration;
import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
@ -24,6 +23,7 @@ import ru.spcex.clearing.backendapi.controller.queue.account.AccountBalanceContr
import ru.spcex.clearing.backendapi.controller.queue.account.AccountController;
import ru.spcex.clearing.backendapi.controller.queue.account.BankAccountController;
import ru.spcex.clearing.backendapi.controller.queue.company.*;
import ru.spcex.clearing.backendapi.controller.queue.execution.ExecutionDepositController;
import ru.spcex.clearing.backendapi.controller.queue.misc.NotificationController;
import ru.spcex.clearing.backendapi.controller.queue.misc.SessionController;
import ru.spcex.clearing.backendapi.controller.queue.payment.PaymentInstructionController;
@ -42,6 +42,9 @@ import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
import ru.spcex.platform.utils.enumeration.IMessageResolver;
import javax.annotation.PostConstruct;
import java.io.File;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.concurrent.atomic.AtomicLong;
import static org.junit.jupiter.api.Assertions.assertEquals;
@ -64,6 +67,8 @@ import static ru.spcex.clearing.backendapi.controller.utils.MatcherFactory.using
EditContactController.class,
ProfileDocumentController.class,
RelationController.class,
//execution
ExecutionDepositController.class,
//misc
NotificationController.class,
SessionController.class,
@ -77,7 +82,6 @@ import static ru.spcex.clearing.backendapi.controller.utils.MatcherFactory.using
//******* common configs *******
WebTestConfig.class,
IOperatorTest.class,
// KafkaTestConfig.class,
HazelcastServiceTestConfiguration.class,
StateLoaderImplTestConfig.class,
WebSecurityTestConfigurer.class,
@ -85,13 +89,17 @@ import static ru.spcex.clearing.backendapi.controller.utils.MatcherFactory.using
Jackson2HttpConverterTestConfig.class})
@ExtendWith(SpringExtension.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 static final MatcherFactory.Matcher<BaseRequest> BASE_REQUEST_MATCHER = usingIgnoringFieldsComparator(BaseRequest.class);
protected static final AtomicLong currentId = new AtomicLong();
private static final CharacterEncodingFilter CHARACTER_ENCODING_FILTER = new CharacterEncodingFilter();
static {
Path path = Paths.get("src", "main", "resources");
String currentPath = path.toAbsolutePath().toString();
System.setProperty("spring.config.location", currentPath + File.separator);
CHARACTER_ENCODING_FILTER.setEncoding("UTF-8");
CHARACTER_ENCODING_FILTER.setForceEncoding(true);
}

View file

@ -0,0 +1,56 @@
package ru.spcex.clearing.backendapi.controller.queue.execution;
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.execution.ExecutionDeposit;
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
import ru.spcex.clearing.backendapi.controller.queue.account.BankAccountController;
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.platform.imdg.api.Imdg;
import java.util.Collection;
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 ExecutionDepositControllerTest extends AbstractControllerTest {
private static final String REST_URL = "/execution-deposits/";
/**
* {@link BankAccountController#getAll()} <br>
* Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_BankAccount.<br>
* Входной запрос /securities/bank-accounts/ <br>
* Ответ CommonGetAllResponse <br>
*/
@Test
void getAll() throws Exception {
//ARRANGE
ExecutionDeposit executionDeposit = new ExecutionDeposit();
executionDeposit.setId(currentId.get());
executionDeposit.setExchangeExecutionId(currentId.get());
executionDeposit.setCounterPartyId(currentId.get());
executionDeposit.setSecurityId(currentId.get());
Imdg<ExecutionDeposit> executionDepositImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_ExecutionDeposit, ExecutionDeposit.class);
executionDepositImdg.insert(executionDeposit);
Collection<ExecutionDeposit> values = executionDepositImdg.getAllValues();
Collection<Map<String, Object>> all = responseFactory.responseFromObjectCollection(values);
CommonGetAllResponse expected = new CommonGetAllResponse();
expected.fromEntity(all);
//ACT
perform(MockMvcRequestBuilders.get(REST_URL)
.contentType(MediaType.APPLICATION_JSON))
.andDo(print())//output to the log request and response
//ASSERT
.andExpect(status().isOk())
.andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON))
.andExpect(content().json(writeValue(expected)));
}
}

File diff suppressed because it is too large Load diff