1// Copyright 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5package org.chromium.android_webview.test; 6 7import android.test.AndroidTestCase; 8import android.test.suitebuilder.annotation.SmallTest; 9 10import org.chromium.android_webview.HttpAuthDatabase; 11import org.chromium.base.test.util.Feature; 12 13/** 14 * Test suite for HttpAuthDatabase. 15 */ 16public class HttpAuthDatabaseTest extends AndroidTestCase { 17 18 private static final String TEST_DATABASE = "http_auth_for_HttpAuthDatabaseTest.db"; 19 20 @Override 21 protected void setUp() throws Exception { 22 super.setUp(); 23 getContext().deleteDatabase(TEST_DATABASE); 24 } 25 26 @Override 27 protected void tearDown() throws Exception { 28 getContext().deleteDatabase(TEST_DATABASE); 29 super.tearDown(); 30 } 31 32 @SmallTest 33 @Feature({"AndroidWebView"}) 34 public void testAccessHttpAuthUsernamePassword() throws Exception { 35 HttpAuthDatabase instance = HttpAuthDatabase.newInstance(getContext(), TEST_DATABASE); 36 37 String host = "http://localhost:8080"; 38 String realm = "testrealm"; 39 String userName = "user"; 40 String password = "password"; 41 42 String[] result = instance.getHttpAuthUsernamePassword(host, realm); 43 assertNull(result); 44 45 instance.setHttpAuthUsernamePassword(host, realm, userName, password); 46 result = instance.getHttpAuthUsernamePassword(host, realm); 47 assertNotNull(result); 48 assertEquals(userName, result[0]); 49 assertEquals(password, result[1]); 50 51 String newPassword = "newpassword"; 52 instance.setHttpAuthUsernamePassword(host, realm, userName, newPassword); 53 result = instance.getHttpAuthUsernamePassword(host, realm); 54 assertNotNull(result); 55 assertEquals(userName, result[0]); 56 assertEquals(newPassword, result[1]); 57 58 String newUserName = "newuser"; 59 instance.setHttpAuthUsernamePassword(host, realm, newUserName, newPassword); 60 result = instance.getHttpAuthUsernamePassword(host, realm); 61 assertNotNull(result); 62 assertEquals(newUserName, result[0]); 63 assertEquals(newPassword, result[1]); 64 65 instance.setHttpAuthUsernamePassword(host, realm, null, password); 66 result = instance.getHttpAuthUsernamePassword(host, realm); 67 assertNotNull(result); 68 assertNull(result[0]); 69 assertEquals(password, result[1]); 70 71 instance.setHttpAuthUsernamePassword(host, realm, userName, null); 72 result = instance.getHttpAuthUsernamePassword(host, realm); 73 assertNotNull(result); 74 assertEquals(userName, result[0]); 75 assertEquals(null, result[1]); 76 77 instance.setHttpAuthUsernamePassword(host, realm, null, null); 78 result = instance.getHttpAuthUsernamePassword(host, realm); 79 assertNotNull(result); 80 assertNull(result[0]); 81 assertNull(result[1]); 82 83 instance.setHttpAuthUsernamePassword(host, realm, newUserName, newPassword); 84 result = instance.getHttpAuthUsernamePassword(host, realm); 85 assertNotNull(result); 86 assertEquals(newUserName, result[0]); 87 assertEquals(newPassword, result[1]); 88 } 89} 90