/** * Copyright (c) 2013-2016, The SeedStack authors <http://seedstack.org> * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ package org.seedstack.seed.core.internal.crypto; import org.junit.Test; import org.seedstack.seed.SeedException; import org.seedstack.seed.crypto.CryptoConfig; import static org.junit.Assert.fail; public class KeyStoreLoaderTest { private static final String PATH_TO_KEYSTORE = "path/to/keystore"; private static final String PASSWORD = "password"; @Test public void testKeyStoreLoaderMissingFile() { try { new KeyStoreLoader().load("name", new CryptoConfig.KeyStoreConfig().setPath(PATH_TO_KEYSTORE).setPassword(PASSWORD)); } catch (SeedException se) { if (!se.getErrorCode().equals(CryptoErrorCode.KEYSTORE_NOT_FOUND)) { fail(); } } } @Test public void testKeyStoreLoaderMissingName() { try { new KeyStoreLoader().load(null, new CryptoConfig.KeyStoreConfig().setPath(PATH_TO_KEYSTORE).setPassword(PASSWORD).setType("type").setProvider("provider")); } catch (SeedException se) { if (!se.getErrorCode().equals(CryptoErrorCode.KEYSTORE_CONFIGURATION_ERROR)) { fail(); } } } @Test public void testKeyStoreLoaderMissingPath() { try { new KeyStoreLoader().load("name", new CryptoConfig.KeyStoreConfig().setPassword(PASSWORD).setType("type").setProvider("provider")); } catch (SeedException se) { if (!se.getErrorCode().equals(CryptoErrorCode.KEYSTORE_CONFIGURATION_ERROR)) { fail(); } } } @Test public void testKeyStoreLoaderMissingPassword() { try { new KeyStoreLoader().load("name", new CryptoConfig.KeyStoreConfig().setPath(PATH_TO_KEYSTORE).setType("type").setProvider("provider")); } catch (SeedException se) { if (!se.getErrorCode().equals(CryptoErrorCode.KEYSTORE_CONFIGURATION_ERROR)) { fail(); } } } @Test(expected = SeedException.class) public void testKeyStoreLoaderMissingProvider() { new KeyStoreLoader().load("name", new CryptoConfig.KeyStoreConfig().setPath(PATH_TO_KEYSTORE).setPassword(PASSWORD).setType("jks").setProvider("provider")); } }