import fj.data.Either;
import org.junit.Before;
import org.junit.Test;
-import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.openecomp.sdc.be.model.User;
import org.openecomp.sdc.be.resources.data.auditing.AuditingGenericEvent;
import org.openecomp.sdc.be.resources.data.auditing.DistributionStatusEvent;
+import org.openecomp.sdc.common.datastructure.AuditingFieldsKey;
import org.openecomp.sdc.exception.ResponseFormat;
+
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.anyBoolean;
-import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.when;
-public class DistributionMonitoringBusinessLogicTest {
+public class DistributionMonitoringBusinessLogicTest extends BaseBusinessLogicMock {
- private String uId;
+ private String userId;
private User user;
- private String ditributionId;
+ private String distributionId;
private String serviceId;
- @InjectMocks
private DistributionMonitoringBusinessLogic businessLogic;
- @Mock
- private AuditCassandraDao cassandraDao;
-
- @Mock
- private UserValidations userValidations;
-
- @Mock
- private ComponentsUtils componentsUtils;
+ @Mock private AuditCassandraDao cassandraDao;
+ @Mock private UserValidations userValidations;
+ @Mock private ComponentsUtils componentsUtils;
@Before
public void setUp() {
- businessLogic = new DistributionMonitoringBusinessLogic();
- MockitoAnnotations.initMocks(this);
+ MockitoAnnotations.openMocks(this);
+ businessLogic = new DistributionMonitoringBusinessLogic(elementDao, groupOperation, groupInstanceOperation,
+ groupTypeOperation, interfaceOperation, interfaceLifecycleTypeOperation,
+ cassandraDao, artifactToscaOperation);
+ businessLogic.setUserValidations(userValidations);
+ businessLogic.setComponentsUtils(componentsUtils);
user = new User();
- uId = "userId";
- ditributionId = "did";
+ userId = "userId";
+ distributionId = "did";
serviceId = "serviceId";
- when(userValidations.validateUserExists(Mockito.eq(uId), eq(ditributionId), anyBoolean()))
+ when(userValidations.validateUserExists(Mockito.eq(userId)))
.thenReturn(user);
}
@Test
public void testGetListOfDistribution_givenInvalidDistributionId_thenReturnsError() {
- when(cassandraDao.getListOfDistributionStatuses(ditributionId))
+ when(cassandraDao.getListOfDistributionStatuses(distributionId))
.thenReturn(Either.right(ActionStatus.DISTRIBUTION_NOT_FOUND));
- assertTrue(businessLogic.getListOfDistributionStatus(ditributionId, uId).isRight());
+ assertTrue(businessLogic.getListOfDistributionStatus(distributionId, userId).isRight());
}
@Test
DistributionStatusEvent event = new DistributionStatusEvent();
distributionEvents.add(event);
- when(cassandraDao.getListOfDistributionStatuses(ditributionId))
+ when(cassandraDao.getListOfDistributionStatuses(distributionId))
.thenReturn(Either.left(distributionEvents));
- Either<DistributionStatusListResponse, ResponseFormat> result = businessLogic.getListOfDistributionStatus(ditributionId, uId);
+ Either<DistributionStatusListResponse, ResponseFormat> result = businessLogic.getListOfDistributionStatus(distributionId, userId);
assertTrue(result.isLeft());
assertEquals(1, result.left().value().getDistributionStatusList().size());
when(cassandraDao.getServiceDistributionStatusesList(serviceId))
.thenReturn(Either.right(ActionStatus.DISTRIBUTION_NOT_FOUND));
- assertTrue(businessLogic.getListOfDistributionServiceStatus(serviceId, uId).isRight());
+ assertTrue(businessLogic.getListOfDistributionServiceStatus(serviceId, userId).isRight());
}
@Test
event1Fields.put("DID", "event1");
event1Fields.put("ACTION", "DRequest");
event1Fields.put("STATUS", "200");
- event1Fields.put("MODIFIER", uId);
+ event1Fields.put("MODIFIER", userId);
event2Fields.put("DID", "event2");
event2Fields.put("ACTION", "DNotify");
event2Fields.put("STATUS", "200");
- event2Fields.put("MODIFIER", uId);
+ event2Fields.put("MODIFIER", userId);
+
+ event1.setFields(event1Fields);
+ event2.setFields(event2Fields);
+ serviceEvents.add(event1);
+ serviceEvents.add(event2);
+
+ when(cassandraDao.getServiceDistributionStatusesList(serviceId))
+ .thenReturn(Either.left(serviceEvents));
+
+ assertTrue(businessLogic.getListOfDistributionServiceStatus(serviceId, userId).isLeft());
+ }
+
+ @Test
+ public void testGetDistributionServiceStatus_givenLongTimeStamp_thenReturnsSuccessful() {
+
+ Map<String, Object> event1Fields = new HashMap<>();
+ event1Fields.put("DID", "event1");
+ event1Fields.put("ACTION", "DRequest");
+ event1Fields.put("STATUS", "200");
+ event1Fields.put("MODIFIER", userId);
+ event1Fields.put(AuditingFieldsKey.AUDIT_TIMESTAMP.getDisplayName(), "2024-04-05 07:29:10.735 UTC");
+
+ Map<String, Object> event2Fields = new HashMap<>();
+ event2Fields.put("DID", "event2");
+ event2Fields.put("ACTION", "DNotify");
+ event2Fields.put("STATUS", "200");
+ event2Fields.put("MODIFIER", userId);
+ event1Fields.put(AuditingFieldsKey.AUDIT_TIMESTAMP.getDisplayName(), 1712645750L);
+
+ List<AuditingGenericEvent> serviceEvents = new ArrayList<>();
+ AuditingGenericEvent event1 = new AuditingGenericEvent();
+ AuditingGenericEvent event2 = new AuditingGenericEvent();
event1.setFields(event1Fields);
event2.setFields(event2Fields);
when(cassandraDao.getServiceDistributionStatusesList(serviceId))
.thenReturn(Either.left(serviceEvents));
- assertTrue(businessLogic.getListOfDistributionServiceStatus(serviceId, uId).isLeft());
+ assertTrue(businessLogic.getListOfDistributionServiceStatus(serviceId, userId).isLeft());
}
}
\ No newline at end of file