You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by gn...@apache.org on 2014/03/31 18:12:04 UTC
svn commit: r1583361 [2/2] - in /felix/trunk/fileinstall: ./
src/main/java/org/apache/felix/fileinstall/internal/
src/test/java/org/apache/felix/fileinstall/internal/
Modified: felix/trunk/fileinstall/src/test/java/org/apache/felix/fileinstall/internal/DirectoryWatcherTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/fileinstall/src/test/java/org/apache/felix/fileinstall/internal/DirectoryWatcherTest.java?rev=1583361&r1=1583360&r2=1583361&view=diff
==============================================================================
--- felix/trunk/fileinstall/src/test/java/org/apache/felix/fileinstall/internal/DirectoryWatcherTest.java (original)
+++ felix/trunk/fileinstall/src/test/java/org/apache/felix/fileinstall/internal/DirectoryWatcherTest.java Mon Mar 31 16:12:03 2014
@@ -21,7 +21,7 @@ package org.apache.felix.fileinstall.int
import java.io.File;
import java.net.URISyntaxException;
-import java.util.Dictionary;
+import java.util.Collection;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Map;
@@ -34,8 +34,8 @@ import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.BundleListener;
import org.osgi.framework.ServiceReference;
+import org.osgi.framework.wiring.BundleRevision;
import org.osgi.service.log.LogService;
-import org.osgi.service.packageadmin.PackageAdmin;
/**
@@ -45,19 +45,17 @@ public class DirectoryWatcherTest extend
{
private final static String TEST = "test.key";
- Dictionary props = new Hashtable();
+ Map<String, String> props = new Hashtable<String, String>();
DirectoryWatcher dw;
BundleContext mockBundleContext;
- PackageAdmin mockPackageAdmin;
Bundle mockBundle;
protected void setUp() throws Exception
{
super.setUp();
- mockBundleContext = (BundleContext) EasyMock.createMock(BundleContext.class);
- mockPackageAdmin = (PackageAdmin) EasyMock.createMock(PackageAdmin.class);
- mockBundle = (Bundle) EasyMock.createNiceMock(Bundle.class);
+ mockBundleContext = EasyMock.createMock(BundleContext.class);
+ mockBundle = EasyMock.createNiceMock(Bundle.class);
props.put( DirectoryWatcher.DIR, new File( "target/load" ).getAbsolutePath() );
// Might get called, but most of the time it doesn't matter whether they do or don't.
@@ -71,10 +69,10 @@ public class DirectoryWatcherTest extend
public void testGetLongWithNonExistentProperty()
{
mockBundleContext.addBundleListener((BundleListener) org.easymock.EasyMock.anyObject());
- EasyMock.replay(new Object[]{mockBundleContext});
+ EasyMock.replay(mockBundleContext);
dw = new DirectoryWatcher( props, mockBundleContext );
assertEquals( "getLong gives the default value for non-existing properties", 100, dw.getLong( props, TEST, 100 ) );
- EasyMock.verify(new Object[]{mockBundleContext});
+ EasyMock.verify(mockBundleContext);
}
@@ -83,10 +81,10 @@ public class DirectoryWatcherTest extend
props.put( TEST, "33" );
mockBundleContext.addBundleListener((BundleListener) org.easymock.EasyMock.anyObject());
- EasyMock.replay(new Object[]{mockBundleContext});
+ EasyMock.replay(mockBundleContext);
dw = new DirectoryWatcher( props, mockBundleContext );
assertEquals( "getLong retrieves the right property value", 33, dw.getLong( props, TEST, 100 ) );
- EasyMock.verify(new Object[]{mockBundleContext});
+ EasyMock.verify(mockBundleContext);
}
@@ -95,20 +93,20 @@ public class DirectoryWatcherTest extend
props.put( TEST, "incorrect" );
mockBundleContext.addBundleListener((BundleListener) org.easymock.EasyMock.anyObject());
- EasyMock.replay(new Object[]{mockBundleContext});
+ EasyMock.replay(mockBundleContext);
dw = new DirectoryWatcher( props, mockBundleContext );
assertEquals( "getLong retrieves the right property value", 100, dw.getLong( props, TEST, 100 ) );
- EasyMock.verify(new Object[]{mockBundleContext});
+ EasyMock.verify(mockBundleContext);
}
public void testGetBooleanWithNonExistentProperty()
{
mockBundleContext.addBundleListener((BundleListener) org.easymock.EasyMock.anyObject());
- EasyMock.replay(new Object[]{mockBundleContext});
+ EasyMock.replay(mockBundleContext);
dw = new DirectoryWatcher( props, mockBundleContext );
assertEquals( "getBoolean gives the default value for non-existing properties", true, dw.getBoolean( props, TEST, true ) );
- EasyMock.verify(new Object[]{mockBundleContext});
+ EasyMock.verify(mockBundleContext);
}
@@ -117,10 +115,10 @@ public class DirectoryWatcherTest extend
props.put( TEST, "true" );
mockBundleContext.addBundleListener((BundleListener) org.easymock.EasyMock.anyObject());
- EasyMock.replay(new Object[]{mockBundleContext});
+ EasyMock.replay(mockBundleContext);
dw = new DirectoryWatcher( props, mockBundleContext );
assertEquals( "getBoolean retrieves the right property value", true, dw.getBoolean( props, TEST, false ) );
- EasyMock.verify(new Object[]{mockBundleContext});
+ EasyMock.verify(mockBundleContext);
}
@@ -129,20 +127,20 @@ public class DirectoryWatcherTest extend
props.put( TEST, "incorrect" );
mockBundleContext.addBundleListener((BundleListener) org.easymock.EasyMock.anyObject());
- EasyMock.replay(new Object[]{mockBundleContext});
+ EasyMock.replay(mockBundleContext);
dw = new DirectoryWatcher( props, mockBundleContext );
assertEquals( "getBoolean retrieves the right property value", false, dw.getBoolean( props, TEST, true ) );
- EasyMock.verify(new Object[]{mockBundleContext});
+ EasyMock.verify(mockBundleContext);
}
public void testGetFileWithNonExistentProperty()
{
mockBundleContext.addBundleListener((BundleListener) org.easymock.EasyMock.anyObject());
- EasyMock.replay(new Object[]{mockBundleContext});
+ EasyMock.replay(mockBundleContext);
dw = new DirectoryWatcher( props, mockBundleContext );
assertEquals( "getFile gives the default value for non-existing properties", new File("tmp"), dw.getFile( props, TEST, new File("tmp") ) );
- EasyMock.verify(new Object[]{mockBundleContext});
+ EasyMock.verify(mockBundleContext);
}
@@ -151,10 +149,10 @@ public class DirectoryWatcherTest extend
props.put( TEST, "test" );
mockBundleContext.addBundleListener((BundleListener) org.easymock.EasyMock.anyObject());
- EasyMock.replay(new Object[]{mockBundleContext});
+ EasyMock.replay(mockBundleContext);
dw = new DirectoryWatcher( props, mockBundleContext );
assertEquals( "getBoolean retrieves the right property value", new File("test"), dw.getFile( props, TEST, new File("tmp") ) );
- EasyMock.verify(new Object[]{mockBundleContext});
+ EasyMock.verify(mockBundleContext);
}
@@ -168,7 +166,7 @@ public class DirectoryWatcherTest extend
props.put( DirectoryWatcher.FILTER, ".*\\.cfg" );
mockBundleContext.addBundleListener((BundleListener) org.easymock.EasyMock.anyObject());
- EasyMock.replay(new Object[]{mockBundleContext});
+ EasyMock.replay(mockBundleContext);
dw = new DirectoryWatcher( props, mockBundleContext );
@@ -180,7 +178,7 @@ public class DirectoryWatcherTest extend
"src" + File.separatorChar + "test" + File.separatorChar + "resources" ) );
assertEquals("START_NEW_BUNDLES parameter correctly read", false, dw.startBundles);
assertEquals( "FILTER parameter correctly read", ".*\\.cfg", dw.filter );
- EasyMock.verify(new Object[]{mockBundleContext});
+ EasyMock.verify(mockBundleContext);
}
@@ -189,7 +187,7 @@ public class DirectoryWatcherTest extend
props.put( DirectoryWatcher.DIR, new File( "src/test/resources" ).getAbsolutePath() );
mockBundleContext.addBundleListener((BundleListener) org.easymock.EasyMock.anyObject());
- EasyMock.replay(new Object[]{mockBundleContext});
+ EasyMock.replay(mockBundleContext);
dw = new DirectoryWatcher( props, mockBundleContext );
@@ -201,25 +199,24 @@ public class DirectoryWatcherTest extend
new File(System.getProperty("java.io.tmpdir")).getAbsolutePath()));
assertEquals("Default START_NEW_BUNDLES parameter correctly read", true, dw.startBundles);
assertEquals( "Default FILTER parameter correctly read", null, dw.filter );
- EasyMock.verify(new Object[]{mockBundleContext});
+ EasyMock.verify(mockBundleContext);
}
public void testIsFragment() throws Exception
{
mockBundleContext.addBundleListener((BundleListener) org.easymock.EasyMock.anyObject());
- EasyMock.expect(mockBundleContext.createFilter((String) EasyMock.anyObject()))
- .andReturn(null);
- EasyMock.expect(Long.valueOf(mockPackageAdmin.getBundleType(mockBundle)))
- .andReturn(new Long(PackageAdmin.BUNDLE_TYPE_FRAGMENT));
- EasyMock.replay(new Object[]{mockBundleContext, mockPackageAdmin, mockBundle});
+ BundleRevision mockBundleRevision = EasyMock.createNiceMock(BundleRevision.class);
+ EasyMock.expect(mockBundle.adapt(BundleRevision.class)).andReturn(mockBundleRevision);
+ EasyMock.expect(mockBundleRevision.getTypes())
+ .andReturn(BundleRevision.TYPE_FRAGMENT);
+ EasyMock.replay(mockBundleContext, mockBundle, mockBundleRevision);
- FileInstall.padmin = new MockServiceTracker( mockBundleContext, mockPackageAdmin );
dw = new DirectoryWatcher( props, mockBundleContext );
assertTrue( "Fragment type correctly retrieved from Package Admin service", dw.isFragment( mockBundle ) );
- EasyMock.verify(new Object[]{mockBundleContext});
+ EasyMock.verify(mockBundleContext);
}
public void testInvalidTempDir() throws Exception
@@ -237,13 +234,14 @@ public class DirectoryWatcherTest extend
mockBundleContext.addBundleListener((BundleListener) org.easymock.EasyMock.anyObject());
EasyMock.expect(mockBundleContext.createFilter((String) EasyMock.anyObject()))
.andReturn(null);
- EasyMock.expect(Long.valueOf(mockPackageAdmin.getBundleType(mockBundle)))
- .andReturn(new Long(PackageAdmin.BUNDLE_TYPE_FRAGMENT));
- EasyMock.replay(new Object[]{mockBundleContext, mockPackageAdmin, mockBundle});
+
+ BundleRevision mockBundleRevision = EasyMock.createNiceMock(BundleRevision.class);
+ EasyMock.expect(mockBundle.adapt(BundleRevision.class)).andReturn(mockBundleRevision);
+ EasyMock.expect(mockBundleRevision.getTypes())
+ .andReturn(BundleRevision.TYPE_FRAGMENT);
+ EasyMock.replay(mockBundleContext, mockBundle, mockBundleRevision);
- FileInstall.padmin = new MockServiceTracker( mockBundleContext, mockPackageAdmin );
-
- try
+ try
{
dw = new DirectoryWatcher( props, mockBundleContext );
fail("Expected an IllegalStateException");
@@ -290,16 +288,13 @@ public class DirectoryWatcherTest extend
EasyMock.expect(mockBundleContext.getBundles()).andReturn(new Bundle[]{mockBundle});
EasyMock.expect(mockBundleContext.getDataFile((String) EasyMock.anyObject())).andReturn(null).anyTimes();
EasyMock.expect(mockBundle.getLocation()).andReturn(bundleLocation).anyTimes();
- final Map mockCurrentManagedArtifacts = (Map)EasyMock.createNiceMock(Map.class);
- EasyMock.expect(mockCurrentManagedArtifacts.put(EasyMock.eq(bundleFile), (Artifact)EasyMock.anyObject())).andReturn(null).times(1);
- EasyMock.replay(new Object[]{mockBundleContext, mockBundle, mockCurrentManagedArtifacts});
+ EasyMock.replay(mockBundleContext, mockBundle);
props.put(DirectoryWatcher.DIR, watchedDirectoryPath);
dw = new DirectoryWatcher(props, mockBundleContext);
dw.noInitialDelay = true;
- dw.currentManagedArtifacts = mockCurrentManagedArtifacts;
dw.scanner = scanner;
try {
dw.start();
@@ -308,8 +303,10 @@ public class DirectoryWatcherTest extend
{
assertEquals(e, expectedException);
}
+ assertEquals(1, dw.currentManagedArtifacts.size());
+ assertTrue(dw.currentManagedArtifacts.containsKey(bundleFile));
- EasyMock.verify(new Object[]{mockBundleContext, mockBundle, mockCurrentManagedArtifacts});
+ EasyMock.verify(mockBundleContext, mockBundle);
}
/**
@@ -343,16 +340,13 @@ public class DirectoryWatcherTest extend
EasyMock.expect(mockBundleContext.getBundles()).andReturn(new Bundle[]{mockBundle});
EasyMock.expect(mockBundleContext.getDataFile((String) EasyMock.anyObject())).andReturn(null).anyTimes();
EasyMock.expect(mockBundle.getLocation()).andReturn(bundleLocation).anyTimes();
- Map mockCurrentManagedArtifacts = (Map)EasyMock.createNiceMock(Map.class);
- EasyMock.expect(mockCurrentManagedArtifacts.put(EasyMock.eq(bundleFile), (Artifact)EasyMock.anyObject())).andReturn(null).times(1);
- EasyMock.replay(new Object[]{mockBundleContext, mockBundle, mockCurrentManagedArtifacts});
+ EasyMock.replay(mockBundleContext, mockBundle);
props.put(DirectoryWatcher.DIR, watchedDirectoryPath);
dw = new DirectoryWatcher(props, mockBundleContext);
dw.noInitialDelay = true;
- dw.currentManagedArtifacts = mockCurrentManagedArtifacts;
dw.scanner = scanner;
try {
dw.start();
@@ -361,8 +355,10 @@ public class DirectoryWatcherTest extend
{
assertEquals(e, expectedException);
}
+ assertEquals(1, dw.currentManagedArtifacts.size());
+ assertTrue(dw.currentManagedArtifacts.containsKey(bundleFile));
- EasyMock.verify(new Object[]{mockBundleContext, mockBundle, mockCurrentManagedArtifacts});
+ EasyMock.verify(mockBundleContext, mockBundle);
}
/**
@@ -383,17 +379,17 @@ public class DirectoryWatcherTest extend
final Scanner scanner = new Scanner(watchedDirectoryFile)
{
// bypass filesystem scan and return expected bundle file
- public Set/*<File>*/ scan(boolean reportImmediately)
+ public Set<File> scan(boolean reportImmediately)
{
- Set/*<File>*/ fileSet = new HashSet/*<File>*/(1);
+ Set<File> fileSet = new HashSet<File>(1);
fileSet.add(bundleFile);
return fileSet;
}
};
- final ArtifactListener mockArtifactListener = (ArtifactListener) EasyMock.createNiceMock(ArtifactListener.class);
- EasyMock.expect(Boolean.valueOf(mockArtifactListener.canHandle(bundleFile))).andReturn(Boolean.TRUE).anyTimes();
- final ServiceReference mockServiceReference = (ServiceReference) EasyMock.createNiceMock(ServiceReference.class);
+ final ArtifactListener mockArtifactListener = EasyMock.createNiceMock(ArtifactListener.class);
+ EasyMock.expect(mockArtifactListener.canHandle(bundleFile)).andReturn(Boolean.TRUE).anyTimes();
+ final ServiceReference mockServiceReference = EasyMock.createNiceMock(ServiceReference.class);
// simulate known/installed bundles
mockBundleContext.addBundleListener((BundleListener) org.easymock.EasyMock.anyObject());
@@ -401,7 +397,7 @@ public class DirectoryWatcherTest extend
EasyMock.expect(mockBundleContext.getDataFile((String) EasyMock.anyObject())).andReturn(null).anyTimes();
EasyMock.expect(mockBundle.getLocation()).andReturn(bundleLocation).anyTimes();
- EasyMock.replay(new Object[]{mockBundleContext, mockBundle,mockServiceReference, mockArtifactListener});
+ EasyMock.replay(mockBundleContext, mockBundle,mockServiceReference, mockArtifactListener);
final Artifact artifact = new Artifact();
artifact.setBundleId(42);
@@ -415,7 +411,7 @@ public class DirectoryWatcherTest extend
dw = new DirectoryWatcher(props, mockBundleContext) {
- void refresh(Bundle[] bundles) throws InterruptedException {
+ void refresh(Collection<Bundle> bundles) throws InterruptedException {
Assert.fail("bundle refresh called");
}
@@ -432,7 +428,7 @@ public class DirectoryWatcherTest extend
assertEquals(e, expectedException);
}
- EasyMock.verify(new Object[]{mockBundleContext, mockBundle,mockServiceReference, mockArtifactListener});
+ EasyMock.verify(mockBundleContext, mockBundle,mockServiceReference, mockArtifactListener);
}
}