Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(424)

Side by Side Diff: chrome/android/javatests/src/org/chromium/chrome/browser/provider/ProviderBookmarksUriTest.java

Issue 2876273004: Convert Provider tests to JUnit4 (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.provider; 5 package org.chromium.chrome.browser.provider;
6 6
7 import android.content.ContentValues; 7 import android.content.ContentValues;
8 import android.database.Cursor; 8 import android.database.Cursor;
9 import android.net.Uri; 9 import android.net.Uri;
10 import android.support.test.filters.MediumTest; 10 import android.support.test.filters.MediumTest;
11 11
12 import org.junit.After;
13 import org.junit.Assert;
14 import org.junit.Before;
15 import org.junit.Rule;
16 import org.junit.Test;
17 import org.junit.runner.RunWith;
18
19 import org.chromium.base.test.util.CommandLineFlags;
12 import org.chromium.base.test.util.Feature; 20 import org.chromium.base.test.util.Feature;
13 import org.chromium.base.test.util.RetryOnFailure; 21 import org.chromium.base.test.util.RetryOnFailure;
22 import org.chromium.chrome.browser.ChromeSwitches;
23 import org.chromium.chrome.test.ChromeActivityTestRule;
24 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
14 25
15 import java.util.Arrays; 26 import java.util.Arrays;
16 import java.util.Date; 27 import java.util.Date;
17 28
18 /** 29 /**
19 * Tests the use of the Bookmark URI as part of the Android provider public API. 30 * Tests the use of the Bookmark URI as part of the Android provider public API.
20 */ 31 */
21 public class ProviderBookmarksUriTest extends ProviderTestBase { 32 @RunWith(ChromeJUnit4ClassRunner.class)
33 @CommandLineFlags.Add({
34 ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE,
35 ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG,
36 })
37 public class ProviderBookmarksUriTest {
38 @Rule
39 public ProviderTestRule mProviderTestRule = new ProviderTestRule();
40
22 private static final String TAG = "ProviderBookmarkUriTest"; 41 private static final String TAG = "ProviderBookmarkUriTest";
23 private static final byte[] FAVICON_DATA = { 1, 2, 3 }; 42 private static final byte[] FAVICON_DATA = { 1, 2, 3 };
24 43
25 private Uri mBookmarksUri; 44 private Uri mBookmarksUri;
26 45
27 @Override 46 @Before
28 protected void setUp() throws Exception { 47 public void setUp() throws Exception {
29 super.setUp(); 48 mBookmarksUri = ChromeBrowserProvider.getBookmarksApiUri(mProviderTestRu le.getActivity());
30 mBookmarksUri = ChromeBrowserProvider.getBookmarksApiUri(getActivity()); 49 mProviderTestRule.getContentResolver().delete(mBookmarksUri, null, null) ;
31 getContentResolver().delete(mBookmarksUri, null, null);
32 } 50 }
33 51
34 @Override 52 @After
35 protected void tearDown() throws Exception { 53 public void tearDown() throws Exception {
36 getContentResolver().delete(mBookmarksUri, null, null); 54 mProviderTestRule.getContentResolver().delete(mBookmarksUri, null, null) ;
37 super.tearDown();
38 } 55 }
39 56
40 private Uri addBookmark(String url, String title, long lastVisitTime, long c reated, int visits, 57 private Uri addBookmark(String url, String title, long lastVisitTime, long c reated, int visits,
41 byte[] icon, int isBookmark) { 58 byte[] icon, int isBookmark) {
42 ContentValues values = new ContentValues(); 59 ContentValues values = new ContentValues();
43 values.put(BookmarkColumns.BOOKMARK, isBookmark); 60 values.put(BookmarkColumns.BOOKMARK, isBookmark);
44 values.put(BookmarkColumns.DATE, lastVisitTime); 61 values.put(BookmarkColumns.DATE, lastVisitTime);
45 values.put(BookmarkColumns.CREATED, created); 62 values.put(BookmarkColumns.CREATED, created);
46 values.put(BookmarkColumns.FAVICON, icon); 63 values.put(BookmarkColumns.FAVICON, icon);
47 values.put(BookmarkColumns.URL, url); 64 values.put(BookmarkColumns.URL, url);
48 values.put(BookmarkColumns.VISITS, visits); 65 values.put(BookmarkColumns.VISITS, visits);
49 values.put(BookmarkColumns.TITLE, title); 66 values.put(BookmarkColumns.TITLE, title);
50 return getContentResolver().insert(mBookmarksUri, values); 67 return mProviderTestRule.getContentResolver().insert(mBookmarksUri, valu es);
51 } 68 }
52 69
70 @Test
53 @MediumTest 71 @MediumTest
54 @Feature({"Android-ContentProvider"}) 72 @Feature({"Android-ContentProvider"})
55 public void testAddBookmark() { 73 public void testAddBookmark() {
56 final long lastUpdateTime = System.currentTimeMillis(); 74 final long lastUpdateTime = System.currentTimeMillis();
57 final long createdTime = lastUpdateTime - 1000 * 60 * 60; 75 final long createdTime = lastUpdateTime - 1000 * 60 * 60;
58 final String url = "http://www.google.com/"; 76 final String url = "http://www.google.com/";
59 final int visits = 2; 77 final int visits = 2;
60 final String title = "Google"; 78 final String title = "Google";
61 ContentValues values = new ContentValues(); 79 ContentValues values = new ContentValues();
62 values.put(BookmarkColumns.BOOKMARK, 0); 80 values.put(BookmarkColumns.BOOKMARK, 0);
63 values.put(BookmarkColumns.DATE, lastUpdateTime); 81 values.put(BookmarkColumns.DATE, lastUpdateTime);
64 values.put(BookmarkColumns.CREATED, createdTime); 82 values.put(BookmarkColumns.CREATED, createdTime);
65 values.put(BookmarkColumns.FAVICON, FAVICON_DATA); 83 values.put(BookmarkColumns.FAVICON, FAVICON_DATA);
66 values.put(BookmarkColumns.URL, url); 84 values.put(BookmarkColumns.URL, url);
67 values.put(BookmarkColumns.VISITS, visits); 85 values.put(BookmarkColumns.VISITS, visits);
68 values.put(BookmarkColumns.TITLE, title); 86 values.put(BookmarkColumns.TITLE, title);
69 Uri uri = getContentResolver().insert(mBookmarksUri, values); 87 Uri uri = mProviderTestRule.getContentResolver().insert(mBookmarksUri, v alues);
70 Cursor cursor = getContentResolver().query(uri, null, null, null, null); 88 Cursor cursor = mProviderTestRule.getContentResolver().query(uri, null, null, null, null);
71 assertEquals(1, cursor.getCount()); 89 Assert.assertEquals(1, cursor.getCount());
72 assertTrue(cursor.moveToNext()); 90 Assert.assertTrue(cursor.moveToNext());
73 int index = cursor.getColumnIndex(BookmarkColumns.BOOKMARK); 91 int index = cursor.getColumnIndex(BookmarkColumns.BOOKMARK);
74 assertTrue(-1 != index); 92 Assert.assertTrue(-1 != index);
75 assertEquals(0, cursor.getInt(index)); 93 Assert.assertEquals(0, cursor.getInt(index));
76 index = cursor.getColumnIndex(BookmarkColumns.CREATED); 94 index = cursor.getColumnIndex(BookmarkColumns.CREATED);
77 assertTrue(-1 != index); 95 Assert.assertTrue(-1 != index);
78 assertEquals(createdTime, cursor.getLong(index)); 96 Assert.assertEquals(createdTime, cursor.getLong(index));
79 index = cursor.getColumnIndex(BookmarkColumns.DATE); 97 index = cursor.getColumnIndex(BookmarkColumns.DATE);
80 assertTrue(-1 != index); 98 Assert.assertTrue(-1 != index);
81 assertEquals(lastUpdateTime, cursor.getLong(index)); 99 Assert.assertEquals(lastUpdateTime, cursor.getLong(index));
82 index = cursor.getColumnIndex(BookmarkColumns.FAVICON); 100 index = cursor.getColumnIndex(BookmarkColumns.FAVICON);
83 assertTrue(-1 != index); 101 Assert.assertTrue(-1 != index);
84 assertTrue(byteArraysEqual(FAVICON_DATA, cursor.getBlob(index))); 102 Assert.assertTrue(byteArraysEqual(FAVICON_DATA, cursor.getBlob(index)));
85 index = cursor.getColumnIndex(BookmarkColumns.URL); 103 index = cursor.getColumnIndex(BookmarkColumns.URL);
86 assertTrue(-1 != index); 104 Assert.assertTrue(-1 != index);
87 assertEquals(url, cursor.getString(index)); 105 Assert.assertEquals(url, cursor.getString(index));
88 index = cursor.getColumnIndex(BookmarkColumns.VISITS); 106 index = cursor.getColumnIndex(BookmarkColumns.VISITS);
89 assertTrue(-1 != index); 107 Assert.assertTrue(-1 != index);
90 assertEquals(visits, cursor.getInt(index)); 108 Assert.assertEquals(visits, cursor.getInt(index));
91 } 109 }
92 110
111 @Test
93 @MediumTest 112 @MediumTest
94 @Feature({"Android-ContentProvider"}) 113 @Feature({"Android-ContentProvider"})
95 @RetryOnFailure 114 @RetryOnFailure
96 public void testQueryBookmark() { 115 public void testQueryBookmark() {
97 final long now = System.currentTimeMillis(); 116 final long now = System.currentTimeMillis();
98 final long lastUpdateTime[] = { now, now - 1000 * 60 }; 117 final long lastUpdateTime[] = { now, now - 1000 * 60 };
99 final long createdTime[] = { now - 1000 * 60 * 60, now - 1000 * 60 * 60 * 60 }; 118 final long createdTime[] = { now - 1000 * 60 * 60, now - 1000 * 60 * 60 * 60 };
100 final String url[] = { "http://www.google.com/", "http://mail.google.com /" }; 119 final String url[] = { "http://www.google.com/", "http://mail.google.com /" };
101 final int visits[] = { 2, 20 }; 120 final int visits[] = { 2, 20 };
102 final String title[] = { "Google", "Mail" }; 121 final String title[] = { "Google", "Mail" };
103 final int isBookmark[] = { 1, 0 }; 122 final int isBookmark[] = { 1, 0 };
104 Uri[] uris = new Uri[2]; 123 Uri[] uris = new Uri[2];
105 byte[][] icons = { FAVICON_DATA, null }; 124 byte[][] icons = { FAVICON_DATA, null };
106 for (int i = 0; i < uris.length; i++) { 125 for (int i = 0; i < uris.length; i++) {
107 uris[i] = addBookmark(url[i], title[i], lastUpdateTime[i], createdTi me[i], visits[i], 126 uris[i] = addBookmark(url[i], title[i], lastUpdateTime[i], createdTi me[i], visits[i],
108 icons[i], isBookmark[i]); 127 icons[i], isBookmark[i]);
109 assertNotNull(uris[i]); 128 Assert.assertNotNull(uris[i]);
110 } 129 }
111 130
112 // Query the 1st row. 131 // Query the 1st row.
113 String[] selectionArgs = { url[0], String.valueOf(lastUpdateTime[0]), 132 String[] selectionArgs = { url[0], String.valueOf(lastUpdateTime[0]),
114 String.valueOf(visits[0]), String.valueOf(isBookmark[0]) }; 133 String.valueOf(visits[0]), String.valueOf(isBookmark[0]) };
115 Cursor cursor = getContentResolver().query(mBookmarksUri, null, 134 Cursor cursor = mProviderTestRule.getContentResolver().query(mBookmarksU ri, null,
116 BookmarkColumns.URL + " = ? AND " + BookmarkColumns.DATE + " = ? AND " 135 BookmarkColumns.URL + " = ? AND " + BookmarkColumns.DATE + " = ? AND "
117 + BookmarkColumns.VISITS + " = ? AND " + BookmarkColumns.BOOKMAR K + " = ? AND " 136 + BookmarkColumns.VISITS + " = ? AND " + BookmarkColumns .BOOKMARK
118 + BookmarkColumns.FAVICON + " IS NOT NULL", 137 + " = ? AND " + BookmarkColumns.FAVICON + " IS NOT NULL" ,
119 selectionArgs, null); 138 selectionArgs, null);
120 assertNotNull(cursor); 139 Assert.assertNotNull(cursor);
121 assertEquals(1, cursor.getCount()); 140 Assert.assertEquals(1, cursor.getCount());
122 assertTrue(cursor.moveToNext()); 141 Assert.assertTrue(cursor.moveToNext());
123 int index = cursor.getColumnIndex(BookmarkColumns.BOOKMARK); 142 int index = cursor.getColumnIndex(BookmarkColumns.BOOKMARK);
124 assertTrue(-1 != index); 143 Assert.assertTrue(-1 != index);
125 assertEquals(isBookmark[0], cursor.getInt(index)); 144 Assert.assertEquals(isBookmark[0], cursor.getInt(index));
126 index = cursor.getColumnIndex(BookmarkColumns.CREATED); 145 index = cursor.getColumnIndex(BookmarkColumns.CREATED);
127 assertTrue(-1 != index); 146 Assert.assertTrue(-1 != index);
128 assertEquals(createdTime[0], cursor.getLong(index)); 147 Assert.assertEquals(createdTime[0], cursor.getLong(index));
129 index = cursor.getColumnIndex(BookmarkColumns.DATE); 148 index = cursor.getColumnIndex(BookmarkColumns.DATE);
130 assertTrue(-1 != index); 149 Assert.assertTrue(-1 != index);
131 assertEquals(lastUpdateTime[0], cursor.getLong(index)); 150 Assert.assertEquals(lastUpdateTime[0], cursor.getLong(index));
132 index = cursor.getColumnIndex(BookmarkColumns.FAVICON); 151 index = cursor.getColumnIndex(BookmarkColumns.FAVICON);
133 assertTrue(-1 != index); 152 Assert.assertTrue(-1 != index);
134 assertTrue(byteArraysEqual(icons[0], cursor.getBlob(index))); 153 Assert.assertTrue(byteArraysEqual(icons[0], cursor.getBlob(index)));
135 index = cursor.getColumnIndex(BookmarkColumns.URL); 154 index = cursor.getColumnIndex(BookmarkColumns.URL);
136 assertTrue(-1 != index); 155 Assert.assertTrue(-1 != index);
137 assertEquals(url[0], cursor.getString(index)); 156 Assert.assertEquals(url[0], cursor.getString(index));
138 index = cursor.getColumnIndex(BookmarkColumns.VISITS); 157 index = cursor.getColumnIndex(BookmarkColumns.VISITS);
139 assertTrue(-1 != index); 158 Assert.assertTrue(-1 != index);
140 assertEquals(visits[0], cursor.getInt(index)); 159 Assert.assertEquals(visits[0], cursor.getInt(index));
141 160
142 // Query the 2nd row. 161 // Query the 2nd row.
143 String[] selectionArgs2 = { url[1], String.valueOf(lastUpdateTime[1]), 162 String[] selectionArgs2 = { url[1], String.valueOf(lastUpdateTime[1]),
144 String.valueOf(visits[1]), String.valueOf(isBookmark[1]) }; 163 String.valueOf(visits[1]), String.valueOf(isBookmark[1]) };
145 cursor = getContentResolver().query(mBookmarksUri, null, 164 cursor = mProviderTestRule.getContentResolver().query(mBookmarksUri, nul l,
146 BookmarkColumns.URL + " = ? AND " + BookmarkColumns.DATE + " = ? AND " 165 BookmarkColumns.URL + " = ? AND " + BookmarkColumns.DATE + " = ? AND "
147 + BookmarkColumns.VISITS + " = ? AND " + BookmarkColumns.BOOKMAR K + " = ? AND " 166 + BookmarkColumns.VISITS + " = ? AND " + BookmarkColumns .BOOKMARK
148 + BookmarkColumns.FAVICON + " IS NULL", 167 + " = ? AND " + BookmarkColumns.FAVICON + " IS NULL",
149 selectionArgs2, null); 168 selectionArgs2, null);
150 assertNotNull(cursor); 169 Assert.assertNotNull(cursor);
151 assertEquals(1, cursor.getCount()); 170 Assert.assertEquals(1, cursor.getCount());
152 assertTrue(cursor.moveToNext()); 171 Assert.assertTrue(cursor.moveToNext());
153 index = cursor.getColumnIndex(BookmarkColumns.BOOKMARK); 172 index = cursor.getColumnIndex(BookmarkColumns.BOOKMARK);
154 assertTrue(-1 != index); 173 Assert.assertTrue(-1 != index);
155 assertEquals(isBookmark[1], cursor.getInt(index)); 174 Assert.assertEquals(isBookmark[1], cursor.getInt(index));
156 index = cursor.getColumnIndex(BookmarkColumns.CREATED); 175 index = cursor.getColumnIndex(BookmarkColumns.CREATED);
157 assertTrue(-1 != index); 176 Assert.assertTrue(-1 != index);
158 assertEquals(createdTime[1], cursor.getLong(index)); 177 Assert.assertEquals(createdTime[1], cursor.getLong(index));
159 index = cursor.getColumnIndex(BookmarkColumns.DATE); 178 index = cursor.getColumnIndex(BookmarkColumns.DATE);
160 assertTrue(-1 != index); 179 Assert.assertTrue(-1 != index);
161 assertEquals(lastUpdateTime[1], cursor.getLong(index)); 180 Assert.assertEquals(lastUpdateTime[1], cursor.getLong(index));
162 index = cursor.getColumnIndex(BookmarkColumns.FAVICON); 181 index = cursor.getColumnIndex(BookmarkColumns.FAVICON);
163 assertTrue(-1 != index); 182 Assert.assertTrue(-1 != index);
164 assertTrue(byteArraysEqual(icons[1], cursor.getBlob(index))); 183 Assert.assertTrue(byteArraysEqual(icons[1], cursor.getBlob(index)));
165 index = cursor.getColumnIndex(BookmarkColumns.URL); 184 index = cursor.getColumnIndex(BookmarkColumns.URL);
166 assertTrue(-1 != index); 185 Assert.assertTrue(-1 != index);
167 assertEquals(url[1], cursor.getString(index)); 186 Assert.assertEquals(url[1], cursor.getString(index));
168 index = cursor.getColumnIndex(BookmarkColumns.VISITS); 187 index = cursor.getColumnIndex(BookmarkColumns.VISITS);
169 assertTrue(-1 != index); 188 Assert.assertTrue(-1 != index);
170 assertEquals(visits[1], cursor.getInt(index)); 189 Assert.assertEquals(visits[1], cursor.getInt(index));
171 } 190 }
172 191
192 @Test
173 @MediumTest 193 @MediumTest
174 @Feature({"Android-ContentProvider"}) 194 @Feature({"Android-ContentProvider"})
175 @RetryOnFailure 195 @RetryOnFailure
176 public void testUpdateBookmark() { 196 public void testUpdateBookmark() {
177 final long now = System.currentTimeMillis(); 197 final long now = System.currentTimeMillis();
178 final long lastUpdateTime[] = { now, now - 1000 * 60 }; 198 final long lastUpdateTime[] = { now, now - 1000 * 60 };
179 final long createdTime[] = { now - 1000 * 60 * 60, now - 1000 * 60 * 60 * 60 }; 199 final long createdTime[] = { now - 1000 * 60 * 60, now - 1000 * 60 * 60 * 60 };
180 final String url[] = { "http://www.google.com/", "http://mail.google.com /" }; 200 final String url[] = { "http://www.google.com/", "http://mail.google.com /" };
181 final int visits[] = { 2, 20 }; 201 final int visits[] = { 2, 20 };
182 final String title[] = { "Google", "Mail" }; 202 final String title[] = { "Google", "Mail" };
183 final int isBookmark[] = { 1, 0 }; 203 final int isBookmark[] = { 1, 0 };
184 204
185 byte[][] icons = { FAVICON_DATA, null }; 205 byte[][] icons = { FAVICON_DATA, null };
186 Uri uri = addBookmark(url[0], title[0], lastUpdateTime[0], createdTime[0 ], visits[0], 206 Uri uri = addBookmark(url[0], title[0], lastUpdateTime[0], createdTime[0 ], visits[0],
187 icons[0], isBookmark[0]); 207 icons[0], isBookmark[0]);
188 assertNotNull(uri); 208 Assert.assertNotNull(uri);
189 209
190 ContentValues values = new ContentValues(); 210 ContentValues values = new ContentValues();
191 values.put(BookmarkColumns.BOOKMARK, isBookmark[1]); 211 values.put(BookmarkColumns.BOOKMARK, isBookmark[1]);
192 values.put(BookmarkColumns.DATE, lastUpdateTime[1]); 212 values.put(BookmarkColumns.DATE, lastUpdateTime[1]);
193 values.put(BookmarkColumns.URL, url[1]); 213 values.put(BookmarkColumns.URL, url[1]);
194 values.putNull(BookmarkColumns.FAVICON); 214 values.putNull(BookmarkColumns.FAVICON);
195 values.put(BookmarkColumns.TITLE, title[1]); 215 values.put(BookmarkColumns.TITLE, title[1]);
196 values.put(BookmarkColumns.VISITS, visits[1]); 216 values.put(BookmarkColumns.VISITS, visits[1]);
197 String[] selectionArgs = { String.valueOf(lastUpdateTime[0]), 217 String[] selectionArgs = { String.valueOf(lastUpdateTime[0]),
198 String.valueOf(isBookmark[0]) }; 218 String.valueOf(isBookmark[0]) };
199 getContentResolver().update(uri, values, BookmarkColumns.FAVICON + " IS NOT NULL AND " 219 mProviderTestRule.getContentResolver().update(uri, values,
200 + BookmarkColumns.DATE + "= ? AND " + BookmarkColumns.BOOKMARK + " = ?", 220 BookmarkColumns.FAVICON + " IS NOT NULL AND " + BookmarkColumns. DATE + "= ? AND "
221 + BookmarkColumns.BOOKMARK + " = ?",
201 selectionArgs); 222 selectionArgs);
202 Cursor cursor = getContentResolver().query(uri, null, null, null, null); 223 Cursor cursor = mProviderTestRule.getContentResolver().query(uri, null, null, null, null);
203 assertEquals(1, cursor.getCount()); 224 Assert.assertEquals(1, cursor.getCount());
204 assertTrue(cursor.moveToNext()); 225 Assert.assertTrue(cursor.moveToNext());
205 int index = cursor.getColumnIndex(BookmarkColumns.BOOKMARK); 226 int index = cursor.getColumnIndex(BookmarkColumns.BOOKMARK);
206 assertTrue(-1 != index); 227 Assert.assertTrue(-1 != index);
207 assertEquals(isBookmark[1], cursor.getInt(index)); 228 Assert.assertEquals(isBookmark[1], cursor.getInt(index));
208 index = cursor.getColumnIndex(BookmarkColumns.CREATED); 229 index = cursor.getColumnIndex(BookmarkColumns.CREATED);
209 assertTrue(-1 != index); 230 Assert.assertTrue(-1 != index);
210 assertEquals(createdTime[0], cursor.getLong(index)); 231 Assert.assertEquals(createdTime[0], cursor.getLong(index));
211 index = cursor.getColumnIndex(BookmarkColumns.DATE); 232 index = cursor.getColumnIndex(BookmarkColumns.DATE);
212 assertTrue(-1 != index); 233 Assert.assertTrue(-1 != index);
213 assertEquals(lastUpdateTime[1], cursor.getLong(index)); 234 Assert.assertEquals(lastUpdateTime[1], cursor.getLong(index));
214 index = cursor.getColumnIndex(BookmarkColumns.FAVICON); 235 index = cursor.getColumnIndex(BookmarkColumns.FAVICON);
215 assertTrue(-1 != index); 236 Assert.assertTrue(-1 != index);
216 assertTrue(byteArraysEqual(icons[1], cursor.getBlob(index))); 237 Assert.assertTrue(byteArraysEqual(icons[1], cursor.getBlob(index)));
217 index = cursor.getColumnIndex(BookmarkColumns.URL); 238 index = cursor.getColumnIndex(BookmarkColumns.URL);
218 assertTrue(-1 != index); 239 Assert.assertTrue(-1 != index);
219 assertEquals(url[1], cursor.getString(index)); 240 Assert.assertEquals(url[1], cursor.getString(index));
220 index = cursor.getColumnIndex(BookmarkColumns.VISITS); 241 index = cursor.getColumnIndex(BookmarkColumns.VISITS);
221 assertTrue(-1 != index); 242 Assert.assertTrue(-1 != index);
222 assertEquals(visits[1], cursor.getInt(index)); 243 Assert.assertEquals(visits[1], cursor.getInt(index));
223 } 244 }
224 245
246 @Test
225 @MediumTest 247 @MediumTest
226 @Feature({"Android-ContentProvider"}) 248 @Feature({"Android-ContentProvider"})
227 @RetryOnFailure 249 @RetryOnFailure
228 public void testDeleteBookmark() { 250 public void testDeleteBookmark() {
229 final long now = System.currentTimeMillis(); 251 final long now = System.currentTimeMillis();
230 final long lastUpdateTime[] = { now, now - 1000 * 60 }; 252 final long lastUpdateTime[] = { now, now - 1000 * 60 };
231 final long createdTime[] = { now - 1000 * 60 * 60, now - 1000 * 60 * 60 * 60 }; 253 final long createdTime[] = { now - 1000 * 60 * 60, now - 1000 * 60 * 60 * 60 };
232 final String url[] = { "http://www.google.com/", "http://mail.google.com /" }; 254 final String url[] = { "http://www.google.com/", "http://mail.google.com /" };
233 final int visits[] = { 2, 20 }; 255 final int visits[] = { 2, 20 };
234 final String title[] = { "Google", "Mail" }; 256 final String title[] = { "Google", "Mail" };
235 final int isBookmark[] = { 1, 0 }; 257 final int isBookmark[] = { 1, 0 };
236 Uri[] uris = new Uri[2]; 258 Uri[] uris = new Uri[2];
237 byte[][] icons = { FAVICON_DATA, null }; 259 byte[][] icons = { FAVICON_DATA, null };
238 for (int i = 0; i < uris.length; i++) { 260 for (int i = 0; i < uris.length; i++) {
239 uris[i] = addBookmark(url[i], title[i], lastUpdateTime[i], createdTi me[i], visits[i], 261 uris[i] = addBookmark(url[i], title[i], lastUpdateTime[i], createdTi me[i], visits[i],
240 icons[i], isBookmark[i]); 262 icons[i], isBookmark[i]);
241 assertNotNull(uris[i]); 263 Assert.assertNotNull(uris[i]);
242 } 264 }
243 265
244 String[] selectionArgs = { String.valueOf(lastUpdateTime[0]), 266 String[] selectionArgs = { String.valueOf(lastUpdateTime[0]),
245 String.valueOf(isBookmark[0]) }; 267 String.valueOf(isBookmark[0]) };
246 getContentResolver().delete(mBookmarksUri, BookmarkColumns.FAVICON + " IS NOT NULL AND " 268 mProviderTestRule.getContentResolver().delete(mBookmarksUri,
247 + BookmarkColumns.DATE + "= ? AND " + BookmarkColumns.BOOKMARK + " = ?", 269 BookmarkColumns.FAVICON + " IS NOT NULL AND " + BookmarkColumns. DATE + "= ? AND "
270 + BookmarkColumns.BOOKMARK + " = ?",
248 selectionArgs); 271 selectionArgs);
249 Cursor cursor = getContentResolver().query(uris[0], null, null, null, nu ll); 272 Cursor cursor =
250 assertNotNull(cursor); 273 mProviderTestRule.getContentResolver().query(uris[0], null, null , null, null);
251 assertEquals(0, cursor.getCount()); 274 Assert.assertNotNull(cursor);
252 cursor = getContentResolver().query(uris[1], null, null, null, null); 275 Assert.assertEquals(0, cursor.getCount());
253 assertNotNull(cursor); 276 cursor = mProviderTestRule.getContentResolver().query(uris[1], null, nul l, null, null);
254 assertEquals(1, cursor.getCount()); 277 Assert.assertNotNull(cursor);
278 Assert.assertEquals(1, cursor.getCount());
255 String[] selectionArgs1 = { String.valueOf(lastUpdateTime[1]), 279 String[] selectionArgs1 = { String.valueOf(lastUpdateTime[1]),
256 String.valueOf(isBookmark[1]) }; 280 String.valueOf(isBookmark[1]) };
257 getContentResolver().delete(mBookmarksUri, BookmarkColumns.FAVICON + " IS NULL AND " 281 mProviderTestRule.getContentResolver().delete(mBookmarksUri,
258 + BookmarkColumns.DATE + "= ? AND " + BookmarkColumns.BOOKMARK + " = ?", 282 BookmarkColumns.FAVICON + " IS NULL AND " + BookmarkColumns.DATE + "= ? AND "
283 + BookmarkColumns.BOOKMARK + " = ?",
259 selectionArgs1); 284 selectionArgs1);
260 cursor = getContentResolver().query(uris[1], null, null, null, null); 285 cursor = mProviderTestRule.getContentResolver().query(uris[1], null, nul l, null, null);
261 assertNotNull(cursor); 286 Assert.assertNotNull(cursor);
262 assertEquals(0, cursor.getCount()); 287 Assert.assertEquals(0, cursor.getCount());
263 } 288 }
264 289
265 /* 290 /*
266 * Copied from CTS test with minor adaptations. 291 * Copied from CTS test with minor adaptations.
267 */ 292 */
293 @Test
268 @MediumTest 294 @MediumTest
269 @Feature({"Android-ContentProvider"}) 295 @Feature({"Android-ContentProvider"})
270 public void testBookmarksTable() { 296 public void testBookmarksTable() {
271 final String[] bookmarksProjection = new String[] { 297 final String[] bookmarksProjection = new String[] {
272 BookmarkColumns.ID, BookmarkColumns.URL, BookmarkColumns.VISITS, 298 BookmarkColumns.ID, BookmarkColumns.URL, BookmarkColumns.VISITS,
273 BookmarkColumns.DATE, BookmarkColumns.CREATED, BookmarkColumns.B OOKMARK, 299 BookmarkColumns.DATE, BookmarkColumns.CREATED, BookmarkColumns.B OOKMARK,
274 BookmarkColumns.TITLE, BookmarkColumns.FAVICON }; 300 BookmarkColumns.TITLE, BookmarkColumns.FAVICON };
275 final int idIndex = 0; 301 final int idIndex = 0;
276 final int urlIndex = 1; 302 final int urlIndex = 1;
277 final int visitsIndex = 2; 303 final int visitsIndex = 2;
(...skipping 12 matching lines...) Expand all
290 // Test: insert. 316 // Test: insert.
291 ContentValues value = new ContentValues(); 317 ContentValues value = new ContentValues();
292 long createDate = new Date().getTime(); 318 long createDate = new Date().getTime();
293 value.put(BookmarkColumns.TITLE, insertBookmarkTitle); 319 value.put(BookmarkColumns.TITLE, insertBookmarkTitle);
294 value.put(BookmarkColumns.URL, insertBookmarkUrl); 320 value.put(BookmarkColumns.URL, insertBookmarkUrl);
295 value.put(BookmarkColumns.VISITS, 0); 321 value.put(BookmarkColumns.VISITS, 0);
296 value.put(BookmarkColumns.DATE, createDate); 322 value.put(BookmarkColumns.DATE, createDate);
297 value.put(BookmarkColumns.CREATED, createDate); 323 value.put(BookmarkColumns.CREATED, createDate);
298 value.put(BookmarkColumns.BOOKMARK, 0); 324 value.put(BookmarkColumns.BOOKMARK, 0);
299 325
300 Uri insertUri = getContentResolver().insert(mBookmarksUri, value); 326 Uri insertUri = mProviderTestRule.getContentResolver().insert(mBookmarks Uri, value);
301 Cursor cursor = getContentResolver().query( 327 Cursor cursor = mProviderTestRule.getContentResolver().query(mBookmarksU ri,
302 mBookmarksUri, 328 bookmarksProjection, BookmarkColumns.TITLE + " = ?",
303 bookmarksProjection, 329 new String[] {insertBookmarkTitle}, BookmarkColumns.DATE);
304 BookmarkColumns.TITLE + " = ?", 330 Assert.assertTrue(cursor.moveToNext());
305 new String[] { insertBookmarkTitle }, 331 Assert.assertEquals(insertBookmarkTitle, cursor.getString(titleIndex));
306 BookmarkColumns.DATE); 332 Assert.assertEquals(insertBookmarkUrl, cursor.getString(urlIndex));
307 assertTrue(cursor.moveToNext()); 333 Assert.assertEquals(0, cursor.getInt(visitsIndex));
308 assertEquals(insertBookmarkTitle, cursor.getString(titleIndex)); 334 Assert.assertEquals(createDate, cursor.getLong(dataIndex));
309 assertEquals(insertBookmarkUrl, cursor.getString(urlIndex)); 335 Assert.assertEquals(createDate, cursor.getLong(createdIndex));
310 assertEquals(0, cursor.getInt(visitsIndex)); 336 Assert.assertEquals(0, cursor.getInt(bookmarkIndex));
311 assertEquals(createDate, cursor.getLong(dataIndex));
312 assertEquals(createDate, cursor.getLong(createdIndex));
313 assertEquals(0, cursor.getInt(bookmarkIndex));
314 // TODO(michaelbai): according to the test this should be null instead o f an empty byte[]. 337 // TODO(michaelbai): according to the test this should be null instead o f an empty byte[].
315 // BUG 6288508 338 // BUG 6288508
316 // assertTrue(cursor.isNull(FAVICON_INDEX)); 339 // assertTrue(cursor.isNull(FAVICON_INDEX));
317 int Id = cursor.getInt(idIndex); 340 int Id = cursor.getInt(idIndex);
318 cursor.close(); 341 cursor.close();
319 342
320 // Test: update. 343 // Test: update.
321 value.clear(); 344 value.clear();
322 long updateDate = new Date().getTime(); 345 long updateDate = new Date().getTime();
323 value.put(BookmarkColumns.TITLE, updateBookmarkTitle); 346 value.put(BookmarkColumns.TITLE, updateBookmarkTitle);
324 value.put(BookmarkColumns.URL, updateBookmarkUrl); 347 value.put(BookmarkColumns.URL, updateBookmarkUrl);
325 value.put(BookmarkColumns.VISITS, 1); 348 value.put(BookmarkColumns.VISITS, 1);
326 value.put(BookmarkColumns.DATE, updateDate); 349 value.put(BookmarkColumns.DATE, updateDate);
327 350
328 getContentResolver().update(mBookmarksUri, value, 351 mProviderTestRule.getContentResolver().update(mBookmarksUri, value,
329 BookmarkColumns.TITLE + " = ?", 352 BookmarkColumns.TITLE + " = ?", new String[] {insertBookmarkTitl e});
330 new String[] { insertBookmarkTitle }); 353 cursor = mProviderTestRule.getContentResolver().query(
331 cursor = getContentResolver().query( 354 mBookmarksUri, bookmarksProjection, BookmarkColumns.ID + " = " + Id, null, null);
332 mBookmarksUri, 355 Assert.assertTrue(cursor.moveToNext());
333 bookmarksProjection, 356 Assert.assertEquals(updateBookmarkTitle, cursor.getString(titleIndex));
334 BookmarkColumns.ID + " = " + Id, 357 Assert.assertEquals(updateBookmarkUrl, cursor.getString(urlIndex));
335 null, null); 358 Assert.assertEquals(1, cursor.getInt(visitsIndex));
336 assertTrue(cursor.moveToNext()); 359 Assert.assertEquals(updateDate, cursor.getLong(dataIndex));
337 assertEquals(updateBookmarkTitle, cursor.getString(titleIndex)); 360 Assert.assertEquals(createDate, cursor.getLong(createdIndex));
338 assertEquals(updateBookmarkUrl, cursor.getString(urlIndex)); 361 Assert.assertEquals(0, cursor.getInt(bookmarkIndex));
339 assertEquals(1, cursor.getInt(visitsIndex));
340 assertEquals(updateDate, cursor.getLong(dataIndex));
341 assertEquals(createDate, cursor.getLong(createdIndex));
342 assertEquals(0, cursor.getInt(bookmarkIndex));
343 // TODO(michaelbai): according to the test this should be null instead o f an empty byte[]. 362 // TODO(michaelbai): according to the test this should be null instead o f an empty byte[].
344 // BUG 6288508 363 // BUG 6288508
345 // assertTrue(cursor.isNull(FAVICON_INDEX)); 364 // assertTrue(cursor.isNull(FAVICON_INDEX));
346 assertEquals(Id, cursor.getInt(idIndex)); 365 Assert.assertEquals(Id, cursor.getInt(idIndex));
347 366
348 // Test: delete. 367 // Test: delete.
349 getContentResolver().delete(insertUri, null, null); 368 mProviderTestRule.getContentResolver().delete(insertUri, null, null);
350 cursor = getContentResolver().query( 369 cursor = mProviderTestRule.getContentResolver().query(
351 mBookmarksUri, 370 mBookmarksUri, bookmarksProjection, BookmarkColumns.ID + " = " + Id, null, null);
352 bookmarksProjection, 371 Assert.assertEquals(0, cursor.getCount());
353 BookmarkColumns.ID + " = " + Id,
354 null, null);
355 assertEquals(0, cursor.getCount());
356 } 372 }
357 373
358 /** 374 /**
359 * Checks if two byte arrays are equal. Used to compare icons. 375 * Checks if two byte arrays are equal. Used to compare icons.
360 * @return True if equal, false otherwise. 376 * @return True if equal, false otherwise.
361 */ 377 */
362 private static boolean byteArraysEqual(byte[] byte1, byte[] byte2) { 378 private static boolean byteArraysEqual(byte[] byte1, byte[] byte2) {
363 if (byte1 == null && byte2 != null) { 379 if (byte1 == null && byte2 != null) {
364 return byte2.length == 0; 380 return byte2.length == 0;
365 } 381 }
366 if (byte2 == null && byte1 != null) { 382 if (byte2 == null && byte1 != null) {
367 return byte1.length == 0; 383 return byte1.length == 0;
368 } 384 }
369 return Arrays.equals(byte1, byte2); 385 return Arrays.equals(byte1, byte2);
370 } 386 }
371 } 387 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698