Package org.constretto.internal.store

Source Code of org.constretto.internal.store.EncryptedPropertiesStoreTest

package org.constretto.internal.store;

import org.constretto.model.Resource;
import org.constretto.model.TaggedPropertySet;
import org.jasypt.util.text.BasicTextEncryptor;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.contrib.java.lang.system.ProvideSystemProperty;

import java.util.List;
import java.util.Properties;

import static org.junit.Assert.assertEquals;

/**
* @author <a href="mailto:zapodot@gmail.com">zapodot</a>
*/
public class EncryptedPropertiesStoreTest {

    public static final String PROPERTY_KEY = "encryptionKey";
    public static final String ENCRYPTION_KEY = "constretto";
    public static final String KEY = "key";
    public static final String UNENCRYPTED_VALUE = "a value";

    @Rule
    public ProvideSystemProperty provideSystemProperty = new ProvideSystemProperty(PROPERTY_KEY, ENCRYPTION_KEY);

    private String encryptedValue;
    private Properties encryptedProperties;

    @Before
    public void setUp() throws Exception {
        final BasicTextEncryptor basicTextEncryptor = new BasicTextEncryptor();
        basicTextEncryptor.setPassword(ENCRYPTION_KEY);
        encryptedValue = basicTextEncryptor.encrypt(UNENCRYPTED_VALUE);
        encryptedProperties = new Properties();
        encryptedProperties.put(KEY, encryptedValue);

    }

    @Test
    public void testParseProperties() throws Exception {

        final EncryptedPropertiesStore encryptedPropertiesStore = new EncryptedPropertiesStore(PROPERTY_KEY);
        final Properties encrypted = encryptedPropertiesStore.parseProperties(encryptedProperties);
        assertEquals(encryptedValue, encrypted.getProperty(KEY));

    }

    @Test
    public void testParseConfigurationFromResource() throws Exception {

        final EncryptedPropertiesStore encryptedPropertiesStore = new EncryptedPropertiesStore(PROPERTY_KEY);
        final List<TaggedPropertySet> taggedPropertySets = encryptedPropertiesStore
                .addResource(Resource.create("classpath:encrypted.properties"))
                .parseConfiguration();
        assertEquals("Testing a property", taggedPropertySets.get(0).getProperties().get("encrypted_property"));

    }
}
TOP

Related Classes of org.constretto.internal.store.EncryptedPropertiesStoreTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.