---
ContactServiceTest test done
This commit is contained in:
psemenkov 2022-09-16 18:15:59 +03:00
parent dd395f36aa
commit 616be23d5a
2 changed files with 30 additions and 21 deletions

View file

@ -5,6 +5,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import ru.clearing.classes.statics.data.profile.Contact;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
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.ImdgProvider;
@Service
public class ContactService extends QueueConsumer implements InitializingBean {
private final Logger log = LoggerFactory.getLogger(getClass());
private final Imdg<Contact> contactMap;
@ -36,7 +38,7 @@ public class ContactService extends QueueConsumer implements InitializingBean {
ContactUpdateRequest req = userRequest.getRequestPayload();
log.debug("ContactUpdateRequest received");
Contact contact = contactMap.getSingleObjectByID(req.getId());
contact.setContactType(req.getContactType());
// contact.setContactType(req.getContactType()); по ТЗ не должен менятся при обновлении
contact.setContactValue(req.getContactValue());
contactMap.update(contact);

View file

@ -14,14 +14,14 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.test.context.ContextConfiguration;
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.utils.MatcherFactory;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.ActionType;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
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 java.util.Collections;
@ -34,7 +34,7 @@ import static ru.spcex.clearing.company.utils.MatcherFactory.usingIgnoringFields
HazelcastServiceTestConfiguration.class})
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 String TOPIC_CONTACT_UPDATE = Consts.DESTINATION_CONTACT_UPDATE;
private static Long currentId = 0L;
@ -52,15 +52,20 @@ class ContactServiceTest {
@Test
void contactUpdate() throws InterruptedException {
//ARRANGE
ClearingMemberCategory existsСlearingMemberCategory = new ClearingMemberCategory();
existsСlearingMemberCategory.setId(currentId);
existsСlearingMemberCategory.setClearingMemberCategory("0000");
Contact existsContact = new Contact();
existsContact.setId(currentId);
existsContact.setCompanyId(currentId);
existsContact.setContactType("0000");
existsContact.setContactValue("exists ContactValue");
ClearingMemberCategoryUpdateRequest memberCategoryUpdateRequest = new ClearingMemberCategoryUpdateRequest();
memberCategoryUpdateRequest.setId(currentId);
memberCategoryUpdateRequest.setClearingMemberCategory("1234");
BaseRequest<ClearingMemberCategoryUpdateRequest> baseUpdateRequest = new BaseRequest<>();
baseUpdateRequest.setRequestPayload(memberCategoryUpdateRequest);
ContactUpdateRequest contactUpdateRequest = new ContactUpdateRequest();
contactUpdateRequest.setId(currentId);
contactUpdateRequest.setCompanyId(1L);
contactUpdateRequest.setContactType("1234");
contactUpdateRequest.setContactValue("new ContactValue");
BaseRequest<ContactUpdateRequest> baseUpdateRequest = new BaseRequest<>();
baseUpdateRequest.setRequestPayload(contactUpdateRequest);
baseUpdateRequest.setId(currentId);
baseUpdateRequest.setActionType(ActionType.UPDATE);
String jsonBaseForUpdatingRequest;
@ -71,20 +76,22 @@ class ContactServiceTest {
throw new RuntimeException(e);
}
ClearingMemberCategory predictableClearingMemberCategory = new ClearingMemberCategory();
predictableClearingMemberCategory.setId(currentId);
predictableClearingMemberCategory.setClearingMemberCategory("1234");
Contact predictableContact = new Contact();
predictableContact.setId(currentId);
predictableContact.setCompanyId(currentId);
predictableContact.setContactType("0000");
predictableContact.setContactValue("new ContactValue");
//ACT
//service set up
ClearingMemberCategoryService clearingMemberCategoryService = new ClearingMemberCategoryService(mockConsumer, hazelcastServiceTest);
ContactService contactService = new ContactService(mockConsumer, hazelcastServiceTest);
Thread.sleep(10000);
//callbacks set up
clearingMemberCategoryService.afterPropertiesSet();
contactService.afterPropertiesSet();
Thread.sleep(10000);
IMap<Long, ClearingMemberCategory> iMap = hazelcastServiceTest.getHazelcast().getMap(IMDGDistributedNames.Map_ClearingMemberCategory);
iMap.put(currentId, existsСlearingMemberCategory);
IMap<Long, Contact> iMap = hazelcastServiceTest.getHazelcast().getMap(IMDGDistributedNames.Map_Contact);
iMap.put(currentId, existsContact);
//KAFKA
mockConsumer.schedulePollTask(() -> {
@ -98,8 +105,8 @@ class ContactServiceTest {
//ASSERT
Thread.sleep(10000);
ClearingMemberCategory resultUpdating = iMap.get(currentId);
CONTACT_MATCHER.assertMatch(resultUpdating, predictableClearingMemberCategory);
Contact resultUpdating = iMap.get(currentId);
CONTACT_MATCHER.assertMatch(resultUpdating, predictableContact);
//preparing hazelcastImdgProvider for next test
iMap.clear();