summaryrefslogtreecommitdiff
path: root/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses')
-rw-r--r--app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/BackendMockProvider.java82
-rw-r--r--app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/BaseBackendResponse.java75
-rw-r--r--app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/EipSerivceJsonInvalidCertificateBackendResponse.java94
-rw-r--r--app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/EipServiceJsonInvalidCertificateBackendResponse.java66
-rw-r--r--app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/GeoIpServiceIsDownBackendResponse.java85
-rw-r--r--app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/GeoIpServiceNotReachableTorFallbackBackendResponse.java81
-rw-r--r--app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/MisconfiguredProviderBackendResponse.java85
-rw-r--r--app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/NoErrorBackendResponse.java85
-rw-r--r--app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/NoErrorBackendResponseAPIv4.java92
-rw-r--r--app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/TorFallbackBackendResponse.java131
-rw-r--r--app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/UpdatedCertificateBackendResponse.java95
11 files changed, 346 insertions, 625 deletions
diff --git a/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/BackendMockProvider.java b/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/BackendMockProvider.java
index 280aa5a1..4ef41619 100644
--- a/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/BackendMockProvider.java
+++ b/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/BackendMockProvider.java
@@ -18,6 +18,8 @@ package se.leap.bitmaskclient.testutils.BackendMockResponses;
import java.io.IOException;
+import se.leap.bitmaskclient.providersetup.ProviderApiConnector;
+
/**
* Created by cyberta on 10.01.18.
*/
@@ -43,67 +45,43 @@ public class BackendMockProvider {
ERROR_PAYLOAD_MISSING, // => IllegalArgumentException
ERROR_TLS_1_2_NOT_SUPPORTED, // => UnknownServiceException
ERROR_UNKNOWN_IO_EXCEPTION, // => IOException
- ERROR_NO_ACCESS,
ERROR_INVALID_SESSION_TOKEN,
ERROR_NO_CONNECTION,
- ERROR_WRONG_SRP_CREDENTIALS,
NO_ERROR_API_V4,
ERROR_DNS_RESUOLUTION_TOR_FALLBACK
}
- public static void provideBackendResponsesFor(TestBackendErrorCase errorCase) throws IOException {
+ public static ProviderApiConnector.ProviderApiConnectorInterface provideBackendResponsesFor(TestBackendErrorCase errorCase) throws IOException {
switch (errorCase) {
+ case NO_ERROR -> {
+ return new NoErrorBackendResponse();
+ }
+ case NO_ERROR_API_V4 -> {
+ return new NoErrorBackendResponseAPIv4();
+ }
+ case ERROR_CASE_UPDATED_CERTIFICATE -> {
+ return new UpdatedCertificateBackendResponse();
+ }
+ case ERROR_CASE_MICONFIGURED_PROVIDER -> {
+ return new MisconfiguredProviderBackendResponse();
+ }
+ case ERROR_CASE_FETCH_EIP_SERVICE_CERTIFICATE_INVALID -> {
+ return new EipServiceJsonInvalidCertificateBackendResponse();
+ }
+ case ERROR_GEOIP_SERVICE_IS_DOWN -> {
+ return new GeoIpServiceIsDownBackendResponse();
+ }
+ case ERROR_GEOIP_SERVICE_IS_DOWN_TOR_FALLBACK -> {
+ return new GeoIpServiceNotReachableTorFallbackBackendResponse();
+ }
+ case ERROR_DNS_RESUOLUTION_TOR_FALLBACK -> {
+ return new TorFallbackBackendResponse();
+ }
- case NO_ERROR:
- new NoErrorBackendResponse();
- break;
- case NO_ERROR_API_V4:
- new NoErrorBackendResponseAPIv4();
- break;
- case ERROR_CASE_UPDATED_CERTIFICATE:
- new UpdatedCertificateBackendResponse();
- break;
- case ERROR_CASE_MICONFIGURED_PROVIDER:
- new MisconfiguredProviderBackendResponse();
- break;
- case ERROR_CASE_FETCH_EIP_SERVICE_CERTIFICATE_INVALID:
- new EipSerivceJsonInvalidCertificateBackendResponse();
- break;
- case ERROR_GEOIP_SERVICE_IS_DOWN:
- new GeoIpServiceIsDownBackendResponse();
- break;
- case ERROR_GEOIP_SERVICE_IS_DOWN_TOR_FALLBACK:
- new GeoIpServiceNotReachableTorFallbackBackendResponse();
- case ERROR_DNS_RESUOLUTION_TOR_FALLBACK:
- new TorFallbackBackendResponse();
- break;
- case ERROR_NO_RESPONSE_BODY:
- break;
- case ERROR_DNS_RESOLUTION_ERROR:
- break;
- case ERROR_SOCKET_TIMEOUT:
- break;
- case ERROR_WRONG_PROTOCOL:
- break;
- case ERROR_CERTIFICATE_INVALID:
- break;
- case ERROR_WRONG_PORT:
- break;
- case ERROR_PAYLOAD_MISSING:
- break;
- case ERROR_TLS_1_2_NOT_SUPPORTED:
- break;
- case ERROR_UNKNOWN_IO_EXCEPTION:
- break;
- case ERROR_NO_ACCESS:
- break;
- case ERROR_INVALID_SESSION_TOKEN:
- break;
- case ERROR_NO_CONNECTION:
- break;
- case ERROR_WRONG_SRP_CREDENTIALS:
- break;
+ default -> {
+ return new NoErrorBackendResponse();
+ }
}
}
}
diff --git a/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/BaseBackendResponse.java b/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/BaseBackendResponse.java
deleted file mode 100644
index 9a538d3c..00000000
--- a/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/BaseBackendResponse.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * 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 <http://www.gnu.org/licenses/>.
- */
-package se.leap.bitmaskclient.testutils.BackendMockResponses;
-
-import android.util.Pair;
-
-import org.mockito.ArgumentMatchers;
-import org.mockito.Mockito;
-import org.mockito.stubbing.Answer;
-
-import java.io.IOException;
-
-import okhttp3.OkHttpClient;
-import se.leap.bitmaskclient.providersetup.ProviderApiConnector;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.ArgumentMatchers.nullable;
-import static org.powermock.api.mockito.PowerMockito.mockStatic;
-
-/**
- * Created by cyberta on 10.01.18.
- */
-
-public abstract class BaseBackendResponse {
-
- private Answer<String> answerRequestStringFromServer;
- private Answer<Boolean> answerCanConnect;
- private Answer<Boolean> answerDelete;
-
- public BaseBackendResponse() throws IOException {
- mockStatic(ProviderApiConnector.class);
- this.answerRequestStringFromServer = getAnswerForRequestStringFromServer();
- this.answerCanConnect = getAnswerForCanConnect();
- this.answerDelete = getAnswerForDelete();
-
- responseOnRequestStringFromServer();
- responseOnCanConnect();
- responseOnDelete();
-
- }
-
- public abstract Answer<String> getAnswerForRequestStringFromServer();
- public abstract Answer<Boolean> getAnswerForCanConnect();
- public abstract Answer<Boolean> getAnswerForDelete();
-
-
- public void responseOnRequestStringFromServer() throws IOException, RuntimeException {
- Mockito.when(ProviderApiConnector.requestStringFromServer(anyString(), anyString(), nullable(String.class), ArgumentMatchers.<Pair<String,String>>anyList(), any(OkHttpClient.class))).
- thenAnswer(answerRequestStringFromServer);
- }
-
- public void responseOnCanConnect() throws IOException, RuntimeException {
- Mockito.when(ProviderApiConnector.canConnect(any(OkHttpClient.class), anyString())).thenAnswer(answerCanConnect);
- }
-
- public void responseOnDelete() throws IOException, RuntimeException {
- Mockito.when(ProviderApiConnector.delete(any(OkHttpClient.class), anyString())).thenAnswer(answerDelete);
- }
-
-}
diff --git a/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/EipSerivceJsonInvalidCertificateBackendResponse.java b/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/EipSerivceJsonInvalidCertificateBackendResponse.java
deleted file mode 100644
index 7c2d49cc..00000000
--- a/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/EipSerivceJsonInvalidCertificateBackendResponse.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/**
- * 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 <http://www.gnu.org/licenses/>.
- */
-package se.leap.bitmaskclient.testutils.BackendMockResponses;
-
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
-
-import java.io.IOException;
-
-import javax.net.ssl.SSLHandshakeException;
-
-import static se.leap.bitmaskclient.testutils.TestSetupHelper.getInputAsString;
-
-/**
- * Created by cyberta on 10.01.18.
- */
-
-public class EipSerivceJsonInvalidCertificateBackendResponse extends BaseBackendResponse {
- public EipSerivceJsonInvalidCertificateBackendResponse() throws IOException {
- super();
- }
-
- @Override
- public Answer<String> getAnswerForRequestStringFromServer() {
- return new Answer<String>() {
- @Override
- public String answer(InvocationOnMock invocation) throws Throwable {
- String url = (String) invocation.getArguments()[0];
- String requestMethod = (String) invocation.getArguments()[1];
- String jsonPayload = (String) invocation.getArguments()[2];
-
- if (url.contains("/provider.json")) {
- //download provider json
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.json"));
- } else if (url.contains("/ca.crt")) {
- //download provider ca cert
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.pem"));
- } else if (url.contains("config/eip-service.json")) {
- // download provider service json containing gateways, locations and openvpn settings
- throw new SSLHandshakeException("Invalid provider CA certificate");
- } else if (url.contains(":9001/json")) {
- // download geoip json, containing a sorted list of gateways
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.geoip.json"));
- } else if (url.contains("/users.json")) {
- //create new user
- //TODO: implement me
- } else if (url.contains("/sessions.json")) {
- //srp auth: sendAToSRPServer
- //TODO: implement me
- } else if (url.contains("/sessions/parmegvtest10.json")){
- //srp auth: sendM1ToSRPServer
- //TODO: implement me
- }
-
- return null;
- }
- };
- }
-
- @Override
- public Answer<Boolean> getAnswerForCanConnect() {
- return new Answer<Boolean>() {
- @Override
- public Boolean answer(InvocationOnMock invocation) throws Throwable {
- return true;
- }
- };
- }
-
- @Override
- public Answer<Boolean> getAnswerForDelete() {
- return new Answer<Boolean>() {
- @Override
- public Boolean answer(InvocationOnMock invocation) throws Throwable {
- return true;
- }
- };
- }
-
-}
diff --git a/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/EipServiceJsonInvalidCertificateBackendResponse.java b/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/EipServiceJsonInvalidCertificateBackendResponse.java
new file mode 100644
index 00000000..15df00cb
--- /dev/null
+++ b/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/EipServiceJsonInvalidCertificateBackendResponse.java
@@ -0,0 +1,66 @@
+/**
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+package se.leap.bitmaskclient.testutils.BackendMockResponses;
+
+import java.io.IOException;
+import java.util.List;
+
+import javax.net.ssl.SSLHandshakeException;
+
+import static se.leap.bitmaskclient.testutils.TestSetupHelper.getInputAsString;
+
+import android.util.Pair;
+
+import androidx.annotation.NonNull;
+
+import okhttp3.OkHttpClient;
+import se.leap.bitmaskclient.providersetup.ProviderApiConnector;
+
+/**
+ * Created by cyberta on 10.01.18.
+ */
+
+public class EipServiceJsonInvalidCertificateBackendResponse implements ProviderApiConnector.ProviderApiConnectorInterface {
+
+ @Override
+ public boolean delete(OkHttpClient okHttpClient, String deleteUrl) {
+ return true;
+ }
+
+ @Override
+ public boolean canConnect(@NonNull OkHttpClient okHttpClient, String url) throws RuntimeException, IOException {
+ return true;
+ }
+
+ @Override
+ public String requestStringFromServer(@NonNull String url, @NonNull String requestMethod, String jsonString, @NonNull List<Pair<String, String>> headerArgs, @NonNull OkHttpClient okHttpClient) throws RuntimeException, IOException {
+ if (url.contains("/provider.json")) {
+ //download provider json
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.json"));
+ } else if (url.contains("/ca.crt")) {
+ //download provider ca cert
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.pem"));
+ } else if (url.contains("config/eip-service.json")) {
+ // download provider service json containing gateways, locations and openvpn settings
+ throw new SSLHandshakeException("Invalid provider CA certificate");
+ } else if (url.contains(":9001/json")) {
+ // download geoip json, containing a sorted list of gateways
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.geoip.json"));
+ }
+ return null;
+ }
+}
diff --git a/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/GeoIpServiceIsDownBackendResponse.java b/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/GeoIpServiceIsDownBackendResponse.java
index 3a08d8da..482276a6 100644
--- a/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/GeoIpServiceIsDownBackendResponse.java
+++ b/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/GeoIpServiceIsDownBackendResponse.java
@@ -16,78 +16,51 @@
*/
package se.leap.bitmaskclient.testutils.BackendMockResponses;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
+import static se.leap.bitmaskclient.testutils.TestSetupHelper.getInputAsString;
+
+import android.util.Pair;
+
+import androidx.annotation.NonNull;
import java.io.IOException;
import java.net.ConnectException;
+import java.util.List;
-import static se.leap.bitmaskclient.testutils.TestSetupHelper.getInputAsString;
+import okhttp3.OkHttpClient;
+import se.leap.bitmaskclient.providersetup.ProviderApiConnector;
/**
* Created by cyberta on 10.01.18.
*/
-public class GeoIpServiceIsDownBackendResponse extends BaseBackendResponse {
- public GeoIpServiceIsDownBackendResponse() throws IOException {
- super();
- }
+public class GeoIpServiceIsDownBackendResponse implements ProviderApiConnector.ProviderApiConnectorInterface {
@Override
- public Answer<String> getAnswerForRequestStringFromServer() {
- return new Answer<String>() {
- @Override
- public String answer(InvocationOnMock invocation) throws Throwable {
- String url = (String) invocation.getArguments()[0];
- String requestMethod = (String) invocation.getArguments()[1];
- String jsonPayload = (String) invocation.getArguments()[2];
-
- if (url.contains("/provider.json")) {
- //download provider json
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.json"));
- } else if (url.contains("/ca.crt")) {
- //download provider ca cert
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.pem"));
- } else if (url.contains("config/eip-service.json")) {
- // download provider service json containing gateways, locations and openvpn settings
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.service.json"));
- } else if (url.contains(":9001/json")) {
- // download geoip json, containing a sorted list of gateways
- throw new ConnectException("Failed to connect to api.black.riseup.net/198.252.153.107:9001");
- } else if (url.contains("/users.json")) {
- //create new user
- //TODO: implement me
- } else if (url.contains("/sessions.json")) {
- //srp auth: sendAToSRPServer
- //TODO: implement me
- } else if (url.contains("/sessions/parmegvtest10.json")){
- //srp auth: sendM1ToSRPServer
- //TODO: implement me
- }
-
- return null;
- }
- };
+ public boolean delete(OkHttpClient okHttpClient, String deleteUrl) throws RuntimeException, IOException {
+ return true;
}
@Override
- public Answer<Boolean> getAnswerForCanConnect() {
- return new Answer<Boolean>() {
- @Override
- public Boolean answer(InvocationOnMock invocation) throws Throwable {
- return true;
- }
- };
+ public boolean canConnect(@NonNull OkHttpClient okHttpClient, String url) throws RuntimeException, IOException {
+ return true;
}
@Override
- public Answer<Boolean> getAnswerForDelete() {
- return new Answer<Boolean>() {
- @Override
- public Boolean answer(InvocationOnMock invocation) throws Throwable {
- return true;
- }
- };
- }
+ public String requestStringFromServer(@NonNull String url, @NonNull String requestMethod, String jsonString, @NonNull List<Pair<String, String>> headerArgs, @NonNull OkHttpClient okHttpClient) throws RuntimeException, IOException {
+ if (url.contains("/provider.json")) {
+ //download provider json
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.json"));
+ } else if (url.contains("/ca.crt")) {
+ //download provider ca cert
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.pem"));
+ } else if (url.contains("config/eip-service.json")) {
+ // download provider service json containing gateways, locations and openvpn settings
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.service.json"));
+ } else if (url.contains(":9001/json")) {
+ // download geoip json, containing a sorted list of gateways
+ throw new ConnectException("Failed to connect to api.black.riseup.net/198.252.153.107:9001");
+ }
+ return null;
+ }
}
diff --git a/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/GeoIpServiceNotReachableTorFallbackBackendResponse.java b/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/GeoIpServiceNotReachableTorFallbackBackendResponse.java
index 02aa31fa..d11c21f8 100644
--- a/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/GeoIpServiceNotReachableTorFallbackBackendResponse.java
+++ b/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/GeoIpServiceNotReachableTorFallbackBackendResponse.java
@@ -16,74 +16,61 @@
*/
package se.leap.bitmaskclient.testutils.BackendMockResponses;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
+import static se.leap.bitmaskclient.testutils.TestSetupHelper.getInputAsString;
+
+import android.util.Pair;
+
+import androidx.annotation.NonNull;
import java.io.IOException;
import java.net.ConnectException;
+import java.util.List;
-import static se.leap.bitmaskclient.testutils.TestSetupHelper.getInputAsString;
+import okhttp3.OkHttpClient;
+import se.leap.bitmaskclient.providersetup.ProviderApiConnector;
/**
* Created by cyberta on 10.01.18.
*/
-public class GeoIpServiceNotReachableTorFallbackBackendResponse extends BaseBackendResponse {
+public class GeoIpServiceNotReachableTorFallbackBackendResponse implements ProviderApiConnector.ProviderApiConnectorInterface {
public GeoIpServiceNotReachableTorFallbackBackendResponse() throws IOException {
super();
}
int requestAttempt = 0;
@Override
- public Answer<String> getAnswerForRequestStringFromServer() {
- return new Answer<String>() {
- @Override
- public String answer(InvocationOnMock invocation) throws Throwable {
- String url = (String) invocation.getArguments()[0];
-
- if (url.contains("/provider.json")) {
- //download provider json
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.json"));
- } else if (url.contains("/ca.crt")) {
- //download provider ca cert
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.pem"));
- } else if (url.contains("config/eip-service.json")) {
- // download provider service json containing gateways, locations and openvpn settings
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.service.json"));
- } else if (url.contains(":9001/json")) {
- if (requestAttempt == 0) {
- // download geoip json, containing a sorted list of gateways
- requestAttempt++;
- throw new ConnectException("Failed to connect to api.black.riseup.net/198.252.153.107:9001");
- } else {
- // assumtion: 2. connection attempt has been made with proxy on, which is not allowed
- // this branch should never be called otherwise you have found a bug
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.geoip.json"));
- }
- }
- return null;
- }
- };
+ public boolean delete(OkHttpClient okHttpClient, String deleteUrl) throws RuntimeException, IOException {
+ return true;
}
@Override
- public Answer<Boolean> getAnswerForCanConnect() {
- return new Answer<Boolean>() {
- @Override
- public Boolean answer(InvocationOnMock invocation) throws Throwable {
- return true;
- }
- };
+ public boolean canConnect(@NonNull OkHttpClient okHttpClient, String url) throws RuntimeException, IOException {
+ return true;
}
@Override
- public Answer<Boolean> getAnswerForDelete() {
- return new Answer<Boolean>() {
- @Override
- public Boolean answer(InvocationOnMock invocation) throws Throwable {
- return true;
+ public String requestStringFromServer(@NonNull String url, @NonNull String requestMethod, String jsonString, @NonNull List<Pair<String, String>> headerArgs, @NonNull OkHttpClient okHttpClient) throws RuntimeException, IOException {
+ if (url.contains("/provider.json")) {
+ //download provider json
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.json"));
+ } else if (url.contains("/ca.crt")) {
+ //download provider ca cert
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.pem"));
+ } else if (url.contains("config/eip-service.json")) {
+ // download provider service json containing gateways, locations and openvpn settings
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.service.json"));
+ } else if (url.contains(":9001/json")) {
+ if (requestAttempt == 0) {
+ // download geoip json, containing a sorted list of gateways
+ requestAttempt++;
+ throw new ConnectException("Failed to connect to api.black.riseup.net/198.252.153.107:9001");
+ } else {
+ // assumtion: 2. connection attempt has been made with proxy on, which is not allowed
+ // this branch should never be called otherwise you have found a bug
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.geoip.json"));
}
- };
+ }
+ return null;
}
-
}
diff --git a/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/MisconfiguredProviderBackendResponse.java b/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/MisconfiguredProviderBackendResponse.java
index 10e69bc3..301f1a75 100644
--- a/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/MisconfiguredProviderBackendResponse.java
+++ b/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/MisconfiguredProviderBackendResponse.java
@@ -16,77 +16,50 @@
*/
package se.leap.bitmaskclient.testutils.BackendMockResponses;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
+import static se.leap.bitmaskclient.testutils.TestSetupHelper.getInputAsString;
+
+import android.util.Pair;
+
+import androidx.annotation.NonNull;
import java.io.IOException;
+import java.util.List;
-import static se.leap.bitmaskclient.testutils.TestSetupHelper.getInputAsString;
+import okhttp3.OkHttpClient;
+import se.leap.bitmaskclient.providersetup.ProviderApiConnector;
/**
* Created by cyberta on 10.01.18.
*/
-public class MisconfiguredProviderBackendResponse extends BaseBackendResponse {
- public MisconfiguredProviderBackendResponse() throws IOException {
- super();
- }
+public class MisconfiguredProviderBackendResponse implements ProviderApiConnector.ProviderApiConnectorInterface {
@Override
- public Answer<String> getAnswerForRequestStringFromServer() {
- return new Answer<String>() {
- @Override
- public String answer(InvocationOnMock invocation) throws Throwable {
- String url = (String) invocation.getArguments()[0];
- String requestMethod = (String) invocation.getArguments()[1];
- String jsonPayload = (String) invocation.getArguments()[2];
-
- if (url.contains("/provider.json")) {
- //download provider json
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup_net_invalid_config.json"));
- } else if (url.contains("/ca.crt")) {
- //download provider ca cert
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.pem"));
- } else if (url.contains("config/eip-service.json")) {
- // download provider service json containing gateways, locations and openvpn settings
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.service.json"));
- } else if (url.contains(":9001/json")) {
- // download geoip json, containing a sorted list of gateways
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.geoip.json"));
- } else if (url.contains("/users.json")) {
- //create new user
- //TODO: implement me
- } else if (url.contains("/sessions.json")) {
- //srp auth: sendAToSRPServer
- //TODO: implement me
- } else if (url.contains("/sessions/parmegvtest10.json")){
- //srp auth: sendM1ToSRPServer
- //TODO: implement me
- }
-
- return null;
- }
- };
+ public boolean delete(OkHttpClient okHttpClient, String deleteUrl) throws RuntimeException, IOException {
+ return true;
}
@Override
- public Answer<Boolean> getAnswerForCanConnect() {
- return new Answer<Boolean>() {
- @Override
- public Boolean answer(InvocationOnMock invocation) throws Throwable {
- return true;
- }
- };
+ public boolean canConnect(@NonNull OkHttpClient okHttpClient, String url) throws RuntimeException, IOException {
+ return true;
}
@Override
- public Answer<Boolean> getAnswerForDelete() {
- return new Answer<Boolean>() {
- @Override
- public Boolean answer(InvocationOnMock invocation) throws Throwable {
- return true;
- }
- };
- }
+ public String requestStringFromServer(@NonNull String url, @NonNull String requestMethod, String jsonString, @NonNull List<Pair<String, String>> headerArgs, @NonNull OkHttpClient okHttpClient) throws RuntimeException, IOException {
+ if (url.contains("/provider.json")) {
+ //download provider json
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup_net_invalid_config.json"));
+ } else if (url.contains("/ca.crt")) {
+ //download provider ca cert
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.pem"));
+ } else if (url.contains("config/eip-service.json")) {
+ // download provider service json containing gateways, locations and openvpn settings
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.service.json"));
+ } else if (url.contains(":9001/json")) {
+ // download geoip json, containing a sorted list of gateways
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.geoip.json"));
+ }
+ return null;
+ }
}
diff --git a/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/NoErrorBackendResponse.java b/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/NoErrorBackendResponse.java
index 3c3a8ffa..44067139 100644
--- a/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/NoErrorBackendResponse.java
+++ b/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/NoErrorBackendResponse.java
@@ -16,77 +16,50 @@
*/
package se.leap.bitmaskclient.testutils.BackendMockResponses;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
+import static se.leap.bitmaskclient.testutils.TestSetupHelper.getInputAsString;
+
+import android.util.Pair;
+
+import androidx.annotation.NonNull;
import java.io.IOException;
+import java.util.List;
-import static se.leap.bitmaskclient.testutils.TestSetupHelper.getInputAsString;
+import okhttp3.OkHttpClient;
+import se.leap.bitmaskclient.providersetup.ProviderApiConnector;
/**
* Created by cyberta on 10.01.18.
*/
-public class NoErrorBackendResponse extends BaseBackendResponse {
- public NoErrorBackendResponse() throws IOException {
- super();
- }
+public class NoErrorBackendResponse implements ProviderApiConnector.ProviderApiConnectorInterface {
@Override
- public Answer<String> getAnswerForRequestStringFromServer() {
- return new Answer<String>() {
- @Override
- public String answer(InvocationOnMock invocation) throws Throwable {
- String url = (String) invocation.getArguments()[0];
- String requestMethod = (String) invocation.getArguments()[1];
- String jsonPayload = (String) invocation.getArguments()[2];
-
- if (url.contains("/provider.json")) {
- //download provider json
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.json"));
- } else if (url.contains("/ca.crt")) {
- //download provider ca cert
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.pem"));
- } else if (url.contains("config/eip-service.json")) {
- // download provider service json containing gateways, locations and openvpn settings
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.service.json"));
- } else if (url.contains(":9001/json")) {
- // download geoip json, containing a sorted list of gateways
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.geoip.json"));
- } else if (url.contains("/users.json")) {
- //create new user
- //TODO: implement me
- } else if (url.contains("/sessions.json")) {
- //srp auth: sendAToSRPServer
- //TODO: implement me
- } else if (url.contains("/sessions/parmegvtest10.json")){
- //srp auth: sendM1ToSRPServer
- //TODO: implement me
- }
-
- return null;
- }
- };
+ public boolean delete(OkHttpClient okHttpClient, String deleteUrl) {
+ return true;
}
@Override
- public Answer<Boolean> getAnswerForCanConnect() {
- return new Answer<Boolean>() {
- @Override
- public Boolean answer(InvocationOnMock invocation) throws Throwable {
- return true;
- }
- };
+ public boolean canConnect(@NonNull OkHttpClient okHttpClient, String url) throws RuntimeException, IOException {
+ return true;
}
@Override
- public Answer<Boolean> getAnswerForDelete() {
- return new Answer<Boolean>() {
- @Override
- public Boolean answer(InvocationOnMock invocation) throws Throwable {
- return true;
- }
- };
- }
+ public String requestStringFromServer(@NonNull String url, @NonNull String requestMethod, String jsonString, @NonNull List<Pair<String, String>> headerArgs, @NonNull OkHttpClient okHttpClient) throws RuntimeException, IOException {
+ if (url.contains("/provider.json")) {
+ //download provider json
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.json"));
+ } else if (url.contains("/ca.crt")) {
+ //download provider ca cert
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.pem"));
+ } else if (url.contains("config/eip-service.json")) {
+ // download provider service json containing gateways, locations and openvpn settings
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.service.json"));
+ } else if (url.contains(":9001/json")) {
+ // download geoip json, containing a sorted list of gateways
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.geoip.json"));
+ }
+ return null;
+ }
}
diff --git a/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/NoErrorBackendResponseAPIv4.java b/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/NoErrorBackendResponseAPIv4.java
index b9dc26b1..bbbed821 100644
--- a/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/NoErrorBackendResponseAPIv4.java
+++ b/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/NoErrorBackendResponseAPIv4.java
@@ -16,80 +16,52 @@
*/
package se.leap.bitmaskclient.testutils.BackendMockResponses;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
+import static se.leap.bitmaskclient.testutils.TestSetupHelper.getInputAsString;
+
+import android.util.Pair;
+
+import androidx.annotation.NonNull;
import java.io.IOException;
+import java.util.List;
-import static se.leap.bitmaskclient.testutils.TestSetupHelper.getInputAsString;
+import okhttp3.OkHttpClient;
+import se.leap.bitmaskclient.providersetup.ProviderApiConnector;
/**
* Created by cyberta on 10.01.18.
*/
-public class NoErrorBackendResponseAPIv4 extends BaseBackendResponse {
- public NoErrorBackendResponseAPIv4() throws IOException {
- super();
- }
-
+public class NoErrorBackendResponseAPIv4 implements ProviderApiConnector.ProviderApiConnectorInterface {
@Override
- public Answer<String> getAnswerForRequestStringFromServer() {
- return new Answer<String>() {
- @Override
- public String answer(InvocationOnMock invocation) throws Throwable {
- String url = (String) invocation.getArguments()[0];
- String requestMethod = (String) invocation.getArguments()[1];
- String jsonPayload = (String) invocation.getArguments()[2];
-
- if (url.contains("/provider.json")) {
- //download provider json
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("v4/riseup.net.json"));
- } else if (url.contains("/ca.crt")) {
- //download provider ca cert
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.pem"));
- } else if (url.contains("config/eip-service.json")) {
- // download provider service json containing gateways, locations and openvpn settings
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("v4/riseup.service.json"));
- } else if (url.contains(":9001/json")) {
- // download geoip json, containing a sorted list of gateways
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.geoip.json"));
- } else if (url.contains("/cert")) {
- // download vpn key and cert
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("v4/riseup.net.cert"));
- } else if (url.contains("/users.json")) {
- //create new user
- //TODO: implement me
- } else if (url.contains("/sessions.json")) {
- //srp auth: sendAToSRPServer
- //TODO: implement me
- } else if (url.contains("/sessions/parmegvtest10.json")){
- //srp auth: sendM1ToSRPServer
- //TODO: implement me
- }
-
- return null;
- }
- };
+ public boolean delete(OkHttpClient okHttpClient, String deleteUrl) {
+ return true;
}
@Override
- public Answer<Boolean> getAnswerForCanConnect() {
- return new Answer<Boolean>() {
- @Override
- public Boolean answer(InvocationOnMock invocation) throws Throwable {
- return true;
- }
- };
+ public boolean canConnect(@NonNull OkHttpClient okHttpClient, String url) throws RuntimeException, IOException {
+ return true;
}
@Override
- public Answer<Boolean> getAnswerForDelete() {
- return new Answer<Boolean>() {
- @Override
- public Boolean answer(InvocationOnMock invocation) throws Throwable {
- return true;
- }
- };
- }
+ public String requestStringFromServer(@NonNull String url, @NonNull String requestMethod, String jsonString, @NonNull List<Pair<String, String>> headerArgs, @NonNull OkHttpClient okHttpClient) throws RuntimeException, IOException {
+ if (url.contains("/provider.json")) {
+ //download provider json
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("v4/riseup.net.json"));
+ } else if (url.contains("/ca.crt")) {
+ //download provider ca cert
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.pem"));
+ } else if (url.contains("config/eip-service.json")) {
+ // download provider service json containing gateways, locations and openvpn settings
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("v4/riseup.service.json"));
+ } else if (url.contains(":9001/json")) {
+ // download geoip json, containing a sorted list of gateways
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.geoip.json"));
+ } else if (url.contains("/cert")) {
+ // download vpn key and cert
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("v4/riseup.net.cert"));
+ }
+ return null;
+ }
}
diff --git a/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/TorFallbackBackendResponse.java b/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/TorFallbackBackendResponse.java
index c3779a21..45dd36e4 100644
--- a/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/TorFallbackBackendResponse.java
+++ b/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/TorFallbackBackendResponse.java
@@ -1,94 +1,81 @@
package se.leap.bitmaskclient.testutils.BackendMockResponses;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
+import static se.leap.bitmaskclient.testutils.TestSetupHelper.getInputAsString;
+
+import android.util.Pair;
+
+import androidx.annotation.NonNull;
import java.io.IOException;
import java.net.UnknownHostException;
+import java.util.List;
-import static se.leap.bitmaskclient.testutils.TestSetupHelper.getInputAsString;
+import okhttp3.OkHttpClient;
+import se.leap.bitmaskclient.providersetup.ProviderApiConnector;
-public class TorFallbackBackendResponse extends BaseBackendResponse {
+public class TorFallbackBackendResponse implements ProviderApiConnector.ProviderApiConnectorInterface {
public TorFallbackBackendResponse() throws IOException {
super();
}
int requestAttempt = 0;
@Override
- public Answer<String> getAnswerForRequestStringFromServer() {
- return new Answer<String>() {
- @Override
- public String answer(InvocationOnMock invocation) throws Throwable {
- String url = (String) invocation.getArguments()[0];
-
- if (url.contains("/provider.json")) {
- if (requestAttempt == 0) {
- requestAttempt++;
- throw new UnknownHostException();
- }
- //download provider json
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("v4/riseup.net.json"));
- } else if (url.contains("/ca.crt")) {
- if (requestAttempt == 0) {
- requestAttempt++;
- throw new UnknownHostException("DNS blocked by censor ;)");
- }
- //download provider ca cert
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.pem"));
- } else if (url.contains("config/eip-service.json")) {
- if (requestAttempt == 0) {
- requestAttempt++;
- throw new UnknownHostException("DNS blocked by censor ;)");
- }
- // download provider service json containing gateways, locations and openvpn settings
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("v4/riseup.service.json"));
- } else if (url.contains(":9001/json")) {
- if (requestAttempt == 0) {
- requestAttempt++;
- throw new UnknownHostException("DNS blocked by censor ;)");
- }
- // download geoip json, containing a sorted list of gateways
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.geoip.json"));
- } else if (url.contains("/cert")) {
- if (requestAttempt == 0) {
- requestAttempt++;
- throw new UnknownHostException("DNS blocked by censor ;)");
- }
- // download vpn certificate for authentication
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("v4/riseup.net.cert"));
-
- }
-
- return null;
- }
- };
+ public boolean delete(OkHttpClient okHttpClient, String deleteUrl) throws RuntimeException, IOException {
+ if (requestAttempt == 0) {
+ requestAttempt++;
+ throw new UnknownHostException("DNS blocked by censor ;)");
+ }
+ return true;
}
@Override
- public Answer<Boolean> getAnswerForCanConnect() {
- return new Answer<Boolean>() {
- @Override
- public Boolean answer(InvocationOnMock invocation) throws Throwable {
- if (requestAttempt == 0) {
- requestAttempt++;
- throw new UnknownHostException("DNS blocked by censor ;)");
- }
- return true;
- }
- };
+ public boolean canConnect(@NonNull OkHttpClient okHttpClient, String url) throws RuntimeException, IOException {
+ if (requestAttempt == 0) {
+ requestAttempt++;
+ throw new UnknownHostException("DNS blocked by censor ;)");
+ }
+ return true;
}
@Override
- public Answer<Boolean> getAnswerForDelete() {
- return new Answer<Boolean>() {
- @Override
- public Boolean answer(InvocationOnMock invocation) throws Throwable {
- if (requestAttempt == 0) {
- requestAttempt++;
- throw new UnknownHostException("DNS blocked by censor ;)");
- }
- return true;
+ public String requestStringFromServer(@NonNull String url, @NonNull String requestMethod, String jsonString, @NonNull List<Pair<String, String>> headerArgs, @NonNull OkHttpClient okHttpClient) throws RuntimeException, IOException {
+ if (url.contains("/provider.json")) {
+ if (requestAttempt == 0) {
+ requestAttempt++;
+ throw new UnknownHostException();
+ }
+ //download provider json
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("v4/riseup.net.json"));
+ } else if (url.contains("/ca.crt")) {
+ if (requestAttempt == 0) {
+ requestAttempt++;
+ throw new UnknownHostException("DNS blocked by censor ;)");
+ }
+ //download provider ca cert
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.pem"));
+ } else if (url.contains("config/eip-service.json")) {
+ if (requestAttempt == 0) {
+ requestAttempt++;
+ throw new UnknownHostException("DNS blocked by censor ;)");
}
- };
+ // download provider service json containing gateways, locations and openvpn settings
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("v4/riseup.service.json"));
+ } else if (url.contains(":9001/json")) {
+ if (requestAttempt == 0) {
+ requestAttempt++;
+ throw new UnknownHostException("DNS blocked by censor ;)");
+ }
+ // download geoip json, containing a sorted list of gateways
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.geoip.json"));
+ } else if (url.contains("/cert")) {
+ if (requestAttempt == 0) {
+ requestAttempt++;
+ throw new UnknownHostException("DNS blocked by censor ;)");
+ }
+ // download vpn certificate for authentication
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("v4/riseup.net.cert"));
+
+ }
+ return null;
}
}
diff --git a/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/UpdatedCertificateBackendResponse.java b/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/UpdatedCertificateBackendResponse.java
index 232649a1..1da18f76 100644
--- a/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/UpdatedCertificateBackendResponse.java
+++ b/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/UpdatedCertificateBackendResponse.java
@@ -16,82 +16,63 @@
*/
package se.leap.bitmaskclient.testutils.BackendMockResponses;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
+import static se.leap.bitmaskclient.testutils.TestSetupHelper.getInputAsString;
+
+import android.util.Pair;
+
+import androidx.annotation.NonNull;
import java.io.IOException;
+import java.util.List;
import javax.net.ssl.SSLHandshakeException;
-import static se.leap.bitmaskclient.testutils.TestSetupHelper.getInputAsString;
+import okhttp3.OkHttpClient;
+import se.leap.bitmaskclient.providersetup.ProviderApiConnector;
/**
* Created by cyberta on 10.01.18.
*/
-public class UpdatedCertificateBackendResponse extends BaseBackendResponse {
+public class UpdatedCertificateBackendResponse implements ProviderApiConnector.ProviderApiConnectorInterface {
static volatile boolean wasCACertCalled = false;
-
- public UpdatedCertificateBackendResponse() throws IOException {
- super();
- }
-
@Override
- public Answer<String> getAnswerForRequestStringFromServer() {
- return new Answer<String>() {
-
- @Override
- public String answer(InvocationOnMock invocation) throws Throwable {
- String url = (String) invocation.getArguments()[0];
-
- if (url.contains("/provider.json")) {
- if (!wasCACertCalled) {
- throw new SSLHandshakeException("Updated certificate on server side");
- }
- //download provider json
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.json"));
- } else if (url.contains("/ca.crt")) {
- //download provider ca cert
- wasCACertCalled = true;
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("updated_cert.pem"));
- } else if (url.contains("config/eip-service.json")) {
- // download provider service json containing gateways, locations and openvpn settings
- if (!wasCACertCalled) {
- throw new SSLHandshakeException("Updated certificate on server side");
- }
- return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.service.json"));
- }
-
- return null;
- }
- };
+ public boolean delete(OkHttpClient okHttpClient, String deleteUrl) throws RuntimeException, IOException {
+ if (!wasCACertCalled) {
+ throw new SSLHandshakeException("Updated certificate on server side");
+ }
+ return true;
}
@Override
- public Answer<Boolean> getAnswerForCanConnect() {
- return new Answer<Boolean>() {
- @Override
- public Boolean answer(InvocationOnMock invocation) throws Throwable {
- if (!wasCACertCalled) {
- throw new SSLHandshakeException("Updated certificate on server side");
- }
- return true;
- }
- };
+ public boolean canConnect(@NonNull OkHttpClient okHttpClient, String url) throws RuntimeException, IOException {
+ if (!wasCACertCalled) {
+ throw new SSLHandshakeException("Updated certificate on server side");
+ }
+ return true;
}
@Override
- public Answer<Boolean> getAnswerForDelete() {
- return new Answer<Boolean>() {
- @Override
- public Boolean answer(InvocationOnMock invocation) throws Throwable {
- if (!wasCACertCalled) {
- throw new SSLHandshakeException("Updated certificate on server side");
- }
- return true;
+ public String requestStringFromServer(@NonNull String url, @NonNull String requestMethod, String jsonString, @NonNull List<Pair<String, String>> headerArgs, @NonNull OkHttpClient okHttpClient) throws RuntimeException, IOException {
+ if (url.contains("/provider.json")) {
+ if (!wasCACertCalled) {
+ throw new SSLHandshakeException("Updated certificate on server side");
}
- };
- }
+ //download provider json
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.net.json"));
+ } else if (url.contains("/ca.crt")) {
+ //download provider ca cert
+ wasCACertCalled = true;
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("updated_cert.pem"));
+ } else if (url.contains("config/eip-service.json")) {
+ // download provider service json containing gateways, locations and openvpn settings
+ if (!wasCACertCalled) {
+ throw new SSLHandshakeException("Updated certificate on server side");
+ }
+ return getInputAsString(getClass().getClassLoader().getResourceAsStream("riseup.service.json"));
+ }
+ return null;
+ }
}