Commit 265a719e authored by Noel Alonso's avatar Noel Alonso
Browse files

Añade test para de/serialización vía avro

parent abbcabf2
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
package es.redmic.usersettingslib.unit.dto;

import static org.junit.Assert.assertTrue;

import org.json.JSONException;
import org.junit.Test;
import org.skyscreamer.jsonassert.JSONAssert;

import es.redmic.testutils.utils.AvroBaseTest;
import es.redmic.usersettingslib.dto.SettingsDTO;
import es.redmic.usersettingslib.unit.utils.SettingsDataUtil;

public class SettingsCheckAvroSchemaTest extends AvroBaseTest {

	@Test
	public void serializeAndDeserialize_IsSuccessful_IfSchemaAndDataAreCorrect() throws JSONException {

		SettingsDTO dto = SettingsDataUtil.getSettings();

		Object result = serializerAndDeserializer(dto);

		assertTrue("El objeto obtenido debe ser una instancia de SettingsDTO", SettingsDTO.class.isInstance(result));

		JSONAssert.assertEquals(result.toString(), dto.toString(), false);
	}
}
+38 −0
Original line number Diff line number Diff line
package es.redmic.usersettingslib.unit.utils;

import java.util.ArrayList;
import java.util.UUID;

import org.joda.time.DateTime;

import es.redmic.usersettingslib.dto.SettingsDTO;

public abstract class SettingsDataUtil {

	// @formatter:off
	public final static String PREFIX = "settings-",
			CODE = UUID.randomUUID().toString(),
			USER = "1";
	// @formatter:on

	@SuppressWarnings("serial")
	public static SettingsDTO getSettings() {

		SettingsDTO settings = new SettingsDTO();

		settings.setId(PREFIX + CODE);
		settings.setName("prueba");
		settings.setService("prueba");
		settings.setUserId(USER);
		settings.setSelection(new ArrayList<String>() {
			{
				add("1");
			}
		});

		settings.setInserted(DateTime.now());
		settings.setUpdated(DateTime.now());
		settings.setAccessed(DateTime.now());
		return settings;
	}
}