- droolsEngine.putRaisedIntoStream(new Alarm());\r
- }\r
-\r
-\r
- @Test\r
- public void listener_receive() throws JMSException {\r
- DroolsEngine.AlarmMqMessageListener listener = droolsEngine.new AlarmMqMessageListener();\r
-\r
- Connection connection = PowerMock.createMock(Connection.class);\r
- Session session = PowerMock.createMock(Session.class);\r
- Destination destination = PowerMock.createMock(Topic.class);\r
- MessageConsumer consumer = PowerMock.createMock(MessageConsumer.class);\r
-\r
- Whitebox.setInternalState(listener, "connection", connection);\r
- Whitebox.setInternalState(listener, "session", session);\r
- Whitebox.setInternalState(listener, "destination", destination);\r
- Whitebox.setInternalState(listener, "consumer", consumer);\r
-\r
- PowerMock.reset();\r
-\r
- expect(connectionFactory.createConnection()).andReturn(connection);\r
- connection.start();\r
- expect(connection.createSession(anyBoolean(), anyInt())).andReturn(session);\r
- expect(session.createTopic(anyObject(String.class))).andReturn((Topic) destination);\r
- expect(session.createConsumer(anyObject(Destination.class))).andReturn(consumer);\r
- consumer.setMessageListener(listener);\r
-\r
- PowerMock.replayAll();\r
-\r
- listener.receive();\r
-\r
- PowerMock.verifyAll();\r
- }\r
-\r
- @Test\r
- public void listener_exception() throws JMSException {\r
- DroolsEngine.AlarmMqMessageListener listener = droolsEngine.new AlarmMqMessageListener();\r
-\r
- Connection connection = PowerMock.createMock(Connection.class);\r
- Session session = PowerMock.createMock(Session.class);\r
- Destination destination = PowerMock.createMock(Topic.class);\r
- MessageConsumer consumer = PowerMock.createMock(MessageConsumer.class);\r
-\r
- Whitebox.setInternalState(listener, "connection", connection);\r
- Whitebox.setInternalState(listener, "session", session);\r
- Whitebox.setInternalState(listener, "destination", destination);\r
- Whitebox.setInternalState(listener, "consumer", consumer);\r
-\r
- PowerMock.reset();\r
-\r
- expect(connectionFactory.createConnection()).andReturn(connection);\r
- connection.start();\r
- expect(connection.createSession(anyBoolean(), anyInt())).andReturn(session);\r
- expect(session.createTopic(anyObject(String.class))).andReturn((Topic) destination);\r
- expect(session.createConsumer(anyObject(Destination.class))).andReturn(consumer);\r
- consumer.setMessageListener(listener);\r
- EasyMock.expectLastCall().andThrow(new JMSException(""));\r
-\r
- consumer.close();\r
- session.close();\r
- connection.close();\r
-\r
- PowerMock.replayAll();\r
-\r
- listener.receive();\r
-\r
- PowerMock.verifyAll();\r
- }\r
-\r
- @Test\r
- public void listener_close_exception() throws JMSException {\r
- DroolsEngine.AlarmMqMessageListener listener = droolsEngine.new AlarmMqMessageListener();\r
-\r
- Connection connection = PowerMock.createMock(Connection.class);\r
- Session session = PowerMock.createMock(Session.class);\r
- Destination destination = PowerMock.createMock(Topic.class);\r
- MessageConsumer consumer = PowerMock.createMock(MessageConsumer.class);\r
-\r
- Whitebox.setInternalState(listener, "connection", connection);\r
- Whitebox.setInternalState(listener, "session", session);\r
- Whitebox.setInternalState(listener, "destination", destination);\r
- Whitebox.setInternalState(listener, "consumer", consumer);\r
-\r
- PowerMock.reset();\r
-\r
- expect(connectionFactory.createConnection()).andReturn(connection);\r
- connection.start();\r
- expect(connection.createSession(anyBoolean(), anyInt())).andReturn(session);\r
- expect(session.createTopic(anyObject(String.class))).andReturn((Topic) destination);\r
- expect(session.createConsumer(anyObject(Destination.class))).andReturn(consumer);\r
- consumer.setMessageListener(listener);\r
- EasyMock.expectLastCall().andThrow(new JMSException(""));\r
-\r
- consumer.close();\r
- EasyMock.expectLastCall().andThrow(new JMSException(""));\r
-\r
- PowerMock.replayAll();\r
-\r
- listener.receive();\r
-\r
- PowerMock.verifyAll();\r
- }\r
-\r
- @Test\r
- public void listener_on_message() throws JMSException {\r
- DroolsEngine.AlarmMqMessageListener listener = droolsEngine.new AlarmMqMessageListener();\r
- Alarm alarm = new Alarm();\r
- alarm.setAlarmKey("alarmKey");\r
- ActiveMQObjectMessage objectMessage = new ActiveMQObjectMessage();\r
- objectMessage.setObject(alarm);\r
-\r
- listener.onMessage(objectMessage);\r