blob: 9695b95e9bfc9d66fc425609575edb71b7ae3eb1 [file] [log] [blame]
// Copyright 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.android_webview.test;
import static org.chromium.android_webview.test.OnlyRunIn.ProcessMode.SINGLE_PROCESS;
import android.support.test.InstrumentationRegistry;
import android.support.test.filters.SmallTest;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.chromium.android_webview.HttpAuthDatabase;
import org.chromium.base.test.util.Feature;
/**
* Test suite for HttpAuthDatabase.
*/
@RunWith(AwJUnit4ClassRunner.class)
@OnlyRunIn(SINGLE_PROCESS)
public class HttpAuthDatabaseTest {
private static final String TEST_DATABASE = "http_auth_for_HttpAuthDatabaseTest.db";
@Before
public void setUp() throws Exception {
InstrumentationRegistry.getTargetContext().deleteDatabase(TEST_DATABASE);
}
@After
public void tearDown() throws Exception {
InstrumentationRegistry.getTargetContext().deleteDatabase(TEST_DATABASE);
}
@Test
@SmallTest
@Feature({"AndroidWebView"})
public void testAccessHttpAuthUsernamePassword() throws Exception {
HttpAuthDatabase instance = HttpAuthDatabase.newInstance(
InstrumentationRegistry.getTargetContext(), TEST_DATABASE);
String host = "http://localhost:8080";
String realm = "testrealm";
String userName = "user";
String password = "password";
String[] result = instance.getHttpAuthUsernamePassword(host, realm);
Assert.assertNull(result);
instance.setHttpAuthUsernamePassword(host, realm, userName, password);
result = instance.getHttpAuthUsernamePassword(host, realm);
Assert.assertNotNull(result);
Assert.assertEquals(userName, result[0]);
Assert.assertEquals(password, result[1]);
String newPassword = "newpassword";
instance.setHttpAuthUsernamePassword(host, realm, userName, newPassword);
result = instance.getHttpAuthUsernamePassword(host, realm);
Assert.assertNotNull(result);
Assert.assertEquals(userName, result[0]);
Assert.assertEquals(newPassword, result[1]);
String newUserName = "newuser";
instance.setHttpAuthUsernamePassword(host, realm, newUserName, newPassword);
result = instance.getHttpAuthUsernamePassword(host, realm);
Assert.assertNotNull(result);
Assert.assertEquals(newUserName, result[0]);
Assert.assertEquals(newPassword, result[1]);
instance.setHttpAuthUsernamePassword(host, realm, null, password);
result = instance.getHttpAuthUsernamePassword(host, realm);
Assert.assertNotNull(result);
Assert.assertNull(result[0]);
Assert.assertEquals(password, result[1]);
instance.setHttpAuthUsernamePassword(host, realm, userName, null);
result = instance.getHttpAuthUsernamePassword(host, realm);
Assert.assertNotNull(result);
Assert.assertEquals(userName, result[0]);
Assert.assertEquals(null, result[1]);
instance.setHttpAuthUsernamePassword(host, realm, null, null);
result = instance.getHttpAuthUsernamePassword(host, realm);
Assert.assertNotNull(result);
Assert.assertNull(result[0]);
Assert.assertNull(result[1]);
instance.setHttpAuthUsernamePassword(host, realm, newUserName, newPassword);
result = instance.getHttpAuthUsernamePassword(host, realm);
Assert.assertNotNull(result);
Assert.assertEquals(newUserName, result[0]);
Assert.assertEquals(newPassword, result[1]);
}
}