Browse Source

split up unit&IT tests from screenshot tests

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
tobiasKaminsky 4 years ago
parent
commit
80d83e4721
24 changed files with 235 additions and 33 deletions
  1. 162 14
      .drone.yml
  2. BIN
      screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer.png
  3. BIN
      screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityIT_drawer.png
  4. BIN
      screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityIT_open.png
  5. BIN
      screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityIT_showAccounts.png
  6. BIN
      screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityIT_showShares.png
  7. BIN
      screenshots/gplay/debug/com.nextcloud.client.NotificationsActivityIT_openDrawer.png
  8. BIN
      screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_open.png
  9. BIN
      screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_openDrawer.png
  10. BIN
      screenshots/gplay/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer.png
  11. BIN
      screenshots/gplay/debug/com.nextcloud.client.etm.EtmActivityTest_preferences.png
  12. BIN
      screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareToGroup.png
  13. BIN
      screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareToUser.png
  14. BIN
      screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareViaLink.png
  15. BIN
      screenshots/gplay/debug/richworkspaces_dark.png
  16. BIN
      screenshots/gplay/debug/richworkspaces_light.png
  17. 19 3
      scripts/updateScreenshots.sh
  18. 24 1
      src/androidTest/java/com/nextcloud/client/ActivitiesActivityIT.java
  19. 5 13
      src/androidTest/java/com/nextcloud/client/FileDisplayActivityIT.java
  20. 11 0
      src/androidTest/java/com/nextcloud/client/etm/EtmActivityTest.kt
  21. 1 1
      src/androidTest/java/com/owncloud/android/AbstractIT.java
  22. 1 0
      src/androidTest/java/com/owncloud/android/ui/activity/ManageAccountsActivityIT.java
  23. 11 1
      src/androidTest/java/com/owncloud/android/ui/fragment/OCFileListFragmentIT.kt
  24. 1 0
      src/main/java/com/owncloud/android/MainApp.java

+ 162 - 14
.drone.yml

@@ -1,7 +1,7 @@
 ---
 kind: pipeline
 type: docker
-name: gplay-stable
+name: tests-stable
 
 steps:
   - name: gplay
@@ -21,15 +21,14 @@ steps:
       - scripts/checkIfRunDrone.sh $GIT_USERNAME $GIT_TOKEN $DRONE_PULL_REQUEST || exit 0
       - emulator-headless -avd android-27 -no-snapshot -gpu swiftshader_indirect -no-window -no-audio -skin 500x833 &
       - sed -i s'#<bool name="is_beta">false</bool>#<bool name="is_beta">true</bool>#'g src/main/res/values/setup.xml
-      - sed -i s"#server#server-stable#" gradle.properties
+      - sed -i s"#server#server#" gradle.properties
       - ./gradlew assembleGplay
       - ./gradlew assembleGplayDebug
       - scripts/wait_for_emulator.sh
       - ./gradlew jacocoTestGplayDebugUnitTestReport || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "stable-Unit" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
       - ./gradlew installGplayDebugAndroidTest
-      - scripts/wait_for_server.sh "server-stable"
-      - ./gradlew createGplayDebugCoverageReport || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "stable-IT" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
-      - ./gradlew gplayDebugExecuteScreenshotTests -Pandroid.testInstrumentationRunnerArguments.annotation=com.owncloud.android.utils.ScreenshotTest || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "stable-Screenshot" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
+      - scripts/wait_for_server.sh "server"
+      - ./gradlew createGplayDebugCoverageReport -Pandroid.testInstrumentationRunnerArguments.notAnnotation=com.owncloud.android.utils.ScreenshotTest || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "stable-IT" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
       - ./gradlew combinedTestReport
   - name: notify
     image: drillster/drone-email
@@ -54,11 +53,11 @@ steps:
         - master
 
 services:
-  - name: server-stable
+  - name: server
     image: nextcloudci/server:server-17 # also change in updateScreenshots.sh
     commands:
       - BRANCH='stable18' /usr/local/bin/initnc.sh
