/** * Copyright (c) 2018 LEAP Encryption Access Project and contributers * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ package se.leap.bitmaskclient.testutils; import org.json.JSONException; import org.json.JSONObject; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; import se.leap.bitmaskclient.Provider; /** * Created by cyberta on 08.10.17. */ public class TestSetupHelper { public static String getInputAsString(InputStream fileAsInputStream) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(fileAsInputStream)); StringBuilder sb = new StringBuilder(); String line = br.readLine(); while (line != null) { sb.append(line); line = br.readLine(); if (line != null) { sb.append("\n"); } } return sb.toString(); } public static Provider getConfiguredProvider() throws IOException, JSONException { return getProvider(null, null, null, null, null); } public static Provider getProvider(String domain, String providerIp, String caCertFile, String providerJson, String eipServiceJson) { if (domain == null) domain = "https://riseup.net"; if (providerIp == null) { providerIp = ""; } if (caCertFile == null) caCertFile = "riseup.net.pem"; if (providerJson == null) providerJson = "riseup.net.json"; if (eipServiceJson == null) { eipServiceJson = "riseup.service.json"; } try { Provider p = new Provider( new URL(domain), providerIp, getInputAsString(TestSetupHelper.class.getClassLoader().getResourceAsStream(caCertFile)), getInputAsString(TestSetupHelper.class.getClassLoader().getResourceAsStream(providerJson)) ); JSONObject eipServiceJsonObject = new JSONObject( getInputAsString(TestSetupHelper.class.getClassLoader().getResourceAsStream(eipServiceJson))); p.setEipServiceJson(eipServiceJsonObject); return p; } catch (IOException | JSONException e) { e.printStackTrace(); } return null; } }