You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by jb...@apache.org on 2020/02/14 07:44:52 UTC
[activemq] branch activemq-5.15.x updated: AMQ-7399 - Adding a unit
test
This is an automated email from the ASF dual-hosted git repository.
jbonofre pushed a commit to branch activemq-5.15.x
in repository https://gitbox.apache.org/repos/asf/activemq.git
The following commit(s) were added to refs/heads/activemq-5.15.x by this push:
new 43be461 AMQ-7399 - Adding a unit test
43be461 is described below
commit 43be461acefc8484bb069a10625bfda669b015ef
Author: Colm O hEigeartaigh <co...@apache.org>
AuthorDate: Wed Feb 12 14:09:29 2020 +0000
AMQ-7399 - Adding a unit test
(cherry picked from commit 8cdddde5b47f06d5bc9d1c27e25287bc050799c6)
---
.../activemq/usecases/ObjectSerializationTest.java | 62 ++++++++++++++++++++++
1 file changed, 62 insertions(+)
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/ObjectSerializationTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/ObjectSerializationTest.java
new file mode 100644
index 0000000..a4838b7
--- /dev/null
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/ObjectSerializationTest.java
@@ -0,0 +1,62 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+package org.apache.activemq.usecases;
+
+import java.util.HashMap;
+
+import javax.jms.Connection;
+import javax.jms.Destination;
+import javax.jms.JMSException;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageProducer;
+import javax.jms.ObjectMessage;
+import javax.jms.Session;
+
+import org.apache.activemq.test.TestSupport;
+
+/**
+ * Test that java.util Object serialization is not allowed by default
+ */
+public class ObjectSerializationTest extends TestSupport {
+
+ private static final String VALUE_NAME = "value";
+
+ public void testDoChangeSentMessage() throws Exception {
+ Destination destination = createDestination("test-" + ObjectSerializationTest.class.getName());
+ Connection connection = createConnection();
+ connection.start();
+ Session consumerSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ MessageConsumer consumer = consumerSession.createConsumer(destination);
+ Session publisherSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ MessageProducer producer = publisherSession.createProducer(destination);
+
+ HashMap<String, Integer> map = new HashMap<>();
+ ObjectMessage message = publisherSession.createObjectMessage();
+ map.put(VALUE_NAME, Integer.valueOf(1));
+ message.setObject(map);
+ producer.send(message);
+
+ ObjectMessage msg = (ObjectMessage)consumer.receive();
+ try {
+ msg.getObject();
+ fail("Failure expected on trying to deserialize a forbidden package");
+ } catch (JMSException ex) {
+ // expected
+ }
+ }
+}