From c2750aabdafb179ac07e543796a741655d56f021 Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Thu, 23 Jan 2020 06:52:25 +0100 Subject: [PATCH 1/5] Add ui test for list shares add test user to drone switch back to master use "waitForIdleSync" instead of sleep Signed-off-by: tobiasKaminsky --- .drone.yml | 16 ++++- ...lient.FileDisplayActivityIT_showShares.png | Bin 0 -> 18640 bytes scripts/updateScreenshots.sh | 16 ++++- scripts/wait_for_server.sh | 2 +- .../client/FileDisplayActivityIT.java | 57 ++++++++++++++++++ .../ui/fragment/OCFileListFragment.java | 7 ++- 6 files changed, 92 insertions(+), 6 deletions(-) create mode 100644 screenshots/com.nextcloud.client.FileDisplayActivityIT_showShares.png diff --git a/.drone.yml b/.drone.yml index 959db57825e4..c5a313c15677 100644 --- a/.drone.yml +++ b/.drone.yml @@ -101,7 +101,21 @@ steps: services: - name: server - image: nextcloudci/server:server-3 + image: nextcloudci/server:server-17 # also change in updateScreenshots.sh + commands: + - /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 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" + - /usr/local/bin/run.sh trigger: branch: diff --git a/screenshots/com.nextcloud.client.FileDisplayActivityIT_showShares.png b/screenshots/com.nextcloud.client.FileDisplayActivityIT_showShares.png new file mode 100644 index 0000000000000000000000000000000000000000..babd435cef3eed5b5f77dcbac6125437580cc69b GIT binary patch literal 18640 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%0DV-; z6on5rwq4Ku9Q7np(*@|*GZ9g0G$8rTnyaAH@efS1MOHgX$_7nLf$9;6U<}aXfwu4` zZP2N)6VmFKY+rkH5Cq_U*{df6)qcGjs_m%r02bo}sfa5dhaH{6ePiJj$6_mP9h#Q9 z8rK!v@36(_gp0So$MvVpzJzq7P%_gxk>LpY*eD>1{I?upk=Ma&?(nVZa0K`aVE3Zl zTy|401jFq0sEE@32HZ4;hqAIs>cexso@YDD+VZ9Cb_Ja&uC>nU8>LT6^9fC+ym|s7 zjt)JWnY%I=3~HiSg~YZpjm&*2L1ia-xd2<(mjKt8w2cwsmH(>}8#5Kckbn{fFo9&t z+7w5%7XjvQktZ&!fb>l(5NI2j^5U_R(k^|mn9ncv_#^ZGd7}gYv`PV-Wt4EYuzr0` z5tvBpzF+)#QJ>(^uC@dv!Yg5WOBLWKisGZrRC{qQptmpZdi~kK93cM@4G;&5)E7E? zrmHM~W6g0fywfARMmR5fMh1-b1=X>qj)Op#6o}Kl5t5E2$3g1DM3lZK?b+)ybCEYi zOZ%VnFa*#~*59%MTC+iG6Y91N6Cq-; zyjTGNZW6DM#!G?o4t_8#Q<`+MQ$nN#AtT}U>H4JM|tB-qfLg9f<_5?OE&K{YoeeS9l{}3;}aj;MN zDF_H84AqVY(Ay!tVM(4fxd%T>hXGjxd$EK3i{F6@wcyFrXosed7$C1*IO5eT&P#+8 zk`TaVLFzO~cjWouNaBoc;o0za%TvvyW@v`Px8E!ngk8Z04Y7=3p*H^JwiFr=RwzOm z>0UmS28#%RC?EeWfJ$wkf;RjxRA$DO*fK?}Bje_W>9rt#`Z6#0B7XP=2#nug^zzP9m|SFR1MX1% z(QN1Anx_VCm}sO!wJ#;DD-mN0I{_I775x z4kpsoTfMrefF)j_8q{mk>gaBbu&PnNAl%7LhuNspWo>%nK+uDCWFZ&-i{S@EkQVH< zz>x%nHK24YRsrX?j^9*s@6cGyH#5dQtPSIHGSNIW+J;qaz9n_ieX>ke9zTB+m+94M zrIURsN^Lb+wQng(B1oV27z4wYHV3Fs!pp~gK7TD`hkxb+ZrfwB=8_bLr2}} zOjkODS^d)Ec^%?$$edC$2RPbQ#SH-Z@NzsDyoGqKMk1*rJ1>~+lqs&|h3lkF(rF3j z2D}M!TMw_MHg!w)&9H%<>Zk77B(w=gTe6@#uj6isCRqJo9Ph-=0=i>}nI573Ddg#w znkkhswSFKna2GW``?*Sj3Yd0uAM;EdJ!*Y47 z@gJ4vf1xsYSM j>)!soda*}w!Q;^18rC~PUI0%j;=6g>/dev/null & +docker run --name=uiComparison nextcloudci/server:server-17 1>/dev/null & sleep 5 IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' uiComparison) @@ -28,9 +28,19 @@ fi cp gradle.properties gradle.properties_ sed -i s"/server/$IP/" gradle.properties scripts/wait_for_emulator.sh -scripts/wait_for_server.sh ${IP} -## update all screenshots +# setup test server +docker exec uiComparison /bin/sh -c "/usr/local/bin/initnc.sh" +docker exec uiComparison /bin/sh -c "su www-data -c \"OC_PASS=user1 php /var/www/html/occ user:add --password-from-env --display-name='User One' user1\"" +docker exec uiComparison /bin/sh -c "su www-data -c \"OC_PASS=user2 php /var/www/html/occ user:add --password-from-env --display-name='User Two' user2\"" +docker exec uiComparison /bin/sh -c "su www-data -c \"OC_PASS=user3 php /var/www/html/occ user:add --password-from-env --display-name='User Three' user3\"" +docker exec uiComparison /bin/sh -c "su www-data -c \"php /var/www/html/occ user:setting user2 files quota 1G\"" +docker exec uiComparison /bin/sh -c "su www-data -c \"php /var/www/html/occ group:add users\"" +docker exec uiComparison /bin/sh -c "su www-data -c \"php /var/www/html/occ group:adduser users user1\"" +docker exec uiComparison /bin/sh -c "su www-data -c \"php /var/www/html/occ group:adduser users user2\"" +docker exec uiComparison /bin/sh -c "/usr/local/bin/run.sh" + +## update/create all screenshots ./gradlew executeScreenshotTests -Precord ## update screenshots in a class diff --git a/scripts/wait_for_server.sh b/scripts/wait_for_server.sh index d89e4e7af5f3..66b150045c4e 100755 --- a/scripts/wait_for_server.sh +++ b/scripts/wait_for_server.sh @@ -8,7 +8,7 @@ until [[ $status = "false" ]]; do if [[ "$status" =~ "false" || "$status" = "" ]]; then let "counter += 1" - if [[ $counter -gt 2 ]]; then + if [[ $counter -gt 10 ]]; then echo "Failed to wait for server" exit 1 fi diff --git a/src/androidTest/java/com/nextcloud/client/FileDisplayActivityIT.java b/src/androidTest/java/com/nextcloud/client/FileDisplayActivityIT.java index b080812eca6c..acaa0c3a3aae 100644 --- a/src/androidTest/java/com/nextcloud/client/FileDisplayActivityIT.java +++ b/src/androidTest/java/com/nextcloud/client/FileDisplayActivityIT.java @@ -28,8 +28,16 @@ import com.facebook.testing.screenshot.Screenshot; import com.owncloud.android.AbstractIT; import com.owncloud.android.R; +import com.owncloud.android.lib.resources.files.CreateFolderRemoteOperation; +import com.owncloud.android.lib.resources.files.SearchRemoteOperation; +import com.owncloud.android.lib.resources.shares.CreateShareRemoteOperation; +import com.owncloud.android.lib.resources.shares.OCShare; +import com.owncloud.android.lib.resources.shares.ShareType; import com.owncloud.android.ui.activity.FileDisplayActivity; +import com.owncloud.android.ui.events.SearchEvent; +import org.greenrobot.eventbus.EventBus; +import org.junit.Assert; import org.junit.Rule; import org.junit.Test; @@ -40,6 +48,8 @@ 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.assertTrue; public class FileDisplayActivityIT extends AbstractIT { @@ -69,6 +79,53 @@ public void drawer() { Screenshot.snapActivity(sut).record(); } + @Test + public void showShares() throws InterruptedException { + assertTrue(new CreateFolderRemoteOperation("/shareToAdmin/", true).execute(client).isSuccess()); + assertTrue(new CreateFolderRemoteOperation("/shareToGroup/", true).execute(client).isSuccess()); + assertTrue(new CreateFolderRemoteOperation("/shareViaLink/", true).execute(client).isSuccess()); + assertTrue(new CreateFolderRemoteOperation("/noShare/", true).execute(client).isSuccess()); + + // share folder to user "admin" + assertTrue(new CreateShareRemoteOperation("/shareToAdmin/", + ShareType.USER, + "admin", + false, + "", + OCShare.MAXIMUM_PERMISSIONS_FOR_FOLDER) + .execute(client).isSuccess()); + + // share folder via public link + assertTrue(new CreateShareRemoteOperation("/shareViaLink/", + ShareType.PUBLIC_LINK, + "", + true, + "", + OCShare.READ_PERMISSION_FLAG) + .execute(client).isSuccess()); + + // share folder to group + Assert.assertTrue(new CreateShareRemoteOperation("/shareToGroup/", + ShareType.GROUP, + "users", + false, + "", + OCShare.DEFAULT_PERMISSION) + .execute(client).isSuccess()); + + Activity sut = activityRule.launchActivity(null); + + getInstrumentation().waitForIdleSync(); + + EventBus.getDefault().post(new SearchEvent("", + SearchRemoteOperation.SearchType.SHARED_FILTER, + SearchEvent.UnsetType.UNSET_BOTTOM_NAV_BAR)); + + getInstrumentation().waitForIdleSync(); + + Screenshot.snapActivity(sut).record(); + } + @Test public void showAccounts() { Activity sut = activityRule.launchActivity(null); diff --git a/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java b/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java index 98ece8a4b9d2..623c49434bd3 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java +++ b/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java @@ -388,6 +388,10 @@ protected void prepareCurrentSearch(SearchEvent event) { currentSearchType = SearchType.RECENTLY_MODIFIED_SEARCH; break; + case SHARED_FILTER: + currentSearchType = SearchType.SHARED_FILTER; + break; + default: // do nothing break; @@ -1700,7 +1704,8 @@ private boolean isSearchEventSet(SearchEvent event) { return event != null && event.getSearchType() != null && (!TextUtils.isEmpty(event.getSearchQuery()) || - event.searchType == SearchRemoteOperation.SearchType.SHARED_SEARCH); + event.searchType == SearchRemoteOperation.SearchType.SHARED_SEARCH || + event.searchType == SearchRemoteOperation.SearchType.SHARED_FILTER); } private void syncAndCheckFiles(Collection files) { From 26d7b9c6921114e682d5716229e772609d3c352d Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Thu, 6 Feb 2020 08:40:49 +0100 Subject: [PATCH 2/5] Fix after rebase Signed-off-by: tobiasKaminsky --- scripts/analysis/findbugs-results.txt | 2 +- .../java/com/nextcloud/client/FileDisplayActivityIT.java | 5 ++--- .../com/owncloud/android/ui/activity/DrawerActivity.java | 2 +- .../com/owncloud/android/ui/fragment/OCFileListFragment.java | 4 ++-- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/scripts/analysis/findbugs-results.txt b/scripts/analysis/findbugs-results.txt index 32890dbdd9cc..aeccadf78362 100644 --- a/scripts/analysis/findbugs-results.txt +++ b/scripts/analysis/findbugs-results.txt @@ -1 +1 @@ -387 +386 diff --git a/src/androidTest/java/com/nextcloud/client/FileDisplayActivityIT.java b/src/androidTest/java/com/nextcloud/client/FileDisplayActivityIT.java index acaa0c3a3aae..5e1328c24313 100644 --- a/src/androidTest/java/com/nextcloud/client/FileDisplayActivityIT.java +++ b/src/androidTest/java/com/nextcloud/client/FileDisplayActivityIT.java @@ -80,7 +80,7 @@ public void drawer() { } @Test - public void showShares() throws InterruptedException { + public void showShares() { assertTrue(new CreateFolderRemoteOperation("/shareToAdmin/", true).execute(client).isSuccess()); assertTrue(new CreateFolderRemoteOperation("/shareToGroup/", true).execute(client).isSuccess()); assertTrue(new CreateFolderRemoteOperation("/shareViaLink/", true).execute(client).isSuccess()); @@ -118,8 +118,7 @@ public void showShares() throws InterruptedException { getInstrumentation().waitForIdleSync(); EventBus.getDefault().post(new SearchEvent("", - SearchRemoteOperation.SearchType.SHARED_FILTER, - SearchEvent.UnsetType.UNSET_BOTTOM_NAV_BAR)); + SearchRemoteOperation.SearchType.SHARED_FILTER)); getInstrumentation().waitForIdleSync(); diff --git a/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java b/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java index 1121ef596320..5c3cf7079fa3 100644 --- a/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java @@ -469,7 +469,7 @@ private void selectNavigationItem(final MenuItem menuItem) { UserInfoActivity.openAccountRemovalConfirmationDialog(getAccount(), getSupportFragmentManager()); break; case R.id.nav_shared: - handleSearchEvents(new SearchEvent("", SearchRemoteOperation.SearchType.SHARED_SEARCH), + handleSearchEvents(new SearchEvent("", SearchRemoteOperation.SearchType.SHARED_FILTER), menuItem.getItemId()); break; case R.id.nav_recently_modified: diff --git a/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java b/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java index 623c49434bd3..5d255e9bf659 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java +++ b/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java @@ -191,7 +191,7 @@ public class OCFileListFragment extends ExtendedListFragment implements protected SearchType currentSearchType; protected boolean searchFragment; protected SearchEvent searchEvent; - protected AsyncTask remoteOperationAsyncTask; + protected AsyncTask remoteOperationAsyncTask; protected String mLimitToMimeType; @Inject DeviceInfo deviceInfo; @@ -1591,7 +1591,7 @@ protected void onPostExecute(Boolean bool) { } }; - remoteOperationAsyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, true); + remoteOperationAsyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } @Subscribe(threadMode = ThreadMode.BACKGROUND) From 5cc03608554a06f428e05b6ea7501a05c707cf0b Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Thu, 13 Feb 2020 09:33:58 +0100 Subject: [PATCH 3/5] upload preliminary step Signed-off-by: tobiasKaminsky --- scripts/uploadReport.sh | 52 ++++++++++++++++++++++++++++------------- 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/scripts/uploadReport.sh b/scripts/uploadReport.sh index 25769b98e5c6..6e9ff692d816 100755 --- a/scripts/uploadReport.sh +++ b/scripts/uploadReport.sh @@ -1,5 +1,19 @@ #!/usr/bin/env bash +upload() { + cd $1 + + find . -type d -exec curl -u $USER:$PASS -X MKCOL $URL/$REMOTE_FOLDER/$(echo {} | sed s#\./##) \; + find . -type f -exec curl -u $USER:$PASS -X PUT $URL/$REMOTE_FOLDER/$(echo {} | sed s#\./##) --upload-file {} \; + + echo "Uploaded failing tests to https://www.kaminsky.me/nc-dev/android-integrationTests/$REMOTE_FOLDER" + + curl -u $GITHUB_USER:$GITHUB_PASSWORD -X POST https://api.github.com/repos/nextcloud/android/issues/$PR/comments \ + -d "{ \"body\" : \"$TYPE test failed: https://www.kaminsky.me/nc-dev/android-integrationTests/$REMOTE_FOLDER \" }" + + exit 1 +} + #1: LOG_USERNAME #2: LOG_PASSWORD #3: DRONE_BUILD_NUMBER @@ -13,6 +27,9 @@ ID=$3 USER=$1 PASS=$2 TYPE=$4 +PR=$5 +GITHUB_USER=$6 +GITHUB_PASSWORD=$7 REMOTE_FOLDER=$ID-$TYPE set -e @@ -22,27 +39,30 @@ if [ $TYPE = "IT" ]; then elif [ $TYPE = "Unit" ]; then FOLDER=build/reports/tests/testGplayDebugUnitTest else - FOLDER=build/reports/shot/verification/ + FOLDER=build/reports/shot/verification fi -if [ ! -e $FOLDER ]; then +if [ -e $FOLDER ]; then + upload $FOLDER +else echo "$TYPE test failed, but no output was generated. Maybe a preliminary stage failed." - curl -u $6:$7 \ - -X POST https://api.github.com/repos/nextcloud/android/issues/$5/comments \ + curl -u $GITHUB_USER:$GITHUB_PASSWORD \ + -X POST https://api.github.com/repos/nextcloud/android/issues/$PR/comments \ -d "{ \"body\" : \"$TYPE test failed, but no output was generated. Maybe a preliminary stage failed. \" }" - exit 1 -fi - -cd $FOLDER + if [ -e build/reports/androidTests/connected/flavors/GPLAY ] ; then + TYPE="IT" + upload "build/reports/androidTests/connected/flavors/GPLAY" + fi -find . -type d -exec curl -u $USER:$PASS -X MKCOL $URL/$REMOTE_FOLDER/$(echo {} | sed s#\./##) \; -find . -type f -exec curl -u $USER:$PASS -X PUT $URL/$REMOTE_FOLDER/$(echo {} | sed s#\./##) --upload-file {} \; + if [ -e build/reports/tests/testGplayDebugUnitTest ] ; then + TYPE="Unit" + upload "build/reports/tests/testGplayDebugUnitTest" + fi -echo "Uploaded failing tests to https://www.kaminsky.me/nc-dev/android-integrationTests/$REMOTE_FOLDER" - -curl -u $6:$7 -X POST https://api.github.com/repos/nextcloud/android/issues/$5/comments \ --d "{ \"body\" : \"$TYPE test failed: https://www.kaminsky.me/nc-dev/android-integrationTests/$REMOTE_FOLDER \" }" - -exit 1 + if [ -e build/reports/shot/verification ] ; then + TYPE="Screenshot" + upload "build/reports/shot/verification" + fi +fi From af93382c66839cd8591058f4cd6baa7fe142bbec Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Fri, 14 Feb 2020 08:46:08 +0100 Subject: [PATCH 4/5] test Signed-off-by: tobiasKaminsky --- .../java/com/nextcloud/client/FileDisplayActivityIT.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/androidTest/java/com/nextcloud/client/FileDisplayActivityIT.java b/src/androidTest/java/com/nextcloud/client/FileDisplayActivityIT.java index 5e1328c24313..aeb40fb4d800 100644 --- a/src/androidTest/java/com/nextcloud/client/FileDisplayActivityIT.java +++ b/src/androidTest/java/com/nextcloud/client/FileDisplayActivityIT.java @@ -81,7 +81,7 @@ public void drawer() { @Test public void showShares() { - assertTrue(new CreateFolderRemoteOperation("/shareToAdmin/", true).execute(client).isSuccess()); + assertTrue(new CreateFolderRemoteOperation("/shareToAdmin/", false).execute(client).isSuccess()); assertTrue(new CreateFolderRemoteOperation("/shareToGroup/", true).execute(client).isSuccess()); assertTrue(new CreateFolderRemoteOperation("/shareViaLink/", true).execute(client).isSuccess()); assertTrue(new CreateFolderRemoteOperation("/noShare/", true).execute(client).isSuccess()); From 61027524f7496b8a938765a6d837a9a1e8f8ee87 Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Fri, 14 Feb 2020 13:01:21 +0100 Subject: [PATCH 5/5] test Signed-off-by: tobiasKaminsky --- .../client/FileDisplayActivityIT.java | 4 +++- .../java/com/owncloud/android/AbstractIT.java | 22 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/androidTest/java/com/nextcloud/client/FileDisplayActivityIT.java b/src/androidTest/java/com/nextcloud/client/FileDisplayActivityIT.java index aeb40fb4d800..1bf97dd178fd 100644 --- a/src/androidTest/java/com/nextcloud/client/FileDisplayActivityIT.java +++ b/src/androidTest/java/com/nextcloud/client/FileDisplayActivityIT.java @@ -29,6 +29,7 @@ import com.owncloud.android.AbstractIT; import com.owncloud.android.R; import com.owncloud.android.lib.resources.files.CreateFolderRemoteOperation; +import com.owncloud.android.lib.resources.files.ExistenceCheckRemoteOperation; import com.owncloud.android.lib.resources.files.SearchRemoteOperation; import com.owncloud.android.lib.resources.shares.CreateShareRemoteOperation; import com.owncloud.android.lib.resources.shares.OCShare; @@ -81,7 +82,8 @@ public void drawer() { @Test public void showShares() { - assertTrue(new CreateFolderRemoteOperation("/shareToAdmin/", false).execute(client).isSuccess()); + assertTrue(new ExistenceCheckRemoteOperation("/shareToAdmin/", true).execute(client).isSuccess()); + assertTrue(new CreateFolderRemoteOperation("/shareToAdmin/", true).execute(client).isSuccess()); assertTrue(new CreateFolderRemoteOperation("/shareToGroup/", true).execute(client).isSuccess()); assertTrue(new CreateFolderRemoteOperation("/shareViaLink/", true).execute(client).isSuccess()); assertTrue(new CreateFolderRemoteOperation("/noShare/", true).execute(client).isSuccess()); diff --git a/src/androidTest/java/com/owncloud/android/AbstractIT.java b/src/androidTest/java/com/owncloud/android/AbstractIT.java index c47da86dd1a3..01350775745e 100644 --- a/src/androidTest/java/com/owncloud/android/AbstractIT.java +++ b/src/androidTest/java/com/owncloud/android/AbstractIT.java @@ -17,11 +17,16 @@ import com.owncloud.android.lib.common.OwnCloudClient; import com.owncloud.android.lib.common.OwnCloudClientFactory; import com.owncloud.android.lib.common.accounts.AccountUtils; +import com.owncloud.android.lib.common.operations.RemoteOperationResult; +import com.owncloud.android.lib.resources.files.ReadFolderRemoteOperation; +import com.owncloud.android.lib.resources.files.RemoveFileRemoteOperation; +import com.owncloud.android.lib.resources.files.model.RemoteFile; import com.owncloud.android.utils.FileStorageUtils; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.methods.GetMethod; import org.apache.commons.io.FileUtils; +import org.junit.After; import org.junit.Assert; import org.junit.BeforeClass; import org.junit.runner.RunWith; @@ -39,6 +44,7 @@ import static androidx.test.InstrumentationRegistry.getInstrumentation; import static androidx.test.espresso.Espresso.onView; import static androidx.test.espresso.matcher.ViewMatchers.withId; +import static org.junit.Assert.assertTrue; /** @@ -97,6 +103,22 @@ public static void beforeAll() { } } + @After + public void after() { + RemoteOperationResult result = new ReadFolderRemoteOperation("/").execute(client); + assertTrue(result.getLogMessage(), result.isSuccess()); + + for (Object object : result.getData()) { + RemoteFile remoteFile = (RemoteFile) object; + + if (!remoteFile.getRemotePath().equals("/")) { + assertTrue(new RemoveFileRemoteOperation(remoteFile.getRemotePath()) + .execute(client).isSuccess()); + } + } + } + + FileDataStorageManager getStorageManager() { return new FileDataStorageManager(account, targetContext.getContentResolver()); }