summaryrefslogtreecommitdiff
path: root/tests/src/com/android/dialer/database/VoicemailArchiveProviderTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/com/android/dialer/database/VoicemailArchiveProviderTest.java')
-rw-r--r--tests/src/com/android/dialer/database/VoicemailArchiveProviderTest.java306
1 files changed, 0 insertions, 306 deletions
diff --git a/tests/src/com/android/dialer/database/VoicemailArchiveProviderTest.java b/tests/src/com/android/dialer/database/VoicemailArchiveProviderTest.java
deleted file mode 100644
index abc2dc5b0..000000000
--- a/tests/src/com/android/dialer/database/VoicemailArchiveProviderTest.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.dialer.database;
-
-import android.content.ContentUris;
-import android.content.ContentValues;
-import android.content.Context;
-import android.database.Cursor;
-import android.net.Uri;
-import android.test.ProviderTestCase2;
-import android.test.mock.MockContentResolver;
-import com.android.dialer.database.VoicemailArchiveContract.VoicemailArchive;
-
-import java.io.File;
-import java.io.OutputStream;
-
-/**
- * Tests for {@link VoicemailArchiveProvider}.
- */
-public class VoicemailArchiveProviderTest extends
- ProviderTestCase2<VoicemailArchiveProviderTest.TestVoicemailArchiveProvider> {
- private static final String TEST_MIME_TYPE = "audio/mp3";
- private static final String TEST_NUMBER = "+1412555555";
- private static final int TEST_ARCHIVED = 1;
- private static final String TEST_STRING = "TEST";
-
- private MockContentResolver mResolver;
- private Cursor mCursor;
- private Uri mVoicemailUri;
-
- public VoicemailArchiveProviderTest() {
- super(TestVoicemailArchiveProvider.class, VoicemailArchiveContract.AUTHORITY);
- }
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- mResolver = getMockContentResolver();
- }
-
- @Override
- protected void tearDown() throws Exception {
- if (mCursor != null) {
- mCursor.close();
- }
- // Need to delete test.cache folder created by {@link android.test.ProviderTestCase2}
- deleteRecursive(getContext().getCacheDir());
- getProvider().closeDb();
- super.tearDown();
- }
-
- public void testInsert() {
- insertVoicemail();
- assertNotNull(mVoicemailUri);
- assertTrue(doesRowExist());
- long id = ContentUris.parseId(mVoicemailUri);
- assertTrue(id > 0);
- }
-
- public void testQuery_createFile() throws Exception {
- insertVoicemail();
- assertTrue(doesRowExist());
- assertFalse(doesFileExist());
- createFile();
- assertTrue(doesFileExist());
- }
-
- public void testQuery_createFileMimeTypeIsAMR() throws Exception {
- insertVoicemailWithMimeType("audio/amr");
- assertTrue(doesRowExist());
- assertFalse(doesFileExist());
- createFile();
- assertTrue(doesFileExist());
- assertEquals("amr", getFileExtension(getFilePath()));
- }
-
- public void testQuery_createFileMimeTypeIsMP3() throws Exception {
- insertVoicemailWithMimeType("audio/mpeg");
- assertTrue(doesRowExist());
- assertFalse(doesFileExist());
- createFile();
- assertTrue(doesFileExist());
- assertEquals("mp3", getFileExtension(getFilePath()));
- }
-
- public void testQuery_createFileMimeTypeNotExists() throws Exception {
- insertVoicemailWithMimeType(TEST_STRING);
- assertTrue(doesRowExist());
- assertFalse(doesFileExist());
- createFile();
- assertTrue(doesFileExist());
- assertEquals("", getFileExtension(getFilePath()));
- }
-
- public void testQuery() {
- insertVoicemail();
- updateCursor();
- assertCursorCount(1);
- assertContentValues();
- }
-
- public void testQuery_correctValuesSelection() {
- insertVoicemail();
- updateCursorWithIdQuery();
- assertCursorCount(1);
- assertContentValues();
- }
-
- public void testQuery_illegalUri() {
- try {
- mResolver.query(Uri.withAppendedPath(VoicemailArchive.CONTENT_URI, TEST_STRING),
- null, null, null, null);
- fail("Expecting exception but none was thrown.");
- } catch (IllegalArgumentException e) {}
- }
-
- public void testUpdate() throws Exception {
- insertVoicemail();
- assertTrue(doesRowExist());
- ContentValues values = new ContentValues();
- values.put(VoicemailArchive.MIME_TYPE, TEST_STRING);
- values.put(VoicemailArchive.NUMBER, TEST_STRING);
- values.put(VoicemailArchive.ARCHIVED, false);
- mResolver.update(mVoicemailUri, values, null, null);
- updateCursor();
- assertEquals(TEST_STRING, mCursor.getString(mCursor.getColumnIndex(VoicemailArchive.MIME_TYPE)));
- assertEquals(TEST_STRING, mCursor.getString(mCursor.getColumnIndex(VoicemailArchive.NUMBER)));
- assertEquals(false, mCursor.getInt(
- mCursor.getColumnIndex(VoicemailArchive.ARCHIVED)) == 1);
- }
-
- public void testUpdate_selection() throws Exception {
- insertVoicemail();
- assertTrue(doesRowExist());
- ContentValues values = new ContentValues();
- values.put(VoicemailArchive.MIME_TYPE, TEST_STRING);
- values.put(VoicemailArchive.NUMBER, TEST_STRING);
- values.put(VoicemailArchive.ARCHIVED, false);
- mResolver.update(VoicemailArchive.CONTENT_URI, values, getIdQuery(), null);
- updateCursor();
- assertEquals(TEST_STRING, mCursor.getString(mCursor.getColumnIndex(VoicemailArchive.MIME_TYPE)));
- assertEquals(TEST_STRING, mCursor.getString(mCursor.getColumnIndex(VoicemailArchive.NUMBER)));
- assertEquals(false, mCursor.getInt(
- mCursor.getColumnIndex(VoicemailArchive.ARCHIVED)) == 1);
- }
-
- public void testUpdate_illegalUri() {
- try {
- mResolver.update(Uri.withAppendedPath(VoicemailArchive.CONTENT_URI, TEST_STRING),
- null, null, null);
- fail("Expecting exception but none was thrown.");
- } catch (IllegalArgumentException e) {}
- }
-
- public void testDelete() throws Exception {
- insertVoicemail();
- createFile();
- assertTrue(doesRowExist());
- assertTrue(doesFileExist());
- mResolver.delete(mVoicemailUri, null, null);
- assertFalse(doesRowExist());
- assertFalse(doesFileExist());
- }
-
- public void testDelete_selection() throws Exception{
- insertVoicemail();
- createFile();
- assertTrue(doesRowExist());
- assertTrue(doesFileExist());
- mResolver.delete(VoicemailArchive.CONTENT_URI, getIdQuery(), null);
- assertFalse(doesRowExist());
- assertFalse(doesFileExist());
- }
-
- public void testDelete_illegalUri() {
- try {
- mResolver.delete(Uri.withAppendedPath(VoicemailArchive.CONTENT_URI, TEST_STRING),
- null, null);
- fail("Expecting exception but none was thrown.");
- } catch (IllegalArgumentException e) {}
- }
-
- private boolean doesRowExist() {
- Cursor tempCursor = mResolver.query(mVoicemailUri, null, null, null, null);
- boolean rowExists = tempCursor != null && tempCursor.getCount() > 0;
- tempCursor.close();
- return rowExists;
- }
-
- private boolean doesFileExist() {
- File voicemailFile = new File(getFilePath());
- return voicemailFile.exists();
- }
-
- private static String getFileExtension(String filePath) {
- File file = new File(filePath);
- String fileName = file.getName();
- int index = fileName.lastIndexOf(".");
- return index > 0 ? fileName.substring(index + 1) : "";
- }
-
- private void assertCursorCount(int count) {
- assertEquals(count, mCursor.getCount());
- }
-
- private void assertContentValues() {
- assertEquals(TEST_MIME_TYPE, mCursor
- .getString(mCursor.getColumnIndex(VoicemailArchive.MIME_TYPE)));
- assertEquals(TEST_NUMBER, mCursor
- .getString(mCursor.getColumnIndex(VoicemailArchive.NUMBER)));
- assertEquals(TEST_ARCHIVED, mCursor
- .getInt(mCursor.getColumnIndex(VoicemailArchive.ARCHIVED)));
- }
-
- private void insertVoicemail() {
- mVoicemailUri = mResolver.insert(VoicemailArchive.CONTENT_URI, getTestValues());
- }
-
- private void insertVoicemailWithMimeType(String mimeType) {
- ContentValues values = getTestValues();
- values.put(VoicemailArchive.MIME_TYPE, mimeType);
- mVoicemailUri = mResolver.insert(VoicemailArchive.CONTENT_URI, values);
- }
-
- private void updateCursor() {
- mCursor = mResolver.query(mVoicemailUri, null, null, null, null);
- assertEquals(true, mCursor.getCount() > 0);
- mCursor.moveToFirst();
- }
-
- private void updateCursorWithIdQuery() {
- mCursor = mResolver.query(mVoicemailUri, null, getIdQuery(), null, null);
- assertEquals(true, mCursor.getCount() > 0);
- mCursor.moveToFirst();
- }
-
- private void createFile() throws Exception {
- assertFalse(doesFileExist());
- // Opening output stream and closing it should create the file
- OutputStream outputStream = mResolver.openOutputStream(mVoicemailUri);
- outputStream.close();
- }
-
- private String getIdQuery() {
- return VoicemailArchive._ID + "=" + ContentUris.parseId(mVoicemailUri);
- }
-
- private String getFilePath() {
- if (mCursor == null) {
- updateCursor();
- }
- return mCursor.getString(mCursor.getColumnIndex(VoicemailArchive._DATA));
- }
-
- private static ContentValues getTestValues() {
- ContentValues values = new ContentValues();
- values.put(VoicemailArchive.NUMBER, TEST_NUMBER);
- values.put(VoicemailArchive.MIME_TYPE, TEST_MIME_TYPE);
- values.put(VoicemailArchive.ARCHIVED, TEST_ARCHIVED);
- return values;
- }
-
- private void deleteRecursive(File fileOrDirectory) {
- if (fileOrDirectory.isDirectory()) {
- for (File child : fileOrDirectory.listFiles()) {
- deleteRecursive(child);
- }
- }
- fileOrDirectory.delete();
- }
-
- public static class TestVoicemailArchiveProvider extends VoicemailArchiveProvider {
- private DialerDatabaseHelper mDialerDatabaseHelper;
-
- @Override
- protected File getFilesDir() {
- return getContext().getCacheDir();
- }
-
- @Override
- protected DialerDatabaseHelper getDatabaseHelper(Context context) {
- if (mDialerDatabaseHelper == null) {
- mDialerDatabaseHelper = DialerDatabaseHelper.getNewInstanceForTest(context);
- }
- return mDialerDatabaseHelper;
- }
-
- protected void closeDb() {
- mDialerDatabaseHelper.close();
- }
- }
-}