-      - su www-data -c "echo 127.0.0.1 server >> /etc/hosts"
+      - echo 127.0.0.1 server >> /etc/hosts
       - su www-data -c "OC_PASS=user1 php /var/www/html/occ user:add --password-from-env --display-name='User One' user1"
       - su www-data -c "OC_PASS=user2 php /var/www/html/occ user:add --password-from-env --display-name='User Two' user2"
       - su www-data -c "OC_PASS=user3 php /var/www/html/occ user:add --password-from-env --display-name='User Three' user3"
@@ -82,7 +81,7 @@ trigger:
 ---
 kind: pipeline
 type: docker
-name: gplay-master
+name: tests-master
 
 steps:
   - name: gplay
@@ -102,15 +101,13 @@ steps:
       - scripts/checkIfRunDrone.sh $GIT_USERNAME $GIT_TOKEN $DRONE_PULL_REQUEST || exit 0
       - emulator-headless -avd android-27 -no-snapshot -gpu swiftshader_indirect -no-window -no-audio -skin 500x833 &
       - sed -i s'#<bool name="is_beta">false</bool>#<bool name="is_beta">true</bool>#'g src/main/res/values/setup.xml
-      - sed -i s"#server#server-master#" gradle.properties
       - ./gradlew assembleGplay
       - ./gradlew assembleGplayDebug
       - scripts/wait_for_emulator.sh
       - ./gradlew jacocoTestGplayDebugUnitTestReport || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "master-Unit" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
       - ./gradlew installGplayDebugAndroidTest
-      - scripts/wait_for_server.sh "server-master"
-      - ./gradlew createGplayDebugCoverageReport || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "master-IT" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
-      - ./gradlew gplayDebugExecuteScreenshotTests -Pandroid.testInstrumentationRunnerArguments.annotation=com.owncloud.android.utils.ScreenshotTest || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "master-Screenshot" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
+      - scripts/wait_for_server.sh "server"
+      - ./gradlew createGplayDebugCoverageReport -Pandroid.testInstrumentationRunnerArguments.notAnnotation=com.owncloud.android.utils.ScreenshotTest || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "master-IT" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
       - ./gradlew combinedTestReport
       - curl -o codecov.sh https://codecov.io/bash
       - bash ./codecov.sh -t fc506ba4-33c3-43e4-a760-aada38c24fd5
@@ -137,11 +134,162 @@ steps:
         - master
 
 services:
