/******************************************************************************* * Copyright (c) 2010-2014 SAP AG 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: * SAP AG - initial API and implementation *******************************************************************************/ package org.eclipse.skalli.commands; import static org.easymock.EasyMock.createMock; import static org.eclipse.skalli.testutil.StorageKey.keyOf; import static org.junit.Assert.assertTrue; import java.io.ByteArrayInputStream; import java.io.UnsupportedEncodingException; import java.util.Arrays; import org.eclipse.osgi.framework.console.CommandInterpreter; import org.eclipse.skalli.testutil.HashMapStorageService; import org.eclipse.skalli.testutil.TestUUIDs; import org.junit.Test; @SuppressWarnings("nls") public class StorageCommandTest { static final String CATEGORY_PROJECT = "Project"; static final String KEY_1 = TestUUIDs.TEST_UUIDS[0].toString(); static final String KEY_2 = TestUUIDs.TEST_UUIDS[1].toString(); static final byte[] TEST_CONTENT_1 = getBytesUTF8("test content bla bal"); static final byte[] TEST_CONTENT_2 = getBytesUTF8("test content hello world"); @Test public void testCopy() throws Exception { HashMapStorageService source = new HashMapStorageService(); source.write(CATEGORY_PROJECT, KEY_1, new ByteArrayInputStream(TEST_CONTENT_1)); source.write(CATEGORY_PROJECT, KEY_2, new ByteArrayInputStream(TEST_CONTENT_2)); HashMapStorageService destination = new HashMapStorageService(); CommandInterpreter intr = createMock(CommandInterpreter.class); StorageCommand.copy(source, destination, CATEGORY_PROJECT, intr); assertTrue(Arrays.equals( TEST_CONTENT_1, destination.asMap().get(keyOf(CATEGORY_PROJECT, KEY_1)))); assertTrue(Arrays.equals( TEST_CONTENT_2, destination.asMap().get(keyOf(CATEGORY_PROJECT, KEY_2)))); } private static byte[] getBytesUTF8(String s) { try { return s.getBytes("UTF-8"); } catch (UnsupportedEncodingException e) { throw new IllegalStateException("UTF-8"); } } }