1a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)// Copyright 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)package org.chromium.android_webview.test; 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import android.test.AndroidTestCase; 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import android.test.suitebuilder.annotation.SmallTest; 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import org.chromium.android_webview.HttpAuthDatabase; 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import org.chromium.base.test.util.Feature; 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Test suite for HttpAuthDatabase. 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)public class HttpAuthDatabaseTest extends AndroidTestCase { 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private static final String TEST_DATABASE = "http_auth_for_HttpAuthDatabaseTest.db"; 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @Override 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) protected void setUp() throws Exception { 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) super.setUp(); 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) getContext().deleteDatabase(TEST_DATABASE); 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @Override 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) protected void tearDown() throws Exception { 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) getContext().deleteDatabase(TEST_DATABASE); 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) super.tearDown(); 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @SmallTest 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @Feature({"AndroidWebView"}) 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public void testAccessHttpAuthUsernamePassword() throws Exception { 351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci HttpAuthDatabase instance = HttpAuthDatabase.newInstance(getContext(), TEST_DATABASE); 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) String host = "http://localhost:8080"; 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) String realm = "testrealm"; 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) String userName = "user"; 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) String password = "password"; 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) String[] result = instance.getHttpAuthUsernamePassword(host, realm); 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertNull(result); 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) instance.setHttpAuthUsernamePassword(host, realm, userName, password); 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) result = instance.getHttpAuthUsernamePassword(host, realm); 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertNotNull(result); 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertEquals(userName, result[0]); 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertEquals(password, result[1]); 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) String newPassword = "newpassword"; 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) instance.setHttpAuthUsernamePassword(host, realm, userName, newPassword); 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) result = instance.getHttpAuthUsernamePassword(host, realm); 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertNotNull(result); 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertEquals(userName, result[0]); 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertEquals(newPassword, result[1]); 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) String newUserName = "newuser"; 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) instance.setHttpAuthUsernamePassword(host, realm, newUserName, newPassword); 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) result = instance.getHttpAuthUsernamePassword(host, realm); 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertNotNull(result); 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertEquals(newUserName, result[0]); 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertEquals(newPassword, result[1]); 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) instance.setHttpAuthUsernamePassword(host, realm, null, password); 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) result = instance.getHttpAuthUsernamePassword(host, realm); 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertNotNull(result); 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertNull(result[0]); 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertEquals(password, result[1]); 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) instance.setHttpAuthUsernamePassword(host, realm, userName, null); 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) result = instance.getHttpAuthUsernamePassword(host, realm); 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertNotNull(result); 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertEquals(userName, result[0]); 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertEquals(null, result[1]); 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) instance.setHttpAuthUsernamePassword(host, realm, null, null); 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) result = instance.getHttpAuthUsernamePassword(host, realm); 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertNotNull(result); 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertNull(result[0]); 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertNull(result[1]); 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) instance.setHttpAuthUsernamePassword(host, realm, newUserName, newPassword); 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) result = instance.getHttpAuthUsernamePassword(host, realm); 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertNotNull(result); 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertEquals(newUserName, result[0]); 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertEquals(newPassword, result[1]); 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 90