-  - name: server-master
+  - name: server
+    image: nextcloudci/server:server-17 # also change in updateScreenshots.sh
+    commands:
+      - /usr/local/bin/initnc.sh
+      - echo 127.0.0.1 server >> /etc/hosts
+      - su www-data -c "OC_PASS=user1 php /var/www/html/occ user:add --password-from-env --display-name='User One' user1"
+      - su www-data -c "OC_PASS=user2 php /var/www/html/occ user:add --password-from-env --display-name='User Two' user2"
+      - su www-data -c "OC_PASS=user3 php /var/www/html/occ user:add --password-from-env --display-name='User Three' user3"
+      - su www-data -c "php /var/www/html/occ user:setting user2 files quota 1G"
+      - su www-data -c "php /var/www/html/occ group:add users"
+      - su www-data -c "php /var/www/html/occ group:adduser users user1"
+      - su www-data -c "php /var/www/html/occ group:adduser users user2"
+      - su www-data -c "git clone -b master https://github.com/nextcloud/activity.git /var/www/html/apps/activity/"
+      - su www-data -c "php /var/www/html/occ app:enable activity"
+      - su www-data -c "git clone -b master https://github.com/nextcloud/text.git /var/www/html/apps/text/"
+      - su www-data -c "php /var/www/html/occ app:enable text"
+      - su www-data -c "git clone -b master https://github.com/nextcloud/end_to_end_encryption/  /var/www/html/apps/end_to_end_encryption/"
+      - su www-data -c "php /var/www/html/occ app:enable end_to_end_encryption"
+      - /usr/local/bin/run.sh
+
+trigger:
+  branch:
+    - master
+  event:
+    - push
+    - pull_request
+---
+kind: pipeline
+type: docker
+name: screenshots-stable
+
+steps:
+  - name: gplay
+    image: nextcloudci/android:android-49
+    privileged: true
+    environment:
+      LOG_USERNAME:
+        from_secret: LOG_USERNAME
+      LOG_PASSWORD:
+        from_secret: LOG_PASSWORD
+      GIT_USERNAME:
+        from_secret: GIT_USERNAME
+      GIT_TOKEN:
+        from_secret: GIT_TOKEN
+      ORG_GRADLE_PROJECT_coverage: ''
+    commands:
+      - scripts/checkIfRunDrone.sh $GIT_USERNAME $GIT_TOKEN $DRONE_PULL_REQUEST || exit 0
+      - emulator-headless -avd android-27 -no-snapshot -gpu swiftshader_indirect -no-window -no-audio -skin 500x833 &
+      - sed -i s'#<bool name="is_beta">false</bool>#<bool name="is_beta">true</bool>#'g src/main/res/values/setup.xml
+      - ./gradlew assembleGplayDebug
+      - scripts/wait_for_emulator.sh
+      - ./gradlew installGplayDebugAndroidTest
+      - scripts/wait_for_server.sh "server"
+      - ./gradlew gplayDebugExecuteScreenshotTests -Pandroid.testInstrumentationRunnerArguments.annotation=com.owncloud.android.utils.ScreenshotTest || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "stable-Screenshot" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
+  - name: notify
+    image: drillster/drone-email
+    settings:
+      port: 587
+      from: nextcloud-drone@kaminsky.me
+      recipients_only: true
+      username:
+        from_secret: EMAIL_USERNAME
+      password:
+        from_secret: EMAIL_PASSWORD
+      recipients:
+        from_secret: EMAIL_RECIPIENTS
+      host:
+        from_secret: EMAIL_HOST
+    when:
+      event:
+        - push
+      status:
+        - failure
+      branch:
+        - master
+
+services:
+  - name: server
+    image: nextcloudci/server:server-17 # also change in updateScreenshots.sh
+    commands:
+      - BRANCH='stable18' /usr/local/bin/initnc.sh
+      - su www-data -c "OC_PASS=user1 php /var/www/html/occ user:add --password-from-env --display-name='User One' user1"
+      - su www-data -c "OC_PASS=user2 php /var/www/html/occ user:add --password-from-env --display-name='User Two' user2"
+      - su www-data -c "OC_PASS=user3 php /var/www/html/occ user:add --password-from-env --display-name='User Three' user3"
+      - su www-data -c "php /var/www/html/occ user:setting user2 files quota 1G"
+      - su www-data -c "php /var/www/html/occ group:add users"
+      - su www-data -c "php /var/www/html/occ group:adduser users user1"
+      - su www-data -c "php /var/www/html/occ group:adduser users user2"
+      - su www-data -c "git clone -b stable18 https://github.com/nextcloud/activity.git /var/www/html/apps/activity/"
+      - su www-data -c "php /var/www/html/occ app:enable activity"
+      - su www-data -c "git clone -b stable18 https://github.com/nextcloud/text.git /var/www/html/apps/text/"
+      - su www-data -c "php /var/www/html/occ app:enable text"
+      - su www-data -c "php /var/www/html/occ app:enable end_to_end_encryption"
+      - /usr/local/bin/run.sh
+
+trigger:
+  branch:
+    - master
+  event:
+    - push
+    - pull_request
+---
+kind: pipeline
+type: docker
+name: screenshots-master
+
+steps:
+  - name: gplay
+    image: nextcloudci/android:android-49
+    privileged: true
+    environment:
+      LOG_USERNAME:
+        from_secret: LOG_USERNAME
+      LOG_PASSWORD:
+        from_secret: LOG_PASSWORD
+      GIT_USERNAME:
+        from_secret: GIT_USERNAME
+      GIT_TOKEN:
+        from_secret: GIT_TOKEN
+      ORG_GRADLE_PROJECT_coverage: ''
+    commands:
+      - scripts/checkIfRunDrone.sh $GIT_USERNAME $GIT_TOKEN $DRONE_PULL_REQUEST || exit 0
+      - emulator-headless -avd android-27 -no-snapshot -gpu swiftshader_indirect -no-window -no-audio -skin 500x833 &
+      - sed -i s'#<bool name="is_beta">false</bool>#<bool name="is_beta">true</bool>#'g src/main/res/values/setup.xml
+      - ./gradlew assembleGplayDebug
+      - scripts/wait_for_emulator.sh
+      - ./gradlew installGplayDebugAndroidTest
+      - scripts/wait_for_server.sh "server"
+      - ./gradlew gplayDebugExecuteScreenshotTests -Pandroid.testInstrumentationRunnerArguments.annotation=com.owncloud.android.utils.ScreenshotTest || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "master-Screenshot" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
+  - name: notify
+    image: drillster/drone-email
+    settings:
+      port: 587
+      from: nextcloud-drone@kaminsky.me
+      recipients_only: true
+      username:
+        from_secret: EMAIL_USERNAME
+      password:
+        from_secret: EMAIL_PASSWORD
+      recipients:
+        from_secret: EMAIL_RECIPIENTS
+      host:
+        from_secret: EMAIL_HOST
+    when:
+      event:
+        - push
+      status:
+        - failure
+      branch:
+        - master
+
+services:
+  - name: server
     image: nextcloudci/server:server-17 # also change in updateScreenshots.sh
     commands:
       - /usr/local/bin/initnc.sh
