package org.jacorb.test.notification; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import org.jacorb.notification.filter.EvaluationContext; import org.jacorb.notification.filter.EvaluationResult; import org.jacorb.notification.filter.etcl.AbstractTCLNode; import org.jacorb.notification.filter.etcl.ETCLComponentName; import org.jacorb.notification.filter.etcl.TCLCleanUp; import org.jacorb.notification.filter.etcl.TCLParser; import org.jacorb.notification.impl.DefaultMessageFactory; import org.jacorb.notification.interfaces.Message; import org.jacorb.test.notification.common.NotificationTestCase; import org.jacorb.test.notification.common.NotificationTestUtils; import org.junit.Before; import org.junit.Test; import org.omg.CORBA.Any; import org.omg.CosNotification.StructuredEvent; /** * @author Alphonse Bendt */ public class NotificationEventTest extends NotificationTestCase { DefaultMessageFactory factory_; Any testPerson_; Any testUnion_; StructuredEvent testStructured_; EvaluationContext evaluationContext_; NotificationTestUtils testUtils_; @Before public void setUp() throws Exception { testUtils_ = new NotificationTestUtils(getORB()); evaluationContext_ = new EvaluationContext(getEvaluator()); factory_ = new DefaultMessageFactory(getORB(), getConfiguration()); testPerson_ = testUtils_.getTestPersonAny(); TestUnion _t1 = new TestUnion(); _t1.default_person(testUtils_.getTestPerson()); testUnion_ = getORB().create_any(); TestUnionHelper.insert(testUnion_, _t1); testStructured_ = testUtils_.getStructuredEvent(); } @Test public void testGetType() throws Exception { Message _event = factory_.newMessage(testPerson_); assertTrue(_event.getType() == Message.TYPE_ANY); } @Test public void testEvaluate_Any() throws Exception { String _expr = "$.first_name"; AbstractTCLNode _root = TCLParser.parse(_expr); _root.acceptPreOrder(new TCLCleanUp()); Message _event = factory_.newMessage(testPerson_); EvaluationResult _result = _event.extractValue(evaluationContext_, (ETCLComponentName) _root); assertEquals("firstname", _result.getString()); } @Test public void testEvaluate_Structured() throws Exception { String _expr = "$.header.fixed_header.event_type.domain_name"; Message _event = factory_.newMessage(testStructured_); AbstractTCLNode _root = TCLParser.parse(_expr); _root.acceptPreOrder(new TCLCleanUp()); EvaluationResult _result = _event.extractValue(evaluationContext_, (ETCLComponentName) _root); assertEquals("TESTING", _result.getString()); } @Test public void testToStructuredEvent() throws Exception { Message _event = factory_.newMessage(testPerson_); StructuredEvent _structuredEvent = _event.toStructuredEvent(); assertEquals("", _structuredEvent.header.fixed_header.event_type.domain_name); assertEquals("%ANY", _structuredEvent.header.fixed_header.event_type.type_name); Person _p = PersonHelper.extract(_structuredEvent.remainder_of_body); assertEquals("firstname", _p.first_name); assertEquals("lastname", _p.last_name); } }