浏览代码

use test credentials from ~/.gradle/gradle.properties

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
tobiasKaminsky 6 年之前
父节点
当前提交
f2a1608883
共有 3 个文件被更改,包括 21 次插入13 次删除
  1. 5 5
      build.gradle
  2. 4 0
      gradle.properties
  3. 12 8
      src/androidTest/java/com/owncloud/android/AbstractIT.java

+ 5 - 5
build.gradle

@@ -86,12 +86,11 @@ android {
         minSdkVersion 14
         targetSdkVersion 28
 
-        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
-
         // arguments to be passed to functional tests
-        testInstrumentationRunnerArgument "TEST_USER", "\"$System.env.OCTEST_APP_USERNAME\""
-        testInstrumentationRunnerArgument "TEST_PASSWORD", "\"$System.env.OCTEST_APP_PASSWORD\""
-        testInstrumentationRunnerArgument "TEST_SERVER_URL", "\"$System.env.OCTEST_SERVER_BASE_URL\""
+        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+        testInstrumentationRunnerArgument "TEST_SERVER_URL", "${NC_TEST_SERVER_BASEURL}"
+        testInstrumentationRunnerArgument "TEST_SERVER_USERNAME", "${NC_TEST_SERVER_USERNAME}"
+        testInstrumentationRunnerArgument "TEST_SERVER_PASSWORD", "${NC_TEST_SERVER_PASSWORD}"
 
         multiDexEnabled true
 
@@ -254,6 +253,7 @@ dependencies {
     testImplementation 'org.mockito:mockito-core:2.24.5'
     // dependencies for instrumented tests
     // JUnit4 Rules
+    androidTestImplementation 'androidx.test.ext:junit:1.1.0'
     androidTestImplementation 'androidx.test:rules:1.1.1'
     // Android JUnit Runner
     androidTestImplementation 'androidx.test:runner:1.1.1'

+ 4 - 0
gradle.properties

@@ -1,3 +1,7 @@
+# can be overriden by ~/.gradle/gradle.properties
+NC_TEST_SERVER_BASEURL=http://server
+NC_TEST_SERVER_USERNAME=test
+NC_TEST_SERVER_PASSWORD=test
 android.enableJetifier=true
 android.useAndroidX=true
 android.debug.obsoleteApi=true

+ 12 - 8
src/androidTest/java/com/owncloud/android/AbstractIT.java

@@ -6,6 +6,8 @@ import android.accounts.AuthenticatorException;
 import android.accounts.OperationCanceledException;
 import android.content.ActivityNotFoundException;
 import android.content.Context;
+import android.net.Uri;
+import android.os.Bundle;
 
 import com.owncloud.android.datamodel.FileDataStorageManager;
 import com.owncloud.android.lib.common.OwnCloudClient;
@@ -20,8 +22,9 @@ import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
 
-import androidx.test.InstrumentationRegistry;
-import androidx.test.runner.AndroidJUnit4;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.platform.app.InstrumentationRegistry;
+
 
 /**
  * Common base for all integration tests
@@ -34,14 +37,15 @@ public abstract class AbstractIT {
     static Account account;
     protected static Context context;
 
-    private static final String username = "test";
-    private static final String password = "test";
-    private static final String baseUrl = "server";
-
     @BeforeClass
     public static void beforeAll() {
         try {
-            context = InstrumentationRegistry.getTargetContext();
+            context = InstrumentationRegistry.getInstrumentation().getTargetContext();
+            Bundle arguments = androidx.test.platform.app.InstrumentationRegistry.getArguments();
+
+            Uri baseUrl = Uri.parse(arguments.getString("TEST_SERVER_URL"));
+            String username = arguments.getString("TEST_SERVER_USERNAME");
+            String password = arguments.getString("TEST_SERVER_PASSWORD");
 
             Account temp = new Account(username + "@" + baseUrl, MainApp.getAccountType(context));
 
@@ -51,7 +55,7 @@ public abstract class AbstractIT {
                 accountManager.setUserData(temp, AccountUtils.Constants.KEY_OC_ACCOUNT_VERSION,
                         Integer.toString(com.owncloud.android.authentication.AccountUtils.ACCOUNT_VERSION));
                 accountManager.setUserData(temp, AccountUtils.Constants.KEY_OC_VERSION, "14.0.0.0");
-                accountManager.setUserData(temp, AccountUtils.Constants.KEY_OC_BASE_URL, "http://" + baseUrl);
+                accountManager.setUserData(temp, AccountUtils.Constants.KEY_OC_BASE_URL, baseUrl.toString());
                 accountManager.setUserData(temp, AccountUtils.Constants.KEY_USER_ID, username);
             }