Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogServiceTest.java')
-rw-r--r--bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogServiceTest.java48
1 files changed, 47 insertions, 1 deletions
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogServiceTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogServiceTest.java
index 5c16a48d7..12d87736b 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogServiceTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogServiceTest.java
@@ -8,15 +8,24 @@
*******************************************************************************/
package org.eclipse.equinox.log.test;
+import java.util.Collections;
import java.util.HashMap;
+import java.util.Hashtable;
import java.util.Map;
import junit.framework.TestCase;
import org.eclipse.osgi.tests.OSGiTestsActivator;
+import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
-import org.osgi.service.log.*;
+import org.osgi.framework.ServiceRegistration;
+import org.osgi.service.log.LogEntry;
+import org.osgi.service.log.LogLevel;
+import org.osgi.service.log.LogReaderService;
+import org.osgi.service.log.LogService;
+import org.osgi.service.log.Logger;
import org.osgi.service.log.admin.LoggerAdmin;
import org.osgi.service.log.admin.LoggerContext;
+@SuppressWarnings("deprecation")
public class LogServiceTest extends TestCase {
private LogService log;
@@ -267,4 +276,41 @@ public class LogServiceTest extends TestCase {
assertTrue(entry.getException().getMessage().equals(t.getMessage()));
assertTrue(entry.getServiceReference() == logReference);
}
+
+ public void testServiceEventLog() throws InterruptedException {
+ BundleContext context = OSGiTestsActivator.getContext();
+ ServiceRegistration<Object> reg = context.registerService(Object.class, new Object(), null);
+ ServiceReference<Object> ref = reg.getReference();
+ listener.waitForLogEntry();
+
+ listener.waitForLogEntry();
+ LogEntry entry = listener.getEntryX();
+ assertEquals("Wrong logger name.", "Events.Service", entry.getLoggerName());
+ assertEquals("Wrong event log level.", LogLevel.INFO, entry.getLogLevel());
+ assertEquals("Wrong bundle.", context.getBundle(), entry.getBundle());
+ assertNull("Wrong exception.", entry.getException());
+ assertEquals("Wrong service reference.", ref, entry.getServiceReference());
+ assertEquals("Wrong message.", "ServiceEvent REGISTERED", entry.getMessage());
+
+ reg.setProperties(new Hashtable(Collections.singletonMap("key1", "value1")));
+
+ listener.waitForLogEntry();
+ entry = listener.getEntryX();
+ assertEquals("Wrong logger name.", "Events.Service", entry.getLoggerName());
+ assertEquals("Wrong event log level.", LogLevel.DEBUG, entry.getLogLevel());
+ assertEquals("Wrong bundle.", context.getBundle(), entry.getBundle());
+ assertNull("Wrong exception.", entry.getException());
+ assertEquals("Wrong service reference.", ref, entry.getServiceReference());
+ assertEquals("Wrong message.", "ServiceEvent MODIFIED", entry.getMessage());
+
+ reg.unregister();
+ listener.waitForLogEntry();
+ entry = listener.getEntryX();
+ assertEquals("Wrong logger name.", "Events.Service", entry.getLoggerName());
+ assertEquals("Wrong event log level.", LogLevel.INFO, entry.getLogLevel());
+ assertEquals("Wrong bundle.", context.getBundle(), entry.getBundle());
+ assertNull("Wrong exception.", entry.getException());
+ assertEquals("Wrong service reference.", ref, entry.getServiceReference());
+ assertEquals("Wrong message.", "ServiceEvent UNREGISTERING", entry.getMessage());
+ }
}

Back to the top