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