Added more tests
diff --git a/pom.xml b/pom.xml
index b3b377b..61feb4a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -331,6 +331,16 @@
</limit>
</limits>
</rule>
+ <rule>
+ <element>CLASS</element>
+ <limits>
+ <limit>
+ <counter>INSTRUCTION</counter>
+ <value>COVEREDRATIO</value>
+ <minimum>0.80</minimum>
+ </limit>
+ </limits>
+ </rule>
</rules>
</configuration>
</execution>
diff --git a/src/main/java/org/apache/sling/scripting/resolver/internal/BundledScriptTracker.java b/src/main/java/org/apache/sling/scripting/resolver/internal/BundledScriptTracker.java
index 36e6403..afb7f17 100644
--- a/src/main/java/org/apache/sling/scripting/resolver/internal/BundledScriptTracker.java
+++ b/src/main/java/org/apache/sling/scripting/resolver/internal/BundledScriptTracker.java
@@ -96,14 +96,14 @@
private volatile Map<String, ServiceRegistration<Servlet>> m_dispatchers = new HashMap<>();
@Activate
- private void activate(BundleContext context) {
+ protected void activate(BundleContext context) {
m_context = context;
m_tracker = new BundleTracker<>(context, Bundle.ACTIVE, this);
m_tracker.open();
}
@Deactivate
- private void deactivate() {
+ protected void deactivate() {
m_tracker.close();
}
diff --git a/src/main/java/org/apache/sling/scripting/resolver/internal/RequestWrapper.java b/src/main/java/org/apache/sling/scripting/resolver/internal/RequestWrapper.java
index be706df..a0d7243 100644
--- a/src/main/java/org/apache/sling/scripting/resolver/internal/RequestWrapper.java
+++ b/src/main/java/org/apache/sling/scripting/resolver/internal/RequestWrapper.java
@@ -43,11 +43,7 @@
return null;
}
if (StringUtils.isEmpty(options.getForceResourceType())) {
- if (!StringUtils.isEmpty(resource.getResourceType())) {
- options.setForceResourceType(resource.getResourceType());
- } else if (!StringUtils.isEmpty(resource.getResourceSuperType())) {
- options.setForceResourceType(resource.getResourceSuperType());
- }
+ options.setForceResourceType(resource.getResourceType());
}
RequestDispatcherOptions processedOptions = processOptions(options);
return super.getRequestDispatcher(resource, processedOptions);
diff --git a/src/test/java/org/apache/sling/scripting/resolver/internal/BundledScriptTrackerTest.java b/src/test/java/org/apache/sling/scripting/resolver/internal/BundledScriptTrackerTest.java
new file mode 100644
index 0000000..4a0008d
--- /dev/null
+++ b/src/test/java/org/apache/sling/scripting/resolver/internal/BundledScriptTrackerTest.java
@@ -0,0 +1,47 @@
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ~ 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.sling.scripting.resolver.internal;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.servlet.Servlet;
+
+import org.junit.Test;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.BundleEvent;
+import org.osgi.framework.ServiceRegistration;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+
+public class BundledScriptTrackerTest {
+
+ @Test
+ public void removedBundle() {
+ BundledScriptTracker tracker = new BundledScriptTracker();
+ tracker.activate(mock(BundleContext.class));
+ List<ServiceRegistration<Servlet>> registrations = new ArrayList<>();
+ ServiceRegistration<Servlet> registration = mock(ServiceRegistration.class);
+ registrations.add(registration);
+ tracker.removedBundle(mock(Bundle.class), mock(BundleEvent.class), registrations);
+ verify(registration).unregister();
+ }
+}