}
@Test
public void testParse() throws IOException, IvoryException, JAXBException {
Feed feed = parser.parseAndValidate(this.getClass()
.getResourceAsStream(FEED_XML));
Assert.assertNotNull(feed);
assertEquals(feed.getName(), "clicks");
assertEquals(feed.getDescription(), "clicks log");
assertEquals(feed.getFrequency().toString(), "hours(1)");
assertEquals(feed.getGroups(), "online,bi");
assertEquals(feed.getClusters().getClusters().get(0).getName(),
"testCluster");
assertEquals(feed.getClusters().getClusters().get(0).getType(),
ClusterType.SOURCE);
assertEquals(SchemaHelper.formatDateUTC(feed.getClusters().getClusters().get(0).getValidity()
.getStart()), "2011-11-01T00:00Z");
assertEquals(SchemaHelper.formatDateUTC(feed.getClusters().getClusters().get(0).getValidity()
.getEnd()), "2011-12-31T00:00Z");
assertEquals(feed.getTimezone().getID(), "UTC");
assertEquals(feed.getClusters().getClusters().get(0).getRetention()
.getAction(), ActionType.DELETE);
assertEquals(feed.getClusters().getClusters().get(0).getRetention()
.getLimit().toString(), "hours(48)");
assertEquals(feed.getClusters().getClusters().get(1).getName(),
"backupCluster");
assertEquals(feed.getClusters().getClusters().get(1).getType(),
ClusterType.TARGET);
assertEquals(SchemaHelper.formatDateUTC(feed.getClusters().getClusters().get(1).getValidity()
.getStart()), "2011-11-01T00:00Z");
assertEquals(SchemaHelper.formatDateUTC(feed.getClusters().getClusters().get(1).getValidity()
.getEnd()), "2011-12-31T00:00Z");
assertEquals(feed.getClusters().getClusters().get(1).getRetention()
.getAction(), ActionType.ARCHIVE);
assertEquals(feed.getClusters().getClusters().get(1).getRetention()
.getLimit().toString(), "hours(6)");
assertEquals(FeedHelper.getLocation(feed, LocationType.DATA).getPath(),
"/projects/ivory/clicks");
assertEquals(FeedHelper.getLocation(feed, LocationType.META).getPath(),
"/projects/ivory/clicksMetaData");
assertEquals(FeedHelper.getLocation(feed, LocationType.STATS).getPath(),
"/projects/ivory/clicksStats");
assertEquals(feed.getACL().getGroup(), "group");
assertEquals(feed.getACL().getOwner(), "testuser");
assertEquals(feed.getACL().getPermission(), "0x755");
assertEquals(feed.getSchema().getLocation(), "/schema/clicks");
assertEquals(feed.getSchema().getProvider(), "protobuf");
StringWriter stringWriter = new StringWriter();
Marshaller marshaller = EntityType.FEED.getMarshaller();
marshaller.marshal(feed, stringWriter);
System.out.println(stringWriter.toString());