1561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/* 2561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Licensed to the Apache Software Foundation (ASF) under one or more 3561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * contributor license agreements. See the NOTICE file distributed with 4561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * this work for additional information regarding copyright ownership. 5561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * The ASF licenses this file to You under the Apache License, Version 2.0 6561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * (the "License"); you may not use this file except in compliance with 7561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * the License. You may obtain a copy of the License at 8561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 9561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * http://www.apache.org/licenses/LICENSE-2.0 10561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 11561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Unless required by applicable law or agreed to in writing, software 12561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * distributed under the License is distributed on an "AS IS" BASIS, 13561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * See the License for the specific language governing permissions and 15561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * limitations under the License. 16561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 17561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 18561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/** 19561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes* @author Vera Y. Petrashkova 20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes*/ 21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespackage org.apache.harmony.auth.tests.javax.security.sasl; 23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport javax.security.sasl.RealmCallback; 25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport junit.framework.TestCase; 27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/** 29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Tests for constructors and methods of RealmCallback class 30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class RealmCallbackTest extends TestCase { 34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private static final String[] prompts = { 35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Prompts", 36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Another prompt", 37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Long String for prompt Long String for prompt Long String for prompt Long String for prompt Long String for prompt Long String for prompt Long String for prompt Long String for prompt Long String for prompt Long String for prompt Long String for prompt Long String for prompt Long String for prompt Long String for prompt Long String for prompt Long String for prompt Long String for prompt Long String for prompt Long String for prompt Long String for prompt Long String for prompt" }; 38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Test for 41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * <code>RealmCallback(String prompt, String defaultRealmInfo)</code> 42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * constructor 43561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Assertion: throws IllegalArgumentException if parameters are 44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * null or empty String 45561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test01() { 47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new RealmCallback(null, "def"); 49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IllegalArgumentException should be thrown for null prompt"); 50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 53561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new RealmCallback("", "def"); 54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IllegalArgumentException should be thrown for empty prompt"); 55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 58561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new RealmCallback("prompt", null); 59561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IllegalArgumentException should be thrown for null default info"); 60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 62561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new RealmCallback("prompt", ""); 64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IllegalArgumentException should be thrown for empty default info"); 65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 70561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Test for 71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * <code>RealmCallback(String prompt, String defaultRealmInfo)</code> 72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * constructor Assertion: creates instance of RealmCallback object 73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test02() { 75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] defInfo = { 76561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "DefaultRealmInfo", 77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Another default realm info", 78561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Long string for default realm info Long string for default realm info Long string for default realm info Long string for default realm info Long string for default realm info Long string for default realm info Long string for default realm info Long string for default realm info Long string for default realm info Long string for default realm info Long string for default realm info Long string for default realm info Long string for default realm info Long string for default realm info Long string for default realm info Long string for default realm info " }; 79561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes RealmCallback rCB; 80561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes StringBuffer sb = new StringBuffer(""); 81561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String ss; 82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < prompts.length; i++) { 83561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int j = 0; j < prompts.length; j++) { 84561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes rCB = new RealmCallback(prompts[i], defInfo[j]); 85561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect default info", rCB.getDefaultText(), 86561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes defInfo[j]); 87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect prompt", rCB.getPrompt(), prompts[i]); 88561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNull("Not null text", rCB.getText()); 89561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.replace(0, sb.length(), prompts[i]); 90561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.append(defInfo[j]); 91561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ss = sb.toString(); 92561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes rCB.setText(ss); 93561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect text", rCB.getText(), ss); 94561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes rCB.setText(null); 95561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNull("Not null text", rCB.getText()); 96561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 97561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 98561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 99561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Test for <code>RealmCallback(String prompt</code> constructor 102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Assertion: throws IllegalArgumentException if parameter is null or empty 103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * string 104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test03() { 106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new RealmCallback(null); 108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IllegalArgumentException should be thrown for null prompt"); 109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new RealmCallback(""); 113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("IllegalArgumentException should be thrown for empty prompt"); 114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Test for <code>RealmCallback(String prompt)</code> constructor 120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Assertion: creates instance of RealmCallback object 121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test04() { 123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes RealmCallback rCB; 124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes StringBuffer sb = new StringBuffer(""); 125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String ss; 126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < prompts.length; i++) { 127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes rCB = new RealmCallback(prompts[i]); 128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNull("Incorrect default info", rCB.getDefaultText()); 129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect prompt", rCB.getPrompt(), prompts[i]); 130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNull("Not null text", rCB.getText()); 131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb = new StringBuffer(prompts[i]); 132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sb.replace(0, sb.length(), prompts[i]); 133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ss = sb.toString(); 134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes rCB.setText(ss); 135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect text", rCB.getText(), ss); 136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes rCB.setText(null); 137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNull("Not null text", rCB.getText()); 138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes} 141