Commit 4758646a authored by Noel Alonso's avatar Noel Alonso
Browse files

Añade eventos a la factoría + tests

parent e9563110
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
@@ -13,6 +13,8 @@ import es.redmic.vesselslib.dto.vessel.VesselDTO;
import es.redmic.vesselslib.events.vessel.common.VesselCancelledEvent;
import es.redmic.vesselslib.events.vessel.common.VesselEvent;
import es.redmic.vesselslib.events.vessel.create.CreateVesselCancelledEvent;
import es.redmic.vesselslib.events.vessel.create.CreateVesselEnrichedEvent;
import es.redmic.vesselslib.events.vessel.create.CreateVesselEvent;
import es.redmic.vesselslib.events.vessel.create.CreateVesselFailedEvent;
import es.redmic.vesselslib.events.vessel.create.VesselCreatedEvent;
import es.redmic.vesselslib.events.vessel.delete.DeleteVesselCancelledEvent;
@@ -23,6 +25,8 @@ import es.redmic.vesselslib.events.vessel.delete.DeleteVesselFailedEvent;
import es.redmic.vesselslib.events.vessel.delete.VesselDeletedEvent;
import es.redmic.vesselslib.events.vessel.partialupdate.vesseltype.UpdateVesselTypeInVesselEvent;
import es.redmic.vesselslib.events.vessel.update.UpdateVesselCancelledEvent;
import es.redmic.vesselslib.events.vessel.update.UpdateVesselEnrichedEvent;
import es.redmic.vesselslib.events.vessel.update.UpdateVesselEvent;
import es.redmic.vesselslib.events.vessel.update.UpdateVesselFailedEvent;
import es.redmic.vesselslib.events.vessel.update.VesselUpdatedEvent;
import es.redmic.vesselslib.events.vesseltype.VesselTypeEventTypes;
@@ -34,6 +38,20 @@ public class VesselEventFactory {

	public static Event getEvent(Event source, String type) {

		if (type.equals(VesselEventTypes.CREATE_ENRICHED)) {

			logger.info("Creando evento CreateVesselEnrichedEvent para: " + source.getAggregateId());

			return new CreateVesselEnrichedEvent().buildFrom(source);
		}

		if (type.equals(VesselEventTypes.UPDATE_ENRICHED)) {

			logger.info("Creando evento UpdateVesselEnrichedEvent para: " + source.getAggregateId());

			return new UpdateVesselEnrichedEvent().buildFrom(source);
		}

		if (type.equals(VesselEventTypes.DELETE)) {

			logger.info("Creando evento DeleteVesselEvent para: " + source.getAggregateId());
@@ -65,6 +83,18 @@ public class VesselEventFactory {

		VesselEvent successfulEvent = null;

		if (type.equals(VesselEventTypes.CREATE)) {

			logger.info("Creando evento CreateVesselEvent para: " + source.getAggregateId());
			successfulEvent = new CreateVesselEvent().buildFrom(source);
		}

		if (type.equals(VesselEventTypes.UPDATE)) {

			logger.info("Creando evento UpdateVesselEvent para: " + source.getAggregateId());
			successfulEvent = new UpdateVesselEvent().buildFrom(source);
		}

		if (type.equals(VesselEventTypes.CREATED)) {

			logger.info("Creando evento VesselCreatedEvent para: " + source.getAggregateId());
+54 −0
Original line number Diff line number Diff line
@@ -10,6 +10,8 @@ import es.redmic.brokerlib.avro.common.EventError;
import es.redmic.vesselslib.events.vessel.VesselEventFactory;
import es.redmic.vesselslib.events.vessel.VesselEventTypes;
import es.redmic.vesselslib.events.vessel.create.CreateVesselCancelledEvent;
import es.redmic.vesselslib.events.vessel.create.CreateVesselEnrichedEvent;
import es.redmic.vesselslib.events.vessel.create.CreateVesselEvent;
import es.redmic.vesselslib.events.vessel.create.CreateVesselFailedEvent;
import es.redmic.vesselslib.events.vessel.create.VesselCreatedEvent;
import es.redmic.vesselslib.events.vessel.delete.DeleteVesselCancelledEvent;
@@ -20,6 +22,8 @@ import es.redmic.vesselslib.events.vessel.delete.DeleteVesselFailedEvent;
import es.redmic.vesselslib.events.vessel.delete.VesselDeletedEvent;
import es.redmic.vesselslib.events.vessel.partialupdate.vesseltype.UpdateVesselTypeInVesselEvent;
import es.redmic.vesselslib.events.vessel.update.UpdateVesselCancelledEvent;
import es.redmic.vesselslib.events.vessel.update.UpdateVesselEnrichedEvent;
import es.redmic.vesselslib.events.vessel.update.UpdateVesselEvent;
import es.redmic.vesselslib.events.vessel.update.UpdateVesselFailedEvent;
import es.redmic.vesselslib.events.vessel.update.VesselUpdatedEvent;
import es.redmic.vesselslib.events.vesseltype.update.VesselTypeUpdatedEvent;
@@ -28,6 +32,30 @@ import es.redmic.vesselslib.unit.utils.VesselTypeDataUtil;

public class VesselEventFactoryTest {

	@Test
	public void GetEvent_ReturnCreateVesselEnrichedEvent_IfTypeIsCreateEnriched() {

		Event source = VesselDataUtil.getEnrichCreateVesselEvent();
		CreateVesselEnrichedEvent event = (CreateVesselEnrichedEvent) VesselEventFactory.getEvent(source,
				VesselEventTypes.CREATE_ENRICHED);

		assertEquals(VesselEventTypes.CREATE_ENRICHED, event.getType());

		checkMetadataFields(source, event);
	}

	@Test
	public void GetEvent_ReturnUpdateVesselEnrichedEvent_IfTypeIsUpdateEnriched() {

		Event source = VesselDataUtil.getEnrichUpdateVesselEvent();
		UpdateVesselEnrichedEvent event = (UpdateVesselEnrichedEvent) VesselEventFactory.getEvent(source,
				VesselEventTypes.UPDATE_ENRICHED);

		assertEquals(VesselEventTypes.UPDATE_ENRICHED, event.getType());

		checkMetadataFields(source, event);
	}

	@Test
	public void GetEvent_ReturnDeleteVesselEvent_IfTypeIsDelete() {

@@ -64,6 +92,19 @@ public class VesselEventFactoryTest {

	/////////////////////////

	@Test
	public void GetEvent_ReturnCreateVesselEvent_IfTypeIsCreate() {

		Event source = VesselDataUtil.getCreateVesselEnrichedEvent();
		CreateVesselEvent event = (CreateVesselEvent) VesselEventFactory.getEvent(source, VesselEventTypes.CREATE,
				VesselDataUtil.getVessel());

		assertEquals(VesselEventTypes.CREATE, event.getType());
		assertNotNull(event.getVessel());

		checkMetadataFields(source, event);
	}

	@Test
	public void GetEvent_ReturnVesselCreatedEvent_IfTypeIsCreated() {

@@ -77,6 +118,19 @@ public class VesselEventFactoryTest {
		checkMetadataFields(source, event);
	}

	@Test
	public void GetEvent_ReturnUpdateVesselEvent_IfTypeIsUpdate() {

		Event source = VesselDataUtil.getUpdateVesselEnrichedEvent();
		UpdateVesselEvent event = (UpdateVesselEvent) VesselEventFactory.getEvent(source, VesselEventTypes.UPDATE,
				VesselDataUtil.getVessel());

		assertEquals(VesselEventTypes.UPDATE, event.getType());
		assertNotNull(event.getVessel());

		checkMetadataFields(source, event);
	}

	@Test
	public void GetEvent_ReturnVesselCreatedEvent_IfTypeIsUpdated() {