| /******************************************************************************* |
| * Copyright (c) 2012 Tasktop Technologies and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Tasktop Technologies - initial API and implementation |
| *******************************************************************************/ |
| |
| package org.eclipse.mylyn.commons.repositories.tests.core; |
| |
| import static org.junit.Assert.assertEquals; |
| |
| import java.util.Arrays; |
| |
| import org.eclipse.mylyn.commons.repositories.core.auth.ICredentialsStore; |
| import org.junit.Test; |
| |
| /** |
| * @author Steffen Pingel |
| */ |
| public abstract class AbstractCredentialsStoreTest { |
| |
| @Test |
| public void testGetBooleanDefault() { |
| ICredentialsStore store = createCredentialsStore(); |
| assertEquals(true, store.getBoolean("key2", true)); |
| assertEquals(false, store.getBoolean("key2", false)); |
| } |
| |
| @Test |
| public void testGetStringDefault() { |
| ICredentialsStore store = createCredentialsStore(); |
| assertEquals("default", store.get("key2", "default")); |
| assertEquals("otherValue", store.get("key2", "otherValue")); |
| assertEquals(null, store.get("key2", null)); |
| } |
| |
| @Test |
| public void testKeys() { |
| ICredentialsStore store = createCredentialsStore(); |
| store.put("a", "value", false); |
| store.put("b", "value", true); |
| String[] keys = store.keys(); |
| Arrays.sort(keys); |
| assertEquals("[a, b]", Arrays.toString(keys)); |
| } |
| |
| @Test |
| public void testPutNull() { |
| ICredentialsStore store = createCredentialsStore(); |
| store.put("key", "value", false); |
| store.put("key", null, false); |
| // putting null is different from removing a key |
| assertEquals(null, store.get("key", "default")); |
| store.remove("key"); |
| assertEquals("default", store.get("key", "default")); |
| } |
| |
| @Test |
| public void testPutGetBooleanEncrypted() { |
| ICredentialsStore store = createCredentialsStore(); |
| store.putBoolean("key", true, true); |
| assertEquals(true, store.getBoolean("key", false)); |
| } |
| |
| @Test |
| public void testPutGetBooleanNotEncrypted() { |
| ICredentialsStore store = createCredentialsStore(); |
| store.putBoolean("key", true, false); |
| assertEquals(true, store.getBoolean("key", false)); |
| } |
| |
| @Test |
| public void testPutGetByteArrayDefault() { |
| ICredentialsStore store = createCredentialsStore(); |
| assertEquals(null, store.getByteArray("key2", null)); |
| assertEquals(Arrays.toString(new byte[] { 0x00, 0x32 }), |
| Arrays.toString(store.getByteArray("key2", new byte[] { 0x00, 0x32 }))); |
| } |
| |
| @Test |
| public void testPutGetByteArrayEncrypted() { |
| ICredentialsStore store = createCredentialsStore(); |
| store.putByteArray("key", new byte[] { 0x00, 0x32 }, true); |
| assertEquals(Arrays.toString(new byte[] { 0x00, 0x32 }), |
| Arrays.toString(store.getByteArray("key", new byte[] { 0x00, 0x32 }))); |
| } |
| |
| @Test |
| public void testPutGetByteArrayNotEncrypted() { |
| ICredentialsStore store = createCredentialsStore(); |
| store.putByteArray("key", new byte[] { 0x00, 0x32 }, false); |
| assertEquals(Arrays.toString(new byte[] { 0x00, 0x32 }), |
| Arrays.toString(store.getByteArray("key", new byte[] { 0x00, 0x32 }))); |
| } |
| |
| @Test |
| public void testPutGetStringEncrypted() { |
| ICredentialsStore store = createCredentialsStore(); |
| store.put("key", "valueGet", true); |
| assertEquals("valueGet", store.get("key", "default")); |
| } |
| |
| @Test |
| public void testPutGetStringEncryptedNotPersisted() { |
| ICredentialsStore store = createCredentialsStore(); |
| store.put("key", "valueGet", true, false); |
| assertEquals("valueGet", store.get("key", "default")); |
| store.put("key", "newValue", true, false); |
| assertEquals("newValue", store.get("key", "default")); |
| } |
| |
| @Test |
| public void testPutGetStringNotEncryptedNotPersisted() { |
| ICredentialsStore store = createCredentialsStore(); |
| store.put("key", "valueGet", false, false); |
| assertEquals("valueGet", store.get("key", "default")); |
| store.put("key", "newValue", false, false); |
| assertEquals("newValue", store.get("key", "default")); |
| } |
| |
| @Test |
| public void testPutGetStringNotEncrypted() { |
| ICredentialsStore store = createCredentialsStore(); |
| store.put("key", "valueGet", false); |
| assertEquals("valueGet", store.get("key", "default")); |
| } |
| |
| @Test |
| public void testRemoveEncrypted() { |
| ICredentialsStore store = createCredentialsStore(); |
| store.put("key", "value", true); |
| store.remove("key"); |
| assertEquals("default", store.get("key", "default")); |
| } |
| |
| @Test |
| public void testRemoveNonExistantEncrypted() { |
| ICredentialsStore store = createCredentialsStore(); |
| store.remove("key2"); |
| assertEquals("default", store.get("key2", "default")); |
| } |
| |
| @Test |
| public void testRemoveNotEncrypted() { |
| ICredentialsStore store = createCredentialsStore(); |
| store.put("key", "value", false); |
| store.remove("key"); |
| assertEquals("default", store.get("key", "default")); |
| } |
| |
| @Test |
| public void testRemoveKeys() { |
| ICredentialsStore store = createCredentialsStore(); |
| store.put("key", "value", false); |
| store.remove("key"); |
| assertEquals("[]", Arrays.toString(store.keys())); |
| } |
| |
| protected abstract ICredentialsStore createCredentialsStore(); |
| |
| } |