blob: 5d7349f79bd9cc1d5ba3e9ee68dafd2daee65954 [file] [log] [blame]
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);
}
}