-      - su www-data -c "echo 127.0.0.1 server >> /etc/hosts"
       - su www-data -c "OC_PASS=user1 php /var/www/html/occ user:add --password-from-env --display-name='User One' user1"
       - su www-data -c "OC_PASS=user2 php /var/www/html/occ user:add --password-from-env --display-name='User Two' user2"
       - su www-data -c "OC_PASS=user3 php /var/www/html/occ user:add --password-from-env --display-name='User Three' user3"

BIN
screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer.png


BIN
screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityIT_drawer.png


BIN
screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityIT_open.png


BIN
screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityIT_showAccounts.png


BIN
screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityIT_showShares.png


BIN
screenshots/gplay/debug/com.nextcloud.client.NotificationsActivityIT_openDrawer.png


BIN
screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_open.png


BIN
screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_openDrawer.png


BIN
screenshots/gplay/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer.png


BIN
screenshots/gplay/debug/com.nextcloud.client.etm.EtmActivityTest_preferences.png


BIN
screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareToGroup.png


BIN
screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareToUser.png


BIN
screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareViaLink.png


BIN
screenshots/gplay/debug/richworkspaces_dark.png


BIN
screenshots/gplay/debug/richworkspaces_light.png


+ 19 - 3
scripts/updateScreenshots.sh

@@ -70,9 +70,11 @@ adb shell "mount -o remount,rw /system"
 sleep 2
 adb shell "echo $IP server >> /system/etc/hosts"
 
+sed -i s'#<bool name="is_beta">false</bool>#<bool name="is_beta">true</bool>#'g src/main/res/values/setup.xml
+
 ## update/create all screenshots
-./gradlew gplayDebugExecuteScreenshotTests -Precord \
--Pandroid.testInstrumentationRunnerArguments.annotation=com.owncloud.android.utils.ScreenshotTest
+#./gradlew gplayDebugExecuteScreenshotTests -Precord \
+#-Pandroid.testInstrumentationRunnerArguments.annotation=com.owncloud.android.utils.ScreenshotTest
 
 ## update screenshots in a class
 #./gradlew gplayDebugExecuteScreenshotTests \
@@ -84,7 +86,21 @@ adb shell "echo $IP server >> /system/etc/hosts"
 #./gradlew gplayDebugExecuteScreenshotTests \
 #-Precord \
 #-Pandroid.testInstrumentationRunnerArguments.class=\
