fe30550bd96895570732f12c39185d36f21f7125
[pub/Android/ownCloud.git] /
1 package com.owncloud.android.oc_framework_test_project.test;
2
3 import com.owncloud.android.oc_framework.operations.RemoteOperationResult;
4 import com.owncloud.android.oc_framework.operations.RemoteOperationResult.ResultCode;
5 import com.owncloud.android.oc_framework_test_project.TestActivity;
6
7 import android.test.ActivityInstrumentationTestCase2;
8
9 public class RenameFileTest extends ActivityInstrumentationTestCase2<TestActivity> {
10
11 /* Folder data to rename. This folder must exist on the account */
12 private final String mOldFolderName = "folderToRename";
13 private final String mOldFolderPath = "/folderToRename";
14 private final String mNewFolderName = "renamedFolder";
15 private final String mNewFolderPath = "/renamedFolder";
16
17 /* File data to rename. This file must exist on the account */
18 private final String mOldFileName = "fileToRename.png";
19 private final String mOldFilePath = "/fileToRename.png";
20 private final String mNewFileName = "renamedFile";
21 private final String mFileExtension = ".png";
22 private final String mNewFilePath ="/renamedFile.png";
23
24
25 private TestActivity mActivity;
26
27 public RenameFileTest() {
28 super(TestActivity.class);
29
30 }
31
32 @Override
33 protected void setUp() throws Exception {
34 super.setUp();
35 setActivityInitialTouchMode(false);
36 mActivity = getActivity();
37 }
38
39 /**
40 * Test Rename Folder
41 */
42 public void testRenameFolder() {
43
44 RemoteOperationResult result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
45 mNewFolderName, true);
46 assertTrue(result.isSuccess());
47 }
48
49 /**
50 * Test Rename Folder with forbidden characters : \ < > : " | ? *
51 */
52 public void testRenameFolderForbiddenChars() {
53
54 RemoteOperationResult result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
55 mNewFolderName + "\\", true);
56 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
57
58 result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
59 mNewFolderName + "<", true);
60 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
61
62 result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
63 mNewFolderName + ">", true);
64 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
65
66 result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
67 mNewFolderName + ":", true);
68 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
69
70 result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
71 mNewFolderName + "\"", true);
72 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
73
74 result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
75 mNewFolderName + "|", true);
76 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
77
78 result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
79 mNewFolderName + "?", true);
80 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
81
82 result = mActivity.renameFile(mOldFolderName, mOldFolderPath,
83 mNewFolderName + "*", true);
84 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
85 }
86
87 /**
88 * Test Rename File
89 */
90 public void testRenameFile() {
91 RemoteOperationResult result = mActivity.renameFile(mOldFileName, mOldFilePath,
92 mNewFileName + mFileExtension, false);
93 assertTrue(result.isSuccess());
94 }
95
96
97 /**
98 * Test Rename Folder with forbidden characters: \ < > : " | ? *
99 */
100 public void testRenameFileForbiddenChars() {
101 RemoteOperationResult result = mActivity.renameFile(mOldFileName, mOldFilePath,
102 mNewFileName + "\\" + mFileExtension, false);
103 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
104
105 result = mActivity.renameFile(mOldFileName, mOldFilePath,
106 mNewFileName + "<" + mFileExtension, false);
107 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
108
109 result = mActivity.renameFile(mOldFileName, mOldFilePath,
110 mNewFileName + ">" + mFileExtension, false);
111 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
112
113 result = mActivity.renameFile(mOldFileName, mOldFilePath,
114 mNewFileName + ":" + mFileExtension, false);
115 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
116
117 result = mActivity.renameFile(mOldFileName, mOldFilePath,
118 mNewFileName + "\"" + mFileExtension, false);
119 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
120
121 result = mActivity.renameFile(mOldFileName, mOldFilePath,
122 mNewFileName + "|" + mFileExtension, false);
123 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
124
125 result = mActivity.renameFile(mOldFileName, mOldFilePath,
126 mNewFileName + "?" + mFileExtension, false);
127 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
128
129 result = mActivity.renameFile(mOldFileName, mOldFilePath,
130 mNewFileName + "*" + mFileExtension, false);
131 assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
132
133 }
134
135
136 /**
137 * Restore initial conditions
138 */
139 public void testRestoreInitialConditions() {
140 RemoteOperationResult result = mActivity.renameFile(mNewFolderName, mNewFolderPath, mOldFolderName, true);
141 assertTrue(result.isSuccess());
142
143 result = mActivity.renameFile(mNewFileName + mFileExtension, mNewFilePath, mOldFileName, false);
144 assertTrue(result.isSuccess());
145 }
146
147 }