/******************************************************************************* * Copyright (c) 2011 GitHub Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Jason Tsay (GitHub Inc.) - initial API and implementation *******************************************************************************/ package org.eclipse.egit.github.core.tests; import static org.eclipse.egit.github.core.event.Event.TYPE_FOLLOW; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import org.eclipse.egit.github.core.client.EventFormatter; import org.eclipse.egit.github.core.client.GsonUtils; import org.eclipse.egit.github.core.event.Event; import org.eclipse.egit.github.core.event.EventPayload; import org.eclipse.egit.github.core.event.FollowPayload; import org.junit.Test; /** * Unit tests of {@link EventFormatter} */ public class EventFormatterTest { /** * Follow event payload returned as {@link FollowPayload} */ @Test public void followPayload() { Event event = GsonUtils.fromJson("{\"type\":\"" + TYPE_FOLLOW + "\",\"payload\":{}}", Event.class); assertNotNull(event); assertNotNull(event.getPayload()); assertEquals(FollowPayload.class, event.getPayload().getClass()); } /** * Unknown event payload returned as {@link EventPayload} */ @Test public void unknownPayload() { Event event = GsonUtils.fromJson( "{\"type\":\"NotAnEventType\",\"payload\":{}}", Event.class); assertNotNull(event); assertNotNull(event.getPayload()); assertEquals(EventPayload.class, event.getPayload().getClass()); } /** * Event with missing type has payload returned as {@link EventPayload} */ @Test public void missingType() { Event event = GsonUtils.fromJson("{\"payload\":{}}", Event.class); assertNotNull(event); assertNotNull(event.getPayload()); assertEquals(EventPayload.class, event.getPayload().getClass()); } /** * Missing payload */ @Test public void missingPayload() { Event event = GsonUtils.fromJson("{}", Event.class); assertNotNull(event); assertNull(event.getPayload()); } }