-#com.owncloud.android.ui.dialog.SyncFileNotEnoughSpaceDialogFragmentTest#showNotEnoughSpaceDialogForFile
+#com.nextcloud.client.FileDisplayActivityIT#showShares
+
+resultCode=-1
+retryCount=0
+until [ $resultCode -eq 0 ] || [ $retryCount -gt 2 ]
+do
+  # test all screenshots
+  ./gradlew gplayDebugExecuteScreenshotTests \
+  -Pandroid.testInstrumentationRunnerArguments.annotation=com.owncloud.android.utils.ScreenshotTest
+
+resultCode=$?
+((retryCount++))
+done
+
+sed -i s'#<bool name="is_beta">true</bool>#<bool name="is_beta">false</bool>#'g src/main/res/values/setup.xml
 
 if [ "$1" == "debug" ]; then
   exit

+ 24 - 1
src/androidTest/java/com/nextcloud/client/ActivitiesActivityIT.java

@@ -23,17 +23,24 @@
 package com.nextcloud.client;
 
 import android.Manifest;
+import android.view.View;
 
+import com.facebook.testing.screenshot.Screenshot;
 import com.owncloud.android.AbstractIT;
+import com.owncloud.android.R;
 import com.owncloud.android.ui.activities.ActivitiesActivity;
 import com.owncloud.android.utils.ScreenshotTest;
 
 import org.junit.Rule;
 import org.junit.Test;
 
