You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by re...@apache.org on 2023/01/12 12:55:22 UTC

[cxf] branch 3.4.x-fixes updated (9bd031dd92 -> a1fd204fd8)

This is an automated email from the ASF dual-hosted git repository.

reta pushed a change to branch 3.4.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git


    from 9bd031dd92 Bump dependency-check-maven from 6.5.3 to 7.4.4 (#1064)
     new e7aee4bd41 Update EasyMock to 5.1.0
     new a9ddb9c06f Update EasyMock to 5.1.0 (#1057)
     new a674e74d5a Recording .gitmergeinfo Changes
     new 76f6694af6 Fixing MAPCodecTest tests (result of EasyMock 5.1.0 update)
     new a1fd204fd8 Fixing corba / jaxws / ws-addr / ws-security tests (result of EasyMock 5.1.0 update)

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .gitmergeinfo                                          |  1 +
 .../apache/cxf/jca/cxf/ConnectionFactoryImplTest.java  |  2 +-
 parent/pom.xml                                         |  2 +-
 .../org/apache/cxf/binding/corba/CorbaConduitTest.java | 18 +++++++++++++++---
 .../cxf/binding/corba/CorbaServerConduitTest.java      |  9 ++++++---
 .../transport/http_jaxws_spi/HttpHandlerImplTest.java  |  6 +++++-
 .../http_jaxws_spi/JAXWSHttpSpiDestinationTest.java    | 12 ++++++++++--
 .../JAXWSHttpSpiTransportFactoryTest.java              |  6 +++++-
 .../transport/https/HttpsURLConnectionFactoryTest.java | 10 +++++-----
 .../apache/cxf/ws/addressing/soap/MAPCodecTest.java    |  6 +++++-
 .../security/wss4j/AttachmentCallbackHandlerTest.java  |  9 ++++++++-
 11 files changed, 62 insertions(+), 19 deletions(-)


[cxf] 03/05: Recording .gitmergeinfo Changes

Posted by re...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

reta pushed a commit to branch 3.4.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit a674e74d5aff2bbbd02405c794eb4cafb88f0a69
Author: Andriy Redko <dr...@gmail.com>
AuthorDate: Wed Jan 11 14:59:32 2023 -0500

    Recording .gitmergeinfo Changes
---
 .gitmergeinfo | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.gitmergeinfo b/.gitmergeinfo
index e64b7b6d88..6508cfc721 100644
--- a/.gitmergeinfo
+++ b/.gitmergeinfo
@@ -49,6 +49,7 @@ B 2c89d63ad40544c7b346d252398f010ba3b50a66
 B 2d2b6443d93ebe40d752bf02d2b8c0432d103e87
 B 2ec061d12343efbc93cd05d65002c8efad8622bd
 B 2f28098031610f0279d93b0d4b8d32559707383d
+B 3176a94564529b8c233672e507c73dfbfca6ca00
 B 320534fa741aa00834c1d35a46efd3eedeb7229a
 B 32b2b5b54934c2954f9f7205bfdb00ae3f79d5f2
 B 332a02450fe1620daeaa2b65c0716e337d49095a


[cxf] 01/05: Update EasyMock to 5.1.0

Posted by re...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

reta pushed a commit to branch 3.4.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit e7aee4bd41fa26d7e8a8c83fd529db362372b079
Author: Andriy Redko <dr...@gmail.com>
AuthorDate: Sun Jan 8 15:05:14 2023 -0500

    Update EasyMock to 5.1.0
    
    (cherry picked from commit 2d5d085df8621805ff33640f7aa43b47d098622d)
    
    # Conflicts:
    #       parent/pom.xml
    (cherry picked from commit e9fda922e79bb2c71a3ce9c705ecadfc07f1a23a)
    (cherry picked from commit ac99c8980d820a220254b8c2d74626cb389cc97e)
---
 parent/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/parent/pom.xml b/parent/pom.xml
index e4964ed069..a0d0b08801 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -56,7 +56,7 @@
         <cxf.asm.artifactId>asm</cxf.asm.artifactId>
         <cxf.asm.version>9.4</cxf.asm.version>
         <cxf.osgi.asm.version>[3.0,10)</cxf.osgi.asm.version>
-        <cxf.easymock.version>5.0.1</cxf.easymock.version>
+        <cxf.easymock.version>5.1.0</cxf.easymock.version>
         <!-- OSGi related properties -->
         <cxf.fragment.host />
         <cxf.bundle.activation.policy>lazy</cxf.bundle.activation.policy>


[cxf] 04/05: Fixing MAPCodecTest tests (result of EasyMock 5.1.0 update)

Posted by re...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

reta pushed a commit to branch 3.4.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit 76f6694af628d53bdfb4910c7679ca0c2563045d
Author: Andriy Redko <dr...@gmail.com>
AuthorDate: Wed Jan 11 17:13:06 2023 -0500

    Fixing MAPCodecTest tests (result of EasyMock 5.1.0 update)
    
    (cherry picked from commit be8f60426b5db39bae36f9be32f295fb32674d07)
---
 .../test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java   | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java b/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java
index 760e27d1a1..2b6b48dbe5 100644
--- a/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java
+++ b/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java
@@ -84,6 +84,10 @@ public class MAPCodecTest {
     private String nonReplyRelationship;
     private boolean expectFaultTo;
 
+    // Mock JAXBContext
+    private abstract static class MockJAXBContext extends JAXBContext {
+    }
+
     @Before
     public void setUp() {
         codec = new MAPCodec();
@@ -315,7 +319,7 @@ public class MAPCodecTest {
             }
         });
         List<Header> headers = message.getHeaders();
-        JAXBContext jaxbContext = control.createMock(JAXBContext.class);
+        JAXBContext jaxbContext = control.createMock(MockJAXBContext.class);
         ContextJAXBUtils.setJAXBContext(jaxbContext);
         Names200408.setJAXBContext(jaxbContext);
         Names200403.setJAXBContext(jaxbContext);


[cxf] 02/05: Update EasyMock to 5.1.0 (#1057)

Posted by re...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

reta pushed a commit to branch 3.4.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit a9ddb9c06fabdd2d11e2e865b15c9a5f3357fd11
Author: Andriy Redko <dr...@gmail.com>
AuthorDate: Wed Jan 11 07:30:55 2023 -0500

    Update EasyMock to 5.1.0 (#1057)
    
    (cherry picked from commit 2c9be58586580ce1c2e9642a1fb44fa92d109c8a)
    
    # Conflicts:
    #       parent/pom.xml
    (cherry picked from commit 18ed52c0aaddb702d2bd0761f9bcee084677ff70)
    (cherry picked from commit 8e3239d358b6565c382dcba2bf5bbd8ff6b3547d)
---
 .../java/org/apache/cxf/jca/cxf/ConnectionFactoryImplTest.java |  2 +-
 .../cxf/transport/https/HttpsURLConnectionFactoryTest.java     | 10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/integration/jca/src/test/java/org/apache/cxf/jca/cxf/ConnectionFactoryImplTest.java b/integration/jca/src/test/java/org/apache/cxf/jca/cxf/ConnectionFactoryImplTest.java
index f48c8a91c6..f2976f0d87 100644
--- a/integration/jca/src/test/java/org/apache/cxf/jca/cxf/ConnectionFactoryImplTest.java
+++ b/integration/jca/src/test/java/org/apache/cxf/jca/cxf/ConnectionFactoryImplTest.java
@@ -67,7 +67,7 @@ public class ConnectionFactoryImplTest {
         assertTrue("Instance of Referenceable", cf instanceof Referenceable);
 
         assertNull("No ref set", cf.getReference());
-        Reference ref = EasyMock.createMock(Reference.class);
+        Reference ref = new Reference("some.class");
         cf.setReference(ref);
         assertEquals("Got back what was set", ref, cf.getReference());
     }
diff --git a/rt/transports/http/src/test/java/org/apache/cxf/transport/https/HttpsURLConnectionFactoryTest.java b/rt/transports/http/src/test/java/org/apache/cxf/transport/https/HttpsURLConnectionFactoryTest.java
index ebed529b06..fa19f6c275 100644
--- a/rt/transports/http/src/test/java/org/apache/cxf/transport/https/HttpsURLConnectionFactoryTest.java
+++ b/rt/transports/http/src/test/java/org/apache/cxf/transport/https/HttpsURLConnectionFactoryTest.java
@@ -26,9 +26,9 @@ import org.apache.cxf.common.util.ReflectionUtil;
 import org.apache.cxf.configuration.jsse.SSLUtils;
 import org.apache.cxf.configuration.jsse.TLSClientParameters;
 
-import org.easymock.EasyMock;
 import org.junit.Assert;
 import org.junit.Test;
+import org.mockito.Mockito;
 
 public class HttpsURLConnectionFactoryTest {
 
@@ -44,7 +44,7 @@ public class HttpsURLConnectionFactoryTest {
         TLSClientParameters tlsClientParams = new TLSClientParameters();
         tlsClientParams.setUseHttpsURLConnectionDefaultSslSocketFactory(false);
 
-        HttpsURLConnection conn = EasyMock.createMock(HttpsURLConnection.class);
+        HttpsURLConnection conn = Mockito.mock(HttpsURLConnection.class);
 
         try {
             factory.decorateWithTLS(tlsClientParams, conn);
@@ -66,7 +66,7 @@ public class HttpsURLConnectionFactoryTest {
         tlsClientParams.setUseHttpsURLConnectionDefaultSslSocketFactory(false);
         tlsClientParams.setCertAlias("someAlias");
 
-        HttpsURLConnection conn = EasyMock.createMock(HttpsURLConnection.class);
+        HttpsURLConnection conn = Mockito.mock(HttpsURLConnection.class);
 
         try {
             factory.decorateWithTLS(tlsClientParams, conn);
@@ -88,7 +88,7 @@ public class HttpsURLConnectionFactoryTest {
         TLSClientParameters tlsClientParams = new TLSClientParameters();
         tlsClientParams.setUseHttpsURLConnectionDefaultSslSocketFactory(false);
 
-        HttpsURLConnection conn = EasyMock.createMock(HttpsURLConnection.class);
+        HttpsURLConnection conn = Mockito.mock(HttpsURLConnection.class);
 
         try {
             factory.decorateWithTLS(tlsClientParams, conn);
@@ -111,7 +111,7 @@ public class HttpsURLConnectionFactoryTest {
         tlsClientParams.setUseHttpsURLConnectionDefaultSslSocketFactory(false);
         tlsClientParams.setCertAlias("someAlias");
 
-        HttpsURLConnection conn = EasyMock.createMock(HttpsURLConnection.class);
+        HttpsURLConnection conn = Mockito.mock(HttpsURLConnection.class);
 
         try {
             factory.decorateWithTLS(tlsClientParams, conn);


[cxf] 05/05: Fixing corba / jaxws / ws-addr / ws-security tests (result of EasyMock 5.1.0 update)

Posted by re...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

reta pushed a commit to branch 3.4.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit a1fd204fd8189244eac85602b959bfcb16f035be
Author: Andriy Redko <dr...@gmail.com>
AuthorDate: Wed Jan 11 20:16:21 2023 -0500

    Fixing corba / jaxws / ws-addr / ws-security tests (result of EasyMock 5.1.0 update)
    
    (cherry picked from commit a774bef562f47b4b66e9890c5968d80c4476d8d9)
---
 .../org/apache/cxf/binding/corba/CorbaConduitTest.java | 18 +++++++++++++++---
 .../cxf/binding/corba/CorbaServerConduitTest.java      |  9 ++++++---
 .../transport/http_jaxws_spi/HttpHandlerImplTest.java  |  6 +++++-
 .../http_jaxws_spi/JAXWSHttpSpiDestinationTest.java    | 12 ++++++++++--
 .../JAXWSHttpSpiTransportFactoryTest.java              |  6 +++++-
 .../apache/cxf/ws/addressing/soap/MAPCodecTest.java    |  2 +-
 .../security/wss4j/AttachmentCallbackHandlerTest.java  |  9 ++++++++-
 7 files changed, 50 insertions(+), 12 deletions(-)

diff --git a/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/CorbaConduitTest.java b/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/CorbaConduitTest.java
index 3fc47fc013..474ef21397 100644
--- a/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/CorbaConduitTest.java
+++ b/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/CorbaConduitTest.java
@@ -77,6 +77,18 @@ public class CorbaConduitTest {
     CorbaBindingFactory factory;
     OrbConfig orbConfig;
 
+    // EasyMock: java.lang.IllegalAccessException when mocking org.omg.CORBA.* classes
+    private abstract static class MockRequest extends Request {
+    }
+
+    // EasyMock: java.lang.IllegalAccessException when mocking org.omg.CORBA.* classes
+    private abstract static class MockNamedValue extends NamedValue {
+    }
+
+    // EasyMock: java.lang.IllegalAccessException when mocking org.omg.CORBA.* classes
+    private abstract static class MockExceptionList extends ExceptionList {
+    }
+
     @Before
     public void setUp() throws Exception {
         control = EasyMock.createNiceControl();
@@ -363,10 +375,10 @@ public class CorbaConduitTest {
         EasyMock.expect(message.get(CorbaConstants.CORBA_ENDPOINT_OBJECT)).andReturn(obj);
 
         //msg.put(CorbaConstants.CORBA_ENDPOINT_OBJECT, obj);
-        Request r = control.createMock(Request.class);
+        Request r = control.createMock(MockRequest.class);
         NVList nvList = orb.create_list(0);
-        NamedValue ret = control.createMock(NamedValue.class);
-        ExceptionList exList = control.createMock(ExceptionList.class);
+        NamedValue ret = control.createMock(MockNamedValue.class);
+        ExceptionList exList = control.createMock(MockExceptionList.class);
 
         EasyMock.expect(obj._create_request((Context)EasyMock.anyObject(),
                             EasyMock.eq("greetMe"),
diff --git a/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/CorbaServerConduitTest.java b/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/CorbaServerConduitTest.java
index cefef3352e..bcb1a216de 100644
--- a/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/CorbaServerConduitTest.java
+++ b/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/CorbaServerConduitTest.java
@@ -70,6 +70,9 @@ public class CorbaServerConduitTest {
     CorbaTypeMap corbaTypeMap;
     private org.omg.CORBA.Object targetObject;
 
+    // EasyMock: java.lang.IllegalAccessException when mocking org.omg.CORBA.* classes
+    private abstract static class MockServerRequest extends ServerRequest {
+    }
 
     @Before
     public void setUp() throws Exception {
@@ -203,7 +206,7 @@ public class CorbaServerConduitTest {
         CorbaServerConduit conduit = setupCorbaServerConduit(false);
         CorbaMessage msg = control.createMock(CorbaMessage.class);
         Exchange exchange = control.createMock(Exchange.class);
-        ServerRequest request = control.createMock(ServerRequest.class);
+        ServerRequest request = control.createMock(MockServerRequest.class);
 
         EasyMock.expect(msg.getExchange()).andReturn(exchange);
         EasyMock.expect(exchange.get(ServerRequest.class)).andReturn(request);
@@ -229,7 +232,7 @@ public class CorbaServerConduitTest {
         CorbaServerConduit conduit = setupCorbaServerConduit(false);
         CorbaMessage msg = control.createMock(CorbaMessage.class);
         Exchange exchange = control.createMock(Exchange.class);
-        ServerRequest request = control.createMock(ServerRequest.class);
+        ServerRequest request = control.createMock(MockServerRequest.class);
 
         EasyMock.expect(msg.getExchange()).andReturn(exchange);
         EasyMock.expect(exchange.get(ServerRequest.class)).andReturn(request);
@@ -276,7 +279,7 @@ public class CorbaServerConduitTest {
         CorbaServerConduit conduit = setupCorbaServerConduit(false);
         CorbaMessage msg = control.createMock(CorbaMessage.class);
         Exchange exchange = control.createMock(Exchange.class);
-        ServerRequest request = control.createMock(ServerRequest.class);
+        ServerRequest request = control.createMock(MockServerRequest.class);
         EasyMock.expect(exchange.getBus()).andReturn(bus);
 
         EasyMock.expect(msg.getExchange()).andReturn(exchange);
diff --git a/rt/frontend/jaxws/src/test/java/org/apache/cxf/transport/http_jaxws_spi/HttpHandlerImplTest.java b/rt/frontend/jaxws/src/test/java/org/apache/cxf/transport/http_jaxws_spi/HttpHandlerImplTest.java
index 2c8c6b8cbc..689a538d03 100644
--- a/rt/frontend/jaxws/src/test/java/org/apache/cxf/transport/http_jaxws_spi/HttpHandlerImplTest.java
+++ b/rt/frontend/jaxws/src/test/java/org/apache/cxf/transport/http_jaxws_spi/HttpHandlerImplTest.java
@@ -36,12 +36,16 @@ public class HttpHandlerImplTest {
     private JAXWSHttpSpiDestination destination;
     private HttpExchange exchange;
 
+    // EasyMock: java.lang.IllegalAccessException when mocking javax.* classes
+    private abstract static class MockHttpExchange extends HttpExchange {
+    }
+
     @Before
     public void setUp() {
         control = EasyMock.createNiceControl();
         destination = control.createMock(JAXWSHttpSpiDestination.class);
         handler = new HttpHandlerImpl(destination);
-        exchange = control.createMock(HttpExchange.class);
+        exchange = control.createMock(MockHttpExchange.class);
     }
 
     @After
diff --git a/rt/frontend/jaxws/src/test/java/org/apache/cxf/transport/http_jaxws_spi/JAXWSHttpSpiDestinationTest.java b/rt/frontend/jaxws/src/test/java/org/apache/cxf/transport/http_jaxws_spi/JAXWSHttpSpiDestinationTest.java
index 01ea81197f..b029a51fcc 100644
--- a/rt/frontend/jaxws/src/test/java/org/apache/cxf/transport/http_jaxws_spi/JAXWSHttpSpiDestinationTest.java
+++ b/rt/frontend/jaxws/src/test/java/org/apache/cxf/transport/http_jaxws_spi/JAXWSHttpSpiDestinationTest.java
@@ -55,6 +55,14 @@ public class JAXWSHttpSpiDestinationTest {
     private MessageObserver observer;
     private EndpointInfo endpoint;
 
+    // EasyMock: java.lang.IllegalAccessException when mocking javax.* classes
+    private abstract static class MockHttpContext extends HttpContext {
+    }
+
+    // EasyMock: java.lang.IllegalAccessException when mocking javax.* classes
+    private abstract static class MockHttpExchange extends HttpExchange {
+    }
+
     @Before
     public void setUp() {
         control = EasyMock.createNiceControl();
@@ -62,7 +70,7 @@ public class JAXWSHttpSpiDestinationTest {
         bus.getExtension(org.apache.cxf.policy.PolicyDataEngine.class);
         EasyMock.expectLastCall().andReturn(null).anyTimes();
         observer = control.createMock(MessageObserver.class);
-        context = control.createMock(HttpContext.class);
+        context = control.createMock(MockHttpContext.class);
         endpoint = new EndpointInfo();
         endpoint.setAddress(ADDRESS);
     }
@@ -104,7 +112,7 @@ public class JAXWSHttpSpiDestinationTest {
 
 
     private HttpExchange setUpExchange() throws Exception {
-        HttpExchange exchange = control.createMock(HttpExchange.class);
+        HttpExchange exchange = control.createMock(MockHttpExchange.class);
         expect(exchange.getHttpContext()).andReturn(context).anyTimes();
         expect(exchange.getQueryString()).andReturn(null);
         expect(exchange.getPathInfo()).andReturn(null);
diff --git a/rt/frontend/jaxws/src/test/java/org/apache/cxf/transport/http_jaxws_spi/JAXWSHttpSpiTransportFactoryTest.java b/rt/frontend/jaxws/src/test/java/org/apache/cxf/transport/http_jaxws_spi/JAXWSHttpSpiTransportFactoryTest.java
index e305cc759f..b0a57e9086 100644
--- a/rt/frontend/jaxws/src/test/java/org/apache/cxf/transport/http_jaxws_spi/JAXWSHttpSpiTransportFactoryTest.java
+++ b/rt/frontend/jaxws/src/test/java/org/apache/cxf/transport/http_jaxws_spi/JAXWSHttpSpiTransportFactoryTest.java
@@ -41,10 +41,14 @@ public class JAXWSHttpSpiTransportFactoryTest {
     private JAXWSHttpSpiTransportFactory factory;
     private Bus bus;
 
+    // EasyMock: java.lang.IllegalAccessException when mocking javax.* classes
+    private abstract static class MockHttpContext extends HttpContext {
+    }
+
     @Before
     public void setUp() {
         control = EasyMock.createNiceControl();
-        context = control.createMock(HttpContext.class);
+        context = control.createMock(MockHttpContext.class);
         bus = control.createMock(Bus.class);
         factory = new JAXWSHttpSpiTransportFactory(context);
     }
diff --git a/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java b/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java
index 2b6b48dbe5..4c0ab40710 100644
--- a/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java
+++ b/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java
@@ -84,7 +84,7 @@ public class MAPCodecTest {
     private String nonReplyRelationship;
     private boolean expectFaultTo;
 
-    // Mock JAXBContext
+    // EasyMock: java.lang.IllegalAccessException when mocking javax.* classes
     private abstract static class MockJAXBContext extends JAXBContext {
     }
 
diff --git a/rt/ws/security/src/test/java/org/apache/cxf/ws/security/wss4j/AttachmentCallbackHandlerTest.java b/rt/ws/security/src/test/java/org/apache/cxf/ws/security/wss4j/AttachmentCallbackHandlerTest.java
index 2273dcc60f..4f379098a7 100644
--- a/rt/ws/security/src/test/java/org/apache/cxf/ws/security/wss4j/AttachmentCallbackHandlerTest.java
+++ b/rt/ws/security/src/test/java/org/apache/cxf/ws/security/wss4j/AttachmentCallbackHandlerTest.java
@@ -24,6 +24,7 @@ import java.util.List;
 
 import javax.activation.CommandMap;
 import javax.activation.DataHandler;
+import javax.activation.DataSource;
 import javax.security.auth.callback.Callback;
 
 import org.apache.cxf.attachment.AttachmentImpl;
@@ -40,6 +41,12 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
 public class AttachmentCallbackHandlerTest {
+    // EasyMock: java.lang.IllegalAccessException when mocking javax.* classes
+    private abstract static class MockDataHandler extends DataHandler {
+        MockDataHandler(DataSource ds) {
+            super(ds);
+        }
+    }
 
     static {
         WSSConfig.init();
@@ -61,7 +68,7 @@ public class AttachmentCallbackHandlerTest {
         Attachment attachment = new AttachmentImpl(attachmentId);
 
         // Mock up a DataHandler for the Attachment
-        DataHandler dataHandler = EasyMock.mock(DataHandler.class);
+        DataHandler dataHandler = EasyMock.mock(MockDataHandler.class);
         dataHandler.setCommandMap(anyObject(CommandMap.class));
         EasyMock.expectLastCall();
         EasyMock.expect(dataHandler.getInputStream()).andReturn(null);