/* * #%L * Service Activity Monitoring :: Server * %% * Copyright (C) 2011 - 2012 Talend Inc. * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * #L% */ package org.talend.esb.sam.server.persistence; import java.util.Calendar; import java.util.GregorianCalendar; import javax.annotation.Resource; import org.apache.commons.lang.builder.EqualsBuilder; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests; import org.talend.esb.sam.common.event.Event; import org.talend.esb.sam.common.event.EventTypeEnum; import org.talend.esb.sam.server.util.EventCreator; @ContextConfiguration(locations = {"/test-persistence.xml"}) public class EventRepositoryTest extends AbstractTransactionalJUnit4SpringContextTests { @Resource private EventRepositoryImpl eventRepository; @Before public void setUp() throws Exception { //executeSqlScript("create.sql", true); } @Test public void testWriteEvent() { GregorianCalendar cal = new GregorianCalendar(2000, Calendar.JANUARY, 1, 01 , 01, 10); Event event = EventCreator.createEvent("content", cal.getTime(), EventTypeEnum.REQ_IN, "orig_id", "localhost", "10.0.0.1", "1", "2", "3", "operation", "service", "http"); event.getCustomInfo().put("mykey1", "myValue1"); event.getCustomInfo().put("mykey2", "myValue2"); Assert.assertNull(event.getPersistedId()); eventRepository.writeEvent(event); Assert.assertNotNull(event.getPersistedId()); //read Event from database Event readEvent = eventRepository.readEvent(event.getPersistedId().longValue()); Assert.assertTrue(EqualsBuilder.reflectionEquals(event, readEvent)); } @After public void tearDown() { executeSqlScript("drop.sql", true); } }