+import androidx.test.espresso.contrib.DrawerActions;
 import androidx.test.espresso.intent.rule.IntentsTestRule;
 import androidx.test.rule.GrantPermissionRule;
 
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+
 
 public class ActivitiesActivityIT extends AbstractIT {
     @Rule public IntentsTestRule<ActivitiesActivity> activityRule = new IntentsTestRule<>(ActivitiesActivity.class,
@@ -47,6 +54,22 @@ public class ActivitiesActivityIT extends AbstractIT {
     @Test
     @ScreenshotTest
     public void openDrawer() {
-        super.openDrawer(activityRule);
+        ActivitiesActivity sut = activityRule.launchActivity(null);
+
+        shortSleep();
+
+        onView(withId(R.id.drawer_layout)).perform(DrawerActions.open());
+
+        sut.runOnUiThread(new Runnable() {
+            @Override
+            public void run() {
+                sut.emptyContentContainer.setVisibility(View.VISIBLE);
+                sut.recyclerView.setVisibility(View.INVISIBLE);
+            }
+        });
+
+        waitForIdleSync();
+
+        Screenshot.snapActivity(sut).record();
     }
 }

+ 5 - 13
src/androidTest/java/com/nextcloud/client/FileDisplayActivityIT.java

@@ -51,7 +51,6 @@ import androidx.test.espresso.intent.rule.IntentsTestRule;
 import androidx.test.rule.GrantPermissionRule;
 
 import static androidx.test.espresso.Espresso.onView;
-import static androidx.test.espresso.action.ViewActions.click;
 import static androidx.test.espresso.matcher.ViewMatchers.withId;
 import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
 import static junit.framework.TestCase.assertEquals;
@@ -79,11 +78,13 @@ public class FileDisplayActivityIT extends AbstractIT {
     @Test
     @ScreenshotTest
     public void drawer() {
-        Activity sut = activityRule.launchActivity(null);
+        FileDisplayActivity sut = activityRule.launchActivity(null);
 
         onView(withId(R.id.drawer_layout)).perform(DrawerActions.open());
 
         waitForIdleSync();
+        shortSleep();
+        sut.getListOfFilesFragment().setFabEnabled(false);
 
         Screenshot.snapActivity(sut).record();
     }
@@ -147,17 +148,8 @@ public class FileDisplayActivityIT extends AbstractIT {
 
         EventBus.getDefault().post(new SearchEvent("", SearchRemoteOperation.SearchType.SHARED_FILTER));
 
-        getInstrumentation().waitForIdleSync();
-
-        Screenshot.snapActivity(sut).record();
-    }
-
-    @Test
-    @ScreenshotTest
-    public void showAccounts() {
-        Activity sut = activityRule.launchActivity(null);
-
-        onView(withId(R.id.switch_account_button)).perform(click());
+        shortSleep();
+        shortSleep();
 
         Screenshot.snapActivity(sut).record();
     }

+ 11 - 0
src/androidTest/java/com/nextcloud/client/etm/EtmActivityTest.kt

@@ -27,7 +27,10 @@ import androidx.test.espresso.intent.rule.IntentsTestRule
 import androidx.test.internal.runner.junit4.statement.UiThreadStatement
 import com.facebook.testing.screenshot.Screenshot
 import com.owncloud.android.AbstractIT
+import com.owncloud.android.lib.resources.status.OwnCloudVersion
 import com.owncloud.android.utils.ScreenshotTest
+import org.junit.Assume
+import org.junit.Before
 import org.junit.Rule
 import org.junit.Test
 
@@ -35,6 +38,14 @@ class EtmActivityTest : AbstractIT() {
     @get:Rule
     var activityRule = IntentsTestRule(EtmActivity::class.java, true, false)
 
+    @Before
+    fun before() {
+        // tests only on NC 18
+        Assume.assumeTrue(storageManager
+            .getCapability(account.name)
+            .version.compareTo(OwnCloudVersion.nextcloud_18) == 0)
+    }
+
     @Test
     @ScreenshotTest
     fun overview() {

+ 1 - 1
src/androidTest/java/com/owncloud/android/AbstractIT.java

@@ -115,7 +115,7 @@ public abstract class AbstractIT {
 
             waitForServer(client, baseUrl);
 
-//            deleteAllFiles(); // makes sure that no file/folder is in root
+            deleteAllFiles(); // makes sure that no file/folder is in root
         } catch (OperationCanceledException e) {
             e.printStackTrace();
         } catch (AuthenticatorException e) {

+ 1 - 0
src/androidTest/java/com/owncloud/android/ui/activity/ManageAccountsActivityIT.java

@@ -58,6 +58,7 @@ public class ManageAccountsActivityIT extends AbstractIT {
         User user = sut.accountManager.getUser();
         sut.onAccountClicked(user);
 
+        shortSleep();
         shortSleep();
 
         Screenshot.snapActivity(getCurrentActivity()).record();

+ 11 - 1
src/androidTest/java/com/owncloud/android/ui/fragment/OCFileListFragmentIT.kt

@@ -123,8 +123,10 @@ class OCFileListFragmentIT : AbstractIT() {
             targetContext).execute(client).isSuccess)
 
         val sut = ActivityScenario.launch(FileDisplayActivity::class.java)
+        shortSleep()
         sut.onActivity { activity -> activity.onBrowsedDownTo(storageManager.getFileByPath("/test/")) }
 
+        shortSleep()
         shortSleep()
 
         sut.onActivity { activity ->
@@ -133,14 +135,21 @@ class OCFileListFragmentIT : AbstractIT() {
 
         val preferences: AppPreferences = AppPreferencesImpl.fromContext(targetContext)
         preferences.darkThemeMode = DarkMode.DARK
-        MainApp.setAppTheme(DarkMode.DARK)
 
+        sut.onActivity { activity ->
+            MainApp.setAppTheme(DarkMode.DARK)
+        }
+
+        shortSleep()
         sut.onActivity { activity -> activity.onBackPressed() }
 
+        shortSleep()
+
         sut.recreate()
 
         sut.onActivity { activity -> activity.onBrowsedDownTo(storageManager.getFileByPath("/test/")) }
 
+        shortSleep()
         shortSleep()
 
         sut.onActivity { activity ->
@@ -151,6 +160,7 @@ class OCFileListFragmentIT : AbstractIT() {
         preferences.darkThemeMode = DarkMode.LIGHT
         MainApp.setAppTheme(DarkMode.LIGHT)
 
+        shortSleep()
         sut.onActivity { activity -> activity.onBackPressed() }
 
         sut.recreate()

+ 1 - 0
src/main/java/com/owncloud/android/MainApp.java

@@ -612,6 +612,7 @@ public class MainApp extends MultiDexApplication implements HasAndroidInjector {
         mOnlyOnDevice = state;
     }
 
+
     public static boolean isOnlyOnDevice() {
         return mOnlyOnDevice;
     }