1 /* ownCloud Android client application
2 * Copyright (C) 2012-2013 ownCloud Inc.
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2,
6 * as published by the Free Software Foundation.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 package com.owncloud.android.oc_framework_test_project.test;
20 import com.owncloud.android.oc_framework.operations.RemoteOperationResult;
21 import com.owncloud.android.oc_framework.operations.RemoteOperationResult.ResultCode;
22 import com.owncloud.android.oc_framework_test_project.TestActivity;
24 import android.test.ActivityInstrumentationTestCase2;
27 * Class to test Rename File Operation
32 public class RenameFileTest extends ActivityInstrumentationTestCase2<TestActivity> {
34 /* Folder data to rename. This folder must exist on the account */
35 private final String mOldFolderName = "folderToRename";
36 private final String mOldFolderPath = "/folderToRename";
37 private final String mNewFolderName = "renamedFolder";
38 private final String mNewFolderPath = "/renamedFolder";
40 /* File data to rename. This file must exist on the account */
41 private final String mOldFileName = "fileToRename.png";
42 private final String mOldFilePath = "/fileToRename.png";
43 private final String mNewFileName = "renamedFile";
44 private final String mFileExtension = ".png";
45 private final String mNewFilePath ="/renamedFile.png";
48 private TestActivity mActivity;
50 public RenameFileTest() {
51 super(TestActivity.class);
56 protected void setUp() throws Exception {
58 setActivityInitialTouchMode(false);
59 mActivity = getActivity();
65 public void testRenameFolder() {
67 RemoteOperationResult result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
68 mNewFolderName, true);
69 assertTrue(result.isSuccess());
73 * Test Rename Folder with forbidden characters : \ < > : " | ? *
75 public void testRenameFolderForbiddenChars() {
77 RemoteOperationResult result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
78 mNewFolderName + "\\", true);
79 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
81 result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
82 mNewFolderName + "<", true);
83 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
85 result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
86 mNewFolderName + ">", true);
87 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
89 result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
90 mNewFolderName + ":", true);
91 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
93 result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
94 mNewFolderName + "\"", true);
95 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
97 result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
98 mNewFolderName + "|", true);
99 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
101 result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
102 mNewFolderName + "?", true);
103 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
105 result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
106 mNewFolderName + "*", true);
107 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
113 public void testRenameFile() {
114 RemoteOperationResult result = mActivity.renameFile(mOldFileName, mOldFilePath,
115 mNewFileName + mFileExtension, false);
116 assertTrue(result.isSuccess());
121 * Test Rename Folder with forbidden characters: \ < > : " | ? *
123 public void testRenameFileForbiddenChars() {
124 RemoteOperationResult result = mActivity.renameFile(mOldFileName, mOldFilePath,
125 mNewFileName + "\\" + mFileExtension, false);
126 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
128 result = mActivity.renameFile(mOldFileName, mOldFilePath,
129 mNewFileName + "<" + mFileExtension, false);
130 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
132 result = mActivity.renameFile(mOldFileName, mOldFilePath,
133 mNewFileName + ">" + mFileExtension, false);
134 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
136 result = mActivity.renameFile(mOldFileName, mOldFilePath,
137 mNewFileName + ":" + mFileExtension, false);
138 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
140 result = mActivity.renameFile(mOldFileName, mOldFilePath,
141 mNewFileName + "\"" + mFileExtension, false);
142 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
144 result = mActivity.renameFile(mOldFileName, mOldFilePath,
145 mNewFileName + "|" + mFileExtension, false);
146 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
148 result = mActivity.renameFile(mOldFileName, mOldFilePath,
149 mNewFileName + "?" + mFileExtension, false);
150 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
152 result = mActivity.renameFile(mOldFileName, mOldFilePath,
153 mNewFileName + "*" + mFileExtension, false);
154 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
160 * Restore initial conditions
162 public void testRestoreInitialConditions() {
163 RemoteOperationResult result = mActivity.renameFile(mNewFolderName, mNewFolderPath, mOldFolderName, true);
164 assertTrue(result.isSuccess());
166 result = mActivity.renameFile(mNewFileName + mFileExtension, mNewFilePath, mOldFileName, false);
167 assertTrue(result.isSuccess());