client: use guice provided http client everywhere

This commit is contained in:
Adam
2020-06-26 13:44:14 -04:00
parent f9aea0d958
commit 47c375cb03
52 changed files with 407 additions and 244 deletions

View File

@@ -51,13 +51,18 @@ import net.runelite.client.RuneLiteModule;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigItem;
import net.runelite.client.eventbus.EventBus;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
import static org.mockito.ArgumentMatchers.any;
import org.mockito.Mock;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.mockito.junit.MockitoJUnitRunner;
@RunWith(MockitoJUnitRunner.class)
@@ -76,14 +81,18 @@ public class PluginManagerTest
@Bind
public Client client;
private Set<Class> pluginClasses;
private Set<Class> configClasses;
private Set<Class<?>> pluginClasses;
private Set<Class<?>> configClasses;
@Before
public void before() throws IOException
{
OkHttpClient okHttpClient = mock(OkHttpClient.class);
when(okHttpClient.newCall(any(Request.class)))
.thenThrow(new RuntimeException("in plugin manager test"));
Injector injector = Guice.createInjector(Modules
.override(new RuneLiteModule(() -> null, true, false,
.override(new RuneLiteModule(okHttpClient, () -> null, true, false,
RuneLite.DEFAULT_SESSION_FILE,
RuneLite.DEFAULT_CONFIG_FILE))
.with(BoundFieldModule.of(this)));
@@ -119,7 +128,7 @@ public class PluginManagerTest
pluginManager.loadCorePlugins();
Collection<Plugin> plugins = pluginManager.getPlugins();
long expected = pluginClasses.stream()
.map(cl -> (PluginDescriptor) cl.getAnnotation(PluginDescriptor.class))
.map(cl -> cl.getAnnotation(PluginDescriptor.class))
.filter(Objects::nonNull)
.filter(PluginDescriptor::loadWhenOutdated)
.count();
@@ -134,7 +143,7 @@ public class PluginManagerTest
plugins.forEach(eventBus::register);
expected = pluginClasses.stream()
.map(cl -> (PluginDescriptor) cl.getAnnotation(PluginDescriptor.class))
.map(cl -> cl.getAnnotation(PluginDescriptor.class))
.filter(Objects::nonNull)
.filter(pd -> !pd.developerPlugin())
.count();
@@ -146,16 +155,13 @@ public class PluginManagerTest
{
List<Module> modules = new ArrayList<>();
modules.add(new GraphvizModule());
modules.add(new RuneLiteModule(() -> null, true, false,
modules.add(new RuneLiteModule(mock(OkHttpClient.class), () -> null, true, false,
RuneLite.DEFAULT_SESSION_FILE,
RuneLite.DEFAULT_CONFIG_FILE));
PluginManager pluginManager = new PluginManager(true, false, null, null, null, null, null);
pluginManager.loadCorePlugins();
for (Plugin p : pluginManager.getPlugins())
{
modules.add(p);
}
modules.addAll(pluginManager.getPlugins());
File file = folder.newFile();
try (PrintWriter out = new PrintWriter(file, "UTF-8"))
@@ -171,7 +177,7 @@ public class PluginManagerTest
@Test
public void ensureNoDuplicateConfigKeyNames()
{
for (final Class clazz : configClasses)
for (final Class<?> clazz : configClasses)
{
final Set<String> configKeyNames = new HashSet<>();

View File

@@ -49,6 +49,7 @@ import net.runelite.client.chat.ChatCommandManager;
import net.runelite.client.chat.ChatMessageManager;
import net.runelite.client.config.ChatColorConfig;
import net.runelite.client.config.ConfigManager;
import net.runelite.http.api.chat.ChatClient;
import net.runelite.http.api.hiscore.HiscoreClient;
import net.runelite.http.api.hiscore.HiscoreSkill;
import net.runelite.http.api.hiscore.SingleHiscoreSkillResult;
@@ -103,6 +104,10 @@ public class ChatCommandsPluginTest
@Bind
ChatMessageManager chatMessageManager;
@Mock
@Bind
ChatClient chatClient;
@Mock
@Bind
ChatCommandsConfig chatCommandsConfig;

View File

@@ -50,6 +50,7 @@ import static net.runelite.client.plugins.grandexchange.GrandExchangePlugin.find
import static net.runelite.http.api.RuneLiteAPI.GSON;
import net.runelite.http.api.ge.GrandExchangeClient;
import net.runelite.http.api.ge.GrandExchangeTrade;
import net.runelite.http.api.osbuddy.OSBGrandExchangeClient;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import org.junit.Before;
@@ -108,6 +109,10 @@ public class GrandExchangePluginTest
@Bind
private GrandExchangeClient grandExchangeClient;
@Mock
@Bind
private OSBGrandExchangeClient osbGrandExchangeClient;
@Mock
@Bind
private Client client;

View File

@@ -24,7 +24,9 @@
*/
package net.runelite.client.plugins.hiscore;
import java.util.concurrent.ScheduledExecutorService;
import static net.runelite.client.plugins.hiscore.HiscorePanel.formatLevel;
import okhttp3.OkHttpClient;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import static org.mockito.Mockito.mock;
@@ -34,7 +36,7 @@ public class HiscorePanelTest
@Test
public void testConstructor()
{
new HiscorePanel(mock(HiscoreConfig.class), mock(NameAutocompleter.class));
new HiscorePanel(mock(ScheduledExecutorService.class), null, mock(HiscoreConfig.class), mock(NameAutocompleter.class), mock(OkHttpClient.class));
}
@Test

View File

@@ -45,6 +45,7 @@ import net.runelite.client.game.ItemManager;
import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.util.ImageCapture;
import net.runelite.client.ws.PartyService;
import net.runelite.http.api.chat.ChatClient;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -93,6 +94,10 @@ public class RaidsPluginTest
@Bind
Notifier notifier;
@Mock
@Bind
ChatClient chatClient;
@Mock
@Bind
RaidsConfig raidsConfig;

View File

@@ -39,6 +39,7 @@ import net.runelite.client.game.NPCManager;
import net.runelite.client.game.SkillIconManager;
import net.runelite.client.ui.ClientToolbar;
import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.http.api.xp.XpClient;
import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Test;
@@ -70,6 +71,10 @@ public class XpTrackerPluginTest
@Bind
private XpTrackerConfig xpTrackerConfig;
@Mock
@Bind
private XpClient xpClient;
@Mock
@Bind
private NPCManager npcManager;

View File

@@ -29,6 +29,7 @@ import com.google.common.io.CharStreams;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import okhttp3.OkHttpClient;
import okhttp3.mockwebserver.MockResponse;
import okhttp3.mockwebserver.MockWebServer;
import org.junit.After;
@@ -63,7 +64,7 @@ public class ClientConfigLoaderTest
@Test
public void testFetch() throws IOException
{
final RSConfig config = ClientConfigLoader.fetch(server.url("/"));
final RSConfig config = new ClientConfigLoader(new OkHttpClient()).fetch(server.url("/"));
assertEquals("http://oldschool1.runescape.com/", config.getCodeBase());
}