killbill-uncached

beatrix: fix TestWithFakeKPMPlugin setup Signed-off-by:

9/29/2017 9:59:28 AM

Details

diff --git a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestWithFakeKPMPlugin.java b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestWithFakeKPMPlugin.java
index b239488..f45d7d4 100644
--- a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestWithFakeKPMPlugin.java
+++ b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestWithFakeKPMPlugin.java
@@ -1,6 +1,6 @@
 /*
- * Copyright 2014-2015 Groupon, Inc
- * Copyright 2014-2015 The Billing Project, LLC
+ * Copyright 2014-2017 Groupon, Inc
+ * Copyright 2014-2017 The Billing Project, LLC
  *
  * The Billing Project 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
@@ -21,7 +21,6 @@ import java.io.File;
 import java.io.IOException;
 import java.lang.reflect.Field;
 import java.util.ArrayList;
-import java.util.Collection;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
@@ -38,12 +37,10 @@ import org.killbill.billing.notification.plugin.api.ExtBusEventType;
 import org.killbill.billing.osgi.BundleRegistry;
 import org.killbill.billing.osgi.BundleWithConfig;
 import org.killbill.billing.osgi.FileInstall;
-import org.killbill.billing.osgi.PureOSGIBundleFinder;
 import org.killbill.billing.osgi.api.PluginInfo;
 import org.killbill.billing.osgi.api.PluginStateChange;
 import org.killbill.billing.osgi.api.PluginsInfoApi;
 import org.killbill.billing.osgi.api.config.PluginConfig;
-import org.killbill.billing.osgi.api.config.PluginConfigServiceApi;
 import org.killbill.billing.osgi.api.config.PluginLanguage;
 import org.killbill.billing.osgi.api.config.PluginType;
 import org.killbill.billing.osgi.config.OSGIConfig;
@@ -51,7 +48,6 @@ import org.killbill.billing.osgi.pluginconf.PluginConfigException;
 import org.killbill.billing.osgi.pluginconf.PluginFinder;
 import org.killbill.billing.platform.api.KillbillConfigSource;
 import org.killbill.billing.util.jackson.ObjectMapper;
-import org.killbill.billing.util.nodes.KillbillNodesApi;
 import org.killbill.billing.util.nodes.NodeCommand;
 import org.killbill.billing.util.nodes.NodeCommandMetadata;
 import org.killbill.billing.util.nodes.NodeCommandProperty;
@@ -61,8 +57,10 @@ import org.killbill.billing.util.nodes.PluginNodeCommandMetadata;
 import org.killbill.billing.util.nodes.SystemNodeCommandType;
 import org.mockito.Mockito;
 import org.osgi.framework.Bundle;
+import org.osgi.framework.launch.Framework;
 import org.testng.Assert;
 import org.testng.annotations.BeforeClass;
+import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
 import com.fasterxml.jackson.databind.SerializationFeature;
@@ -79,8 +77,10 @@ import com.google.inject.Module;
 import com.google.inject.Stage;
 import com.google.inject.util.Modules;
 
-import static org.awaitility.Awaitility.await;
 import static java.util.concurrent.TimeUnit.SECONDS;
+import static org.awaitility.Awaitility.await;
+import static org.mockito.Mockito.RETURNS_MOCKS;
+import static org.mockito.Mockito.withSettings;
 
 public class TestWithFakeKPMPlugin extends TestIntegrationBase {
 
@@ -226,13 +226,16 @@ public class TestWithFakeKPMPlugin extends TestIntegrationBase {
 
         @Inject
         public FakeBundleRegistry() {
-            super(null);
+            super(Mockito.mock(FileInstall.class, withSettings().defaultAnswer(RETURNS_MOCKS)));
             bundles = new ArrayList<BundleWithMetadata>();
         }
 
-        public void installNewBundle(final String pluginName, @Nullable final String version, final PluginLanguage pluginLanguage) {
+        @Override
+        public void installBundles(final Framework framework) {
+            super.installBundles(framework);
+
             final Bundle bundle = Mockito.mock(Bundle.class);
-            Mockito.when(bundle.getSymbolicName()).thenReturn(pluginName);
+            Mockito.when(bundle.getSymbolicName()).thenReturn(NEW_PLUGIN_NAME);
 
             final BundleWithConfig config = new BundleWithConfig(bundle, new PluginConfig() {
                 @Override
@@ -247,7 +250,7 @@ public class TestWithFakeKPMPlugin extends TestIntegrationBase {
 
                 @Override
                 public String getPluginName() {
-                    return pluginName;
+                    return NEW_PLUGIN_NAME;
                 }
 
                 @Override
@@ -257,7 +260,7 @@ public class TestWithFakeKPMPlugin extends TestIntegrationBase {
 
                 @Override
                 public String getVersion() {
-                    return version;
+                    return NEW_PLUGIN_VERSION;
                 }
 
                 @Override
@@ -272,7 +275,7 @@ public class TestWithFakeKPMPlugin extends TestIntegrationBase {
 
                 @Override
                 public PluginLanguage getPluginLanguage() {
-                    return pluginLanguage;
+                    return PluginLanguage.JAVA;
                 }
 
                 @Override
@@ -296,10 +299,6 @@ public class TestWithFakeKPMPlugin extends TestIntegrationBase {
                 }
             }).orNull();
         }
-
-        public Collection<BundleWithMetadata> getBundles() {
-            return bundles;
-        }
     }
 
     public static class OverrideModuleForOSGI implements Module {
@@ -317,7 +316,7 @@ public class TestWithFakeKPMPlugin extends TestIntegrationBase {
         g.injectMembers(this);
     }
 
-    @BeforeClass(groups = "slow")
+    @BeforeMethod(groups = "slow")
     public void beforeMethod() throws Exception {
 
         try {