--- ContactServiceTest test done
This commit is contained in:
parent
dd395f36aa
commit
616be23d5a
2 changed files with 30 additions and 21 deletions
|
|
@ -5,6 +5,7 @@ import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
import ru.clearing.classes.statics.data.profile.Contact;
|
import ru.clearing.classes.statics.data.profile.Contact;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||||
|
|
@ -14,6 +15,7 @@ import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
|
|
||||||
|
@Service
|
||||||
public class ContactService extends QueueConsumer implements InitializingBean {
|
public class ContactService extends QueueConsumer implements InitializingBean {
|
||||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
private final Imdg<Contact> contactMap;
|
private final Imdg<Contact> contactMap;
|
||||||
|
|
@ -36,7 +38,7 @@ public class ContactService extends QueueConsumer implements InitializingBean {
|
||||||
ContactUpdateRequest req = userRequest.getRequestPayload();
|
ContactUpdateRequest req = userRequest.getRequestPayload();
|
||||||
log.debug("ContactUpdateRequest received");
|
log.debug("ContactUpdateRequest received");
|
||||||
Contact contact = contactMap.getSingleObjectByID(req.getId());
|
Contact contact = contactMap.getSingleObjectByID(req.getId());
|
||||||
contact.setContactType(req.getContactType());
|
// contact.setContactType(req.getContactType()); по ТЗ не должен менятся при обновлении
|
||||||
contact.setContactValue(req.getContactValue());
|
contact.setContactValue(req.getContactValue());
|
||||||
|
|
||||||
contactMap.update(contact);
|
contactMap.update(contact);
|
||||||
|
|
|
||||||
|
|
@ -14,14 +14,14 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
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 ru.clearing.classes.statics.data.generated.ClearingMemberCategory;
|
import ru.clearing.classes.statics.data.profile.Contact;
|
||||||
import ru.spcex.clearing.company.config.HazelcastServiceTestConfiguration;
|
import ru.spcex.clearing.company.config.HazelcastServiceTestConfiguration;
|
||||||
import ru.spcex.clearing.company.utils.MatcherFactory;
|
import ru.spcex.clearing.company.utils.MatcherFactory;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.company.ClearingMemberCategoryUpdateRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.company.ContactUpdateRequest;
|
||||||
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
|
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
@ -34,7 +34,7 @@ import static ru.spcex.clearing.company.utils.MatcherFactory.usingIgnoringFields
|
||||||
HazelcastServiceTestConfiguration.class})
|
HazelcastServiceTestConfiguration.class})
|
||||||
class ContactServiceTest {
|
class ContactServiceTest {
|
||||||
|
|
||||||
public static final MatcherFactory.Matcher<ClearingMemberCategory> CONTACT_MATCHER = usingIgnoringFieldsComparator();
|
public static final MatcherFactory.Matcher<Contact> CONTACT_MATCHER = usingIgnoringFieldsComparator();
|
||||||
private static final int PARTITION = 0;
|
private static final int PARTITION = 0;
|
||||||
private static final String TOPIC_CONTACT_UPDATE = Consts.DESTINATION_CONTACT_UPDATE;
|
private static final String TOPIC_CONTACT_UPDATE = Consts.DESTINATION_CONTACT_UPDATE;
|
||||||
private static Long currentId = 0L;
|
private static Long currentId = 0L;
|
||||||
|
|
@ -52,15 +52,20 @@ class ContactServiceTest {
|
||||||
@Test
|
@Test
|
||||||
void contactUpdate() throws InterruptedException {
|
void contactUpdate() throws InterruptedException {
|
||||||
//ARRANGE
|
//ARRANGE
|
||||||
ClearingMemberCategory existsСlearingMemberCategory = new ClearingMemberCategory();
|
Contact existsContact = new Contact();
|
||||||
existsСlearingMemberCategory.setId(currentId);
|
existsContact.setId(currentId);
|
||||||
existsСlearingMemberCategory.setClearingMemberCategory("0000");
|
existsContact.setCompanyId(currentId);
|
||||||
|
existsContact.setContactType("0000");
|
||||||
|
existsContact.setContactValue("exists ContactValue");
|
||||||
|
|
||||||
ClearingMemberCategoryUpdateRequest memberCategoryUpdateRequest = new ClearingMemberCategoryUpdateRequest();
|
ContactUpdateRequest contactUpdateRequest = new ContactUpdateRequest();
|
||||||
memberCategoryUpdateRequest.setId(currentId);
|
contactUpdateRequest.setId(currentId);
|
||||||
memberCategoryUpdateRequest.setClearingMemberCategory("1234");
|
contactUpdateRequest.setCompanyId(1L);
|
||||||
BaseRequest<ClearingMemberCategoryUpdateRequest> baseUpdateRequest = new BaseRequest<>();
|
contactUpdateRequest.setContactType("1234");
|
||||||
baseUpdateRequest.setRequestPayload(memberCategoryUpdateRequest);
|
contactUpdateRequest.setContactValue("new ContactValue");
|
||||||
|
|
||||||
|
BaseRequest<ContactUpdateRequest> baseUpdateRequest = new BaseRequest<>();
|
||||||
|
baseUpdateRequest.setRequestPayload(contactUpdateRequest);
|
||||||
baseUpdateRequest.setId(currentId);
|
baseUpdateRequest.setId(currentId);
|
||||||
baseUpdateRequest.setActionType(ActionType.UPDATE);
|
baseUpdateRequest.setActionType(ActionType.UPDATE);
|
||||||
String jsonBaseForUpdatingRequest;
|
String jsonBaseForUpdatingRequest;
|
||||||
|
|
@ -71,20 +76,22 @@ class ContactServiceTest {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
ClearingMemberCategory predictableClearingMemberCategory = new ClearingMemberCategory();
|
Contact predictableContact = new Contact();
|
||||||
predictableClearingMemberCategory.setId(currentId);
|
predictableContact.setId(currentId);
|
||||||
predictableClearingMemberCategory.setClearingMemberCategory("1234");
|
predictableContact.setCompanyId(currentId);
|
||||||
|
predictableContact.setContactType("0000");
|
||||||
|
predictableContact.setContactValue("new ContactValue");
|
||||||
|
|
||||||
//ACT
|
//ACT
|
||||||
//service set up
|
//service set up
|
||||||
ClearingMemberCategoryService clearingMemberCategoryService = new ClearingMemberCategoryService(mockConsumer, hazelcastServiceTest);
|
ContactService contactService = new ContactService(mockConsumer, hazelcastServiceTest);
|
||||||
Thread.sleep(10000);
|
Thread.sleep(10000);
|
||||||
//callbacks set up
|
//callbacks set up
|
||||||
clearingMemberCategoryService.afterPropertiesSet();
|
contactService.afterPropertiesSet();
|
||||||
Thread.sleep(10000);
|
Thread.sleep(10000);
|
||||||
|
|
||||||
IMap<Long, ClearingMemberCategory> iMap = hazelcastServiceTest.getHazelcast().getMap(IMDGDistributedNames.Map_ClearingMemberCategory);
|
IMap<Long, Contact> iMap = hazelcastServiceTest.getHazelcast().getMap(IMDGDistributedNames.Map_Contact);
|
||||||
iMap.put(currentId, existsСlearingMemberCategory);
|
iMap.put(currentId, existsContact);
|
||||||
|
|
||||||
//KAFKA
|
//KAFKA
|
||||||
mockConsumer.schedulePollTask(() -> {
|
mockConsumer.schedulePollTask(() -> {
|
||||||
|
|
@ -98,8 +105,8 @@ class ContactServiceTest {
|
||||||
|
|
||||||
//ASSERT
|
//ASSERT
|
||||||
Thread.sleep(10000);
|
Thread.sleep(10000);
|
||||||
ClearingMemberCategory resultUpdating = iMap.get(currentId);
|
Contact resultUpdating = iMap.get(currentId);
|
||||||
CONTACT_MATCHER.assertMatch(resultUpdating, predictableClearingMemberCategory);
|
CONTACT_MATCHER.assertMatch(resultUpdating, predictableContact);
|
||||||
|
|
||||||
//preparing hazelcastImdgProvider for next test
|
//preparing hazelcastImdgProvider for next test
|
||||||
iMap.clear();
|
iMap.clear();
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue