summaryrefslogtreecommitdiff
path: root/app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/TorFallbackBackendResponse.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/TorFallbackBackendResponse.java')
-rw-r--r--app/src/test/java/se/leap/bitmaskclient/testutils/BackendMockResponses/TorFallbackBackendResponse.java131
1 files changed, 59 insertions, 72 deletions
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;
}
}