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);
     }
 
 }