package org.societies.clientframework.contentprovider.test; import org.societies.clientframework.contentprovider.services.SocietiesCP; import android.content.ContentProviderClient; import android.content.ContentValues; import android.database.Cursor; import android.net.Uri; import android.test.ProviderTestCase2; import android.test.suitebuilder.annotation.SmallTest; import android.util.Log; public class TestSocietiesCP extends ProviderTestCase2<SocietiesCP> { private static final String AUTHORITY = "org.societies.android.platform.contentprovider"; // Database table public static final String CREDENTIAL_TABLE_NAME = "credential"; public static final String CREDENTIAL_KEY_ID = "_id"; public static final String CREDENTIAL_KEY_USERNAME = "username"; public static final String CREDENTIAL_KEY_PASSWORD = "password" ; public static final String CREDENTIAL_KEY_SERVICE = "service"; public static final String CREDENTIAL_KEY_FIRSTNAME = "firstname"; public static final String CREDENTIAL_KEY_LASTNAME = "lastname"; public static final String CREDENTIAL_KEY_COMPANY = "company"; public static final String CREDENTIAL_KEY_APPLICATION = "app"; public static final String CREDENTIAL_KEY_TOKEN = "token"; public static final String CREDENTIAL_KEY_USEPROXY = "useproxy"; public static final String CREDENTIAL_KEY_PROXY_URL = "proxy_url"; public static String CREDENTIAL_DATA_URI = "content://"+ AUTHORITY + "/" + CREDENTIAL_TABLE_NAME; public TestSocietiesCP() { super(SocietiesCP.class, AUTHORITY); } // Database table public static final String TABLE_NAME = "service_data"; public static final String KEY_ID = "_ID"; public static final String KEY_SERVICE = "service"; public static final String KEY_NAME = "key"; public static final String KEY_VALUE = "value" ; public static String SERVICE_DATA_URI = "content://" + AUTHORITY + "/" + TABLE_NAME; // Database creation SQL statement public static final String CREATE_SERVICE_TABLE = "CREATE TABLE " + TABLE_NAME + "(" + KEY_ID + " integer primary key autoincrement, " + KEY_SERVICE + " text not null, " + KEY_NAME + " text not null, " + KEY_VALUE + " text not null " + ");"; protected void setUp() throws Exception { super.setUp(); Uri credentialUri = Uri.parse(CREDENTIAL_DATA_URI); ContentProviderClient client = getContext().getContentResolver().acquireContentProviderClient(credentialUri); Log.v("TestContentProvider", "Start test "); } protected void tearDown() throws Exception { super.tearDown(); } @SmallTest public void testOnCreate() { Uri credentialUri = Uri.parse(CREDENTIAL_DATA_URI); ContentProviderClient client = getContext().getContentResolver().acquireContentProviderClient(credentialUri); assertNotNull(client); } @SmallTest public void testDeleteUriStringStringArray() { Uri credentialUri = Uri.parse(CREDENTIAL_DATA_URI); int count = getContext().getContentResolver().delete(credentialUri, "service = ?", new String[]{"test"}); assertNotNull(count); } @SmallTest public void testGetTypeUri() { Uri serUri = Uri.parse(SERVICE_DATA_URI); String uri = getContext().getContentResolver().getType(serUri); assertNotNull(uri); } @SmallTest public void testInsertUriContentValues() { Uri credentialUri = Uri.parse(CREDENTIAL_DATA_URI); ContentValues data = new ContentValues(); data.put(CREDENTIAL_KEY_APPLICATION, "test1"); data.put(CREDENTIAL_KEY_COMPANY, "TI"); data.put(CREDENTIAL_KEY_FIRSTNAME, "AAAA"); data.put(CREDENTIAL_KEY_LASTNAME, "BBBBB"); data.put(CREDENTIAL_KEY_PASSWORD, "CCCCc"); data.put(CREDENTIAL_KEY_PROXY_URL, ""); data.put(KEY_SERVICE, "XXXXX"); data.put(CREDENTIAL_KEY_TOKEN, ""); data.put(CREDENTIAL_KEY_USEPROXY, false); data.put(CREDENTIAL_KEY_USERNAME, "zzzzzzz"); Uri res = getContext().getContentResolver().insert(credentialUri, data); assertNotNull(res); } @SmallTest public void testQueryUriStringArrayStringStringArrayString() { Uri credentialUri = Uri.parse(CREDENTIAL_DATA_URI); Cursor c = getContext().getContentResolver().query(credentialUri,null,null,null,null); assertNotNull(c); } @SmallTest public void testUpdateUriContentValuesStringStringArray() { Uri credentialUri = Uri.parse(CREDENTIAL_DATA_URI); ContentValues data = new ContentValues(); data.put(CREDENTIAL_KEY_APPLICATION, "test3"); data.put(CREDENTIAL_KEY_COMPANY, "TI"); data.put(CREDENTIAL_KEY_FIRSTNAME, "AAAA"); data.put(CREDENTIAL_KEY_LASTNAME, "BBBBB"); data.put(CREDENTIAL_KEY_PASSWORD, "CCCCc"); data.put(CREDENTIAL_KEY_PROXY_URL, ""); data.put(KEY_SERVICE, "XXXXX"); data.put(CREDENTIAL_KEY_TOKEN, ""); data.put(CREDENTIAL_KEY_USEPROXY, false); data.put(CREDENTIAL_KEY_USERNAME, "zzzzzzz"); int c = getContext().getContentResolver().update(credentialUri, data, CREDENTIAL_KEY_COMPANY +" = ?", new String[]{"TI"}); assertNotNull(c); } }