7de35535b92d5570824dd07aa334aa0d89fa43af
[pub/Android/ownCloud.git] /
1 /* ownCloud Android client application
2 * Copyright (C) 2012-2013 ownCloud Inc.
3 *
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.
7 *
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.
12 *
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/>.
15 *
16 */
17
18 package com.owncloud.android.oc_framework_test_project.test;
19
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;
23
24 import android.test.ActivityInstrumentationTestCase2;
25
26 /**
27 * Class to test Rename File Operation
28 * @author masensio
29 *
30 */
31
32 public class RenameFileTest extends ActivityInstrumentationTestCase2<TestActivity> {
33
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";
39
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";
46
47
48 private TestActivity mActivity;
49
50 public RenameFileTest() {
51 super(TestActivity.class);
52
53 }
54
55 @Override
56 protected void setUp() throws Exception {
57 super.setUp();
58 setActivityInitialTouchMode(false);
59 mActivity = getActivity();
60 }
61
62 /**
63 * Test Rename Folder
64 */
65 public void testRenameFolder() {
66
67 RemoteOperationResult result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
68 mNewFolderName, true);
69 assertTrue(result.isSuccess());
70 }
71
72 /**
73 * Test Rename Folder with forbidden characters : \ < > : " | ? *
74 */
75 public void testRenameFolderForbiddenChars() {
76
77 RemoteOperationResult result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
78 mNewFolderName + "\\", true);
79 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
80
81 result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
82 mNewFolderName + "<", true);
83 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
84
85 result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
86 mNewFolderName + ">", true);
87 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
88
89 result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
90 mNewFolderName + ":", true);
91 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
92
93 result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
94 mNewFolderName + "\"", true);
95 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
96
97 result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
98 mNewFolderName + "|", true);
99 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
100
101 result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
102 mNewFolderName + "?", true);
103 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
104
105 result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
106 mNewFolderName + "*", true);
107 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
108 }
109
110 /**
111 * Test Rename File
112 */
113 public void testRenameFile() {
114 RemoteOperationResult result = mActivity.renameFile(mOldFileName, mOldFilePath,
115 mNewFileName + mFileExtension, false);
116 assertTrue(result.isSuccess());
117 }
118
119
120 /**
121 * Test Rename Folder with forbidden characters: \ < > : " | ? *
122 */
123 public void testRenameFileForbiddenChars() {
124 RemoteOperationResult result = mActivity.renameFile(mOldFileName, mOldFilePath,
125 mNewFileName + "\\" + mFileExtension, false);
126 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
127
128 result = mActivity.renameFile(mOldFileName, mOldFilePath,
129 mNewFileName + "<" + mFileExtension, false);
130 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
131
132 result = mActivity.renameFile(mOldFileName, mOldFilePath,
133 mNewFileName + ">" + mFileExtension, false);
134 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
135
136 result = mActivity.renameFile(mOldFileName, mOldFilePath,
137 mNewFileName + ":" + mFileExtension, false);
138 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
139
140 result = mActivity.renameFile(mOldFileName, mOldFilePath,
141 mNewFileName + "\"" + mFileExtension, false);
142 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
143
144 result = mActivity.renameFile(mOldFileName, mOldFilePath,
145 mNewFileName + "|" + mFileExtension, false);
146 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
147
148 result = mActivity.renameFile(mOldFileName, mOldFilePath,
149 mNewFileName + "?" + mFileExtension, false);
150 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
151
152 result = mActivity.renameFile(mOldFileName, mOldFilePath,
153 mNewFileName + "*" + mFileExtension, false);
154 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
155
156 }
157
158
159 /**
160 * Restore initial conditions
161 */
162 public void testRestoreInitialConditions() {
163 RemoteOperationResult result = mActivity.renameFile(mNewFolderName, mNewFolderPath, mOldFolderName, true);
164 assertTrue(result.isSuccess());
165
166 result = mActivity.renameFile(mNewFileName + mFileExtension, mNewFilePath, mOldFileName, false);
167 assertTrue(result.isSuccess());
168 }
169
170 }