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 Hughespackage org.apache.harmony.security.tests.java.security; 19561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.Identity; 21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.IdentityScope; 22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.KeyManagementException; 23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.KeyPairGenerator; 24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.PublicKey; 25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Enumeration; 26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Hashtable; 27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport org.apache.harmony.security.tests.java.security.Identity2Test.IdentitySubclass; 29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class IdentityScope2Test extends junit.framework.TestCase { 31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes static PublicKey pubKey; 33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes static { 34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes pubKey = KeyPairGenerator.getInstance("DSA").genKeyPair().getPublic(); 36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (Exception e) { 37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail(e.toString()); 38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public static class IdentityScopeSubclass extends IdentityScope { 42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Hashtable identities; 43561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public IdentityScopeSubclass(String name, PublicKey pk) { 45561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes super(name); 46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes setPublicKey(pk); 48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (KeyManagementException e) { 49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes identities = new Hashtable(); 51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 53561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public IdentityScopeSubclass() { 54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes super(); 55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes identities = new Hashtable(); 56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 58561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public IdentityScopeSubclass(String name) { 59561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes super(name); 60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes identities = new Hashtable(); 61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 62561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public IdentityScopeSubclass(String name, IdentityScope scope) 64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throws KeyManagementException { 65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes super(name, scope); 66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes identities = new Hashtable(); 67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public int size() { 70561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return identities.size(); 71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public Identity getIdentity(String name) { 74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Enumeration en = identities(); 75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes while (en.hasMoreElements()) { 76561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Identity current = (Identity) en.nextElement(); 77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (current.getName().equals(name)) 78561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return current; 79561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 80561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return null; 81561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 83561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public Identity getIdentity(PublicKey pk) { 84561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Enumeration en = identities(); 85561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes while (en.hasMoreElements()) { 86561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Identity current = (Identity) en.nextElement(); 87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (current.getPublicKey() == pk) 88561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return current; 89561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 90561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return null; 91561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 92561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 93561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public Enumeration identities() { 94561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return identities.elements(); 95561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 96561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 97561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void addIdentity(Identity id) throws KeyManagementException { 98561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (identities.containsKey(id)) 99561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throw new KeyManagementException( 100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "This Identity is already contained in the scope"); 101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (getIdentity(id.getPublicKey()) != null) 102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throw new KeyManagementException( 103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "This Identity's public key already exists in the scope"); 104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes identities.put(id, id); 105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void removeIdentity(Identity id) throws KeyManagementException { 108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (!identities.containsKey(id)) 109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throw new KeyManagementException( 110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "This Identity is not contained in the scope"); 111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes identities.remove(id); 112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.security.IdentityScope#IdentityScope() 117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_Constructor() { 119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new IdentityScopeSubclass(); 120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.security.IdentityScope#IdentityScope(java.lang.String) 124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_ConstructorLjava_lang_String() { 126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new IdentityScopeSubclass("test"); 127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.security.IdentityScope#IdentityScope(java.lang.String, 131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * java.security.IdentityScope) 132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_ConstructorLjava_lang_StringLjava_security_IdentityScope() throws Exception { 134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new IdentityScopeSubclass("test", new IdentityScopeSubclass()); 135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.security.IdentityScope#addIdentity(java.security.Identity) 139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_addIdentityLjava_security_Identity() throws Exception { 141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes IdentityScopeSubclass sub = new IdentityScopeSubclass("test", 142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new IdentityScopeSubclass()); 143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Identity id = new IdentitySubclass("id1"); 144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes id.setPublicKey(pubKey); 145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sub.addIdentity(id); 146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Identity id2 = new IdentitySubclass("id2"); 148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes id2.setPublicKey(pubKey); 149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sub.addIdentity(id2); 150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("KeyManagementException should have been thrown"); 151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (KeyManagementException e) { 152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Expected 153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.security.IdentityScope#removeIdentity(java.security.Identity) 158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_removeIdentityLjava_security_Identity() throws Exception { 160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes IdentityScopeSubclass sub = new IdentityScopeSubclass("test", 161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new IdentityScopeSubclass()); 162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Identity id = new IdentitySubclass(); 163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes id.setPublicKey(pubKey); 164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sub.addIdentity(id); 165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sub.removeIdentity(id); 166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sub.removeIdentity(id); 168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("KeyManagementException should have been thrown"); 169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (KeyManagementException e) { 170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.security.IdentityScope#identities() 176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_identities() throws Exception { 178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes IdentityScopeSubclass sub = new IdentityScopeSubclass("test", 179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new IdentityScopeSubclass()); 180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Identity id = new IdentitySubclass(); 181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes id.setPublicKey(pubKey); 182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sub.addIdentity(id); 183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Enumeration en = sub.identities(); 184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong object contained in identities", en.nextElement() 185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .equals(id)); 186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Contains too many elements", !en.hasMoreElements()); 187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.security.IdentityScope#getIdentity(java.security.Principal) 191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getIdentityLjava_security_Principal() throws Exception { 193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Identity id = new IdentitySubclass("principal name"); 194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes id.setPublicKey(pubKey); 195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes IdentityScopeSubclass sub = new IdentityScopeSubclass("test", 196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new IdentityScopeSubclass()); 197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sub.addIdentity(id); 198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Identity returnedId = sub.getIdentity(id); 199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned Identity not the same as the added one", id, 200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes returnedId); 201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.security.IdentityScope#getIdentity(java.security.PublicKey) 205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getIdentityLjava_security_PublicKey() throws Exception { 207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes IdentityScopeSubclass sub = new IdentityScopeSubclass("test", 208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new IdentityScopeSubclass()); 209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Identity id = new IdentitySubclass(); 210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes id.setPublicKey(pubKey); 211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sub.addIdentity(id); 212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Identity returnedId = sub.getIdentity(pubKey); 213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned Identity not the same as the added one", id, 214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes returnedId); 215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.security.IdentityScope#getIdentity(java.lang.String) 219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getIdentityLjava_lang_String() throws Exception { 221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes IdentityScopeSubclass sub = new IdentityScopeSubclass("test", 222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new IdentityScopeSubclass()); 223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Identity id = new IdentitySubclass("test"); 224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes id.setPublicKey(pubKey); 225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sub.addIdentity(id); 226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Identity returnedId = sub.getIdentity("test"); 227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned Identity not the same as the added one", id, 228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes returnedId); 229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.security.IdentityScope#size() 233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_size() throws Exception { 235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes IdentityScopeSubclass sub = new IdentityScopeSubclass("test", 236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new IdentityScopeSubclass()); 237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Identity id = new IdentitySubclass(); 238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes id.setPublicKey(pubKey); 239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sub.addIdentity(id); 240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong size", 1, sub.size()); 241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.security.IdentityScope#toString() 245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_toString() throws Exception { 247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes IdentityScopeSubclass sub = new IdentityScopeSubclass("test", 248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new IdentityScopeSubclass()); 249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Identity id = new IdentitySubclass(); 250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes id.setPublicKey(pubKey); 251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes sub.addIdentity(id); 252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull("toString returned a null", sub.toString()); 253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Not a valid String ", sub.toString().length() > 0); 254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getIdentity() throws Exception { 257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //Regression for HARMONY-1173 258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes IdentityScope scope = IdentityScope.getSystemScope(); 259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes scope.getIdentity((String) null); 261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("NPE expected"); 262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException npe) {} 263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes} 265