| package com.android.unit_tests; |
| |
| import com.google.android.net.SSLClientSessionCacheFactory; |
| import com.android.internal.net.DbSSLSessionCache; |
| import android.test.AndroidTestCase; |
| import android.test.suitebuilder.annotation.MediumTest; |
| import android.content.ContentResolver; |
| import android.content.Context; |
| import android.provider.Settings; |
| import org.apache.harmony.xnet.provider.jsse.SSLClientSessionCache; |
| |
| /** |
| * Unit test for {@link SSLClientSessionCacheFactory}. |
| */ |
| @MediumTest |
| public final class SSLClientSessionCacheFactoryTest extends AndroidTestCase { |
| |
| protected void tearDown() throws Exception { |
| setSslSessionCacheValue(getContext(), ""); |
| super.tearDown(); |
| } |
| |
| private static void setSslSessionCacheValue(Context context, String value) { |
| ContentResolver resolver = context.getContentResolver(); |
| Settings.Gservices.putString(resolver, Settings.Gservices.SSL_SESSION_CACHE, value); |
| } |
| |
| private static SSLClientSessionCache getCache(Context context, String type) { |
| setSslSessionCacheValue(context, type); |
| return SSLClientSessionCacheFactory.getCache(context); |
| } |
| |
| public void testGetDbCache() throws Exception { |
| Context context = getContext(); |
| SSLClientSessionCache cache = getCache(context, "db"); |
| assertNotNull(cache); |
| assertTrue(cache instanceof DbSSLSessionCache); |
| } |
| |
| public void testGetFileCache() throws Exception { |
| Context context = getContext(); |
| SSLClientSessionCache cache = getCache(context, "file"); |
| assertNotNull(cache); |
| // yuck =) |
| assertEquals("org.apache.harmony.xnet.provider.jsse.FileClientSessionCache$Impl", |
| cache.getClass().getName()); |
| } |
| |
| public void testGetNoCache() throws Exception { |
| Context context = getContext(); |
| SSLClientSessionCache cache = getCache(context, "none"); |
| assertNull(cache); |
| } |
| } |