blob: 969b02a7b7d549fb5734071b9234793283bb3974 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2012 Tasktop Technologies and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* https://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*
* 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.eclipse.mylyn.internal.commons.repositories.core.InMemoryCredentialsStore;
import org.eclipse.mylyn.internal.commons.repositories.core.SecureCredentialsStore;
import org.junit.Test;
/**
* @author Steffen Pingel
*/
public class CredentialsStoreTest {
@Test
public void testCopyInMemoryToSecure() {
InMemoryCredentialsStore source = new InMemoryCredentialsStore();
SecureCredentialsStore target = new SecureCredentialsStore(CredentialsStoreTest.class.getName());
target.clear();
putValues(source);
source.copyTo(target);
assertValues(target);
}
@Test
public void testCopyInMemoryToInMemory() {
InMemoryCredentialsStore source = new InMemoryCredentialsStore();
InMemoryCredentialsStore target = new InMemoryCredentialsStore();
putValues(source);
source.copyTo(target);
assertValues(target);
}
@Test(expected = IllegalArgumentException.class)
public void testCopySecureToInMemory() {
SecureCredentialsStore source = new SecureCredentialsStore(CredentialsStoreTest.class.getName());
source.clear();
InMemoryCredentialsStore target = new InMemoryCredentialsStore();
source.copyTo(target);
}
@Test
public void testCopySecureToSecure() {
SecureCredentialsStore source = new SecureCredentialsStore(CredentialsStoreTest.class.getName());
source.clear();
SecureCredentialsStore target = new SecureCredentialsStore(CredentialsStoreTest.class.getName() + "2");
target.clear();
putValues(source);
source.copyTo(target);
assertValues(target);
}
private void assertValues(ICredentialsStore target) {
assertEquals("value", target.get("key1", null));
assertEquals(true, target.getBoolean("key2", false));
assertEquals(Arrays.toString(new byte[] { 0x00, 0x05 }), Arrays.toString(target.getByteArray("key3", null)));
assertEquals("value2", target.get("keyNotEncrypted", null));
}
private void putValues(ICredentialsStore source) {
source.put("key1", "value", true);
source.putBoolean("key2", true, true);
source.putByteArray("key3", new byte[] { 0x00, 0x05 }, true);
source.put("keyNotEncrypted", "value2", false);
}
}