You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by mu...@apache.org on 2009/04/14 17:46:43 UTC
svn commit: r764839 - in
/struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/test/java/org/apache/struts2/osgi/interceptor:
OsgiInterceptorTest.java SomeAction.java
Author: musachy
Date: Tue Apr 14 15:46:42 2009
New Revision: 764839
URL: http://svn.apache.org/viewvc?rev=764839&view=rev
Log:
Add a couple of tests
Added:
struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/test/java/org/apache/struts2/osgi/interceptor/SomeAction.java
Modified:
struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/test/java/org/apache/struts2/osgi/interceptor/OsgiInterceptorTest.java
Modified: struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/test/java/org/apache/struts2/osgi/interceptor/OsgiInterceptorTest.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/test/java/org/apache/struts2/osgi/interceptor/OsgiInterceptorTest.java?rev=764839&r1=764838&r2=764839&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/test/java/org/apache/struts2/osgi/interceptor/OsgiInterceptorTest.java (original)
+++ struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/test/java/org/apache/struts2/osgi/interceptor/OsgiInterceptorTest.java Tue Apr 14 15:46:42 2009
@@ -3,12 +3,15 @@
import org.easymock.EasyMock;
import org.apache.struts2.osgi.OsgiHost;
import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
import javax.servlet.ServletContext;
import com.opensymphony.xwork2.ActionInvocation;
import junit.framework.TestCase;
+import java.util.List;
+
public class OsgiInterceptorTest extends TestCase {
public void testBundleContextAware() throws Exception {
ServletContext servletContext = EasyMock.createStrictMock(ServletContext.class);
@@ -50,4 +53,33 @@
EasyMock.verify(bundleContextAware);
}
+
+ public void testServiceAware() throws Exception {
+ ServletContext servletContext = EasyMock.createStrictMock(ServletContext.class);
+ BundleContext bundleContext = EasyMock.createStrictMock(BundleContext.class);
+ ActionInvocation actionInvocation = EasyMock.createStrictMock(ActionInvocation.class);
+ SomeAction someAction = new SomeAction();
+
+ //service refs
+ ServiceReference objectRef = EasyMock.createNiceMock(ServiceReference.class);
+ Object someObject = new Object();
+
+ EasyMock.expect(servletContext.getAttribute(OsgiHost.OSGI_BUNDLE_CONTEXT)).andReturn(bundleContext);
+ EasyMock.expect(actionInvocation.getAction()).andReturn(someAction);
+ EasyMock.expect(actionInvocation.invoke()).andReturn("");
+ EasyMock.expect(bundleContext.getAllServiceReferences(Object.class.getName(), null)).andReturn(new ServiceReference[] {objectRef});
+ EasyMock.expect(bundleContext.getService(objectRef)).andReturn(someObject);
+
+ EasyMock.replay(bundleContext);
+ EasyMock.replay(servletContext);
+ EasyMock.replay(actionInvocation);
+
+ OsgiInterceptor osgiInterceptor = new OsgiInterceptor();
+ osgiInterceptor.setServletContext(servletContext);
+ osgiInterceptor.intercept(actionInvocation);
+
+ List<Object> objects = someAction.getServices();
+ assertNotNull(objects);
+ assertSame(someObject, objects.get(0));
+ }
}
Added: struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/test/java/org/apache/struts2/osgi/interceptor/SomeAction.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/test/java/org/apache/struts2/osgi/interceptor/SomeAction.java?rev=764839&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/test/java/org/apache/struts2/osgi/interceptor/SomeAction.java (added)
+++ struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/test/java/org/apache/struts2/osgi/interceptor/SomeAction.java Tue Apr 14 15:46:42 2009
@@ -0,0 +1,36 @@
+/*
+ * $Id$
+ *
+ * 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.struts2.osgi.interceptor;
+
+import java.util.List;
+
+public class SomeAction implements ServiceAware<Object> {
+ private List<Object> services;
+
+
+ public List<Object> getServices() {
+ return services;
+ }
+
+ public void setServices(List<Object> services) {
+ this.services = services;
+ }
+}