package com.pose.test;import android.content.ContentValues;import android.database.ContentObserver;import android.database.Cursor;import android.net.Uri;import android.os.Handler;import android.test.ProviderTestCase2;import android.test.mock.MockContentResolver;import android.util.Log;import com.pose.models.Item;import com.pose.providers.ItemsContentProvider;import com.pose.service.GSServiceHelper;public class ItemContentProviderTests extends ProviderTestCase2<ItemsContentProvider>{ private MockContentResolver mMockResolver; private Class<ItemsContentProvider> mProviderClass; private ItemsContentProvider mProvider; private String mProviderAuthority; public ItemContentProviderTests() { super(ItemsContentProvider.class, ItemsContentProvider.AUTHORITY); setName("ItemsProviderTests"); mProviderClass = ItemsContentProvider.class; mProviderAuthority = ItemsContentProvider.AUTHORITY; } @Override protected void setUp() throws Exception { super.setUp(); mMockResolver = getMockContentResolver(); mProvider = mProviderClass.newInstance(); assertNotNull(mProvider); mProvider.attachInfo(getContext(), null); mMockResolver.addProvider(mProviderAuthority, mProvider); } @Override public ItemsContentProvider getProvider() { return mProvider; } protected void tearDown() throws Exception { super.tearDown(); } public void testProviderSampleCreation() { ItemsContentProvider provider = getProvider(); assertNotNull(provider); } public void testItemCreateRead() { ContentValues values = new ContentValues(); values.put(Item.MESSAGE, "Test Pose Zebra Zulu"); values.put(Item.LOVECOUNT, 0); values.put(Item.ITEMID, 1); values.put(Item.CREATOR, "{username: \"misslemonaid\", tagline: \"Sweet and Sour\", image_url: \"http://stag.pose.com/avatars/7df/7dff9c01483f4d719f2ce7bfb870a15e/medium_60.jpg\", id: 15315}"); @SuppressWarnings("unused") Uri uri = mMockResolver.insert(Item.CONTENT_URI, values); Cursor cur = mMockResolver.query(Item.CONTENT_URI, null, Item.MESSAGE + " = 'Test Pose Zebra Zulu'", null, Item.ITEMID + " ASC"); assertNotNull(cur); assertEquals(1,cur.getCount()); if (!cur.isClosed()) cur.close(); } @SuppressWarnings("unused") public void testItemDoesNotDuplicate() { ContentValues values = new ContentValues(); values.put(Item.MESSAGE, "Test Pose Zebra Zulu"); values.put(Item.CREATOR, "{username: \"misslemonaid\", tagline: \"Sweet and Sour\", image_url: \"http://stag.pose.com/avatars/7df/7dff9c01483f4d719f2ce7bfb870a15e/medium_60.jpg\", id: 15315}"); values.put(Item.LOVECOUNT, 0); values.put(Item.ITEMID, 1); Uri uri = mMockResolver.insert(Item.CONTENT_URI, values); Cursor cur = mMockResolver.query(Item.CONTENT_URI, null, Item.MESSAGE + " = 'Test Pose Zebra Zulu'", null, Item.ITEMID + " ASC"); assertNotNull(cur); assertEquals(1,cur.getCount()); if (!cur.isClosed()) cur.close(); values.clear(); values.put(Item.MESSAGE, "NOT SAVED"); values.put(Item.CREATOR, "{username: \"misslemonaid\", tagline: \"Sweet and Sour\", image_url: \"http://stag.pose.com/avatars/7df/7dff9c01483f4d719f2ce7bfb870a15e/medium_60.jpg\", id: 15315}"); values.put(Item.LOVECOUNT, 0); values.put(Item.ITEMID, 1); uri = mMockResolver.insert(Item.CONTENT_URI, values); cur = mMockResolver.query(Item.CONTENT_URI, null, Item.MESSAGE + " = 'NOT SAVED'", null, Item.ITEMID + " ASC"); assertNotNull(cur); assertEquals(1,cur.getCount()); if (!cur.isClosed()) cur.close(); cur = mMockResolver.query(Item.CONTENT_URI, null, Item.ITEMID + " = '1'", null, Item.ITEMID + " ASC"); assertNotNull(cur); assertEquals(1,cur.getCount()); if (!cur.isClosed()) cur.close(); } public void testLoadUnAuthFeed() { GSServiceHelper gsHelper1 = GSServiceHelper.getGSServiceObject(); GSServiceHelper gsHelper2 = GSServiceHelper.getGSServiceObject(); assertNotNull(gsHelper1); assertNotNull(gsHelper2); assertEquals(gsHelper1, gsHelper2); gsHelper1.doBindService(); String requestID = gsHelper1.loadPosers(0); assertTrue(requestID.length() > 0); } public void testUnAuthDataLoaded() { Handler handler = new Handler(); class ItemsContentObserver extends ContentObserver { public ItemsContentObserver( Handler h ) { super( h ); } public void onChange(boolean selfChange) { Log.i( "testUnAuthDataLoaded()", "StringsContentObserver.onChange( "+selfChange+")" ); } } ItemsContentObserver co = new ItemsContentObserver(handler); mMockResolver.registerContentObserver(Item.CONTENT_URI, true, co); }}