diff options
author | Zhaoxing <meng.zhaoxing1@zte.com.cn> | 2017-08-08 14:02:53 +0800 |
---|---|---|
committer | Zhaoxing <meng.zhaoxing1@zte.com.cn> | 2017-08-08 14:02:53 +0800 |
commit | c0604184b2aa8cff924ca783ec6b36f1f5988775 (patch) | |
tree | 1c70ffe1ad90c915b3382a37eb2fa80901519c7b /common-util | |
parent | 706fc9fed496972968fde136c3e4e10f9578a5b3 (diff) |
init code
Change-Id: Icd0948118397b256da70dfbcbbec5520dc5eafd4
Signed-off-by: Zhaoxing <meng.zhaoxing1@zte.com.cn>
Diffstat (limited to 'common-util')
21 files changed, 0 insertions, 2000 deletions
diff --git a/common-util/.gitignore b/common-util/.gitignore deleted file mode 100644 index be68b59..0000000 --- a/common-util/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/target/ -# Eclipse -.settings/ -.classpath -.project diff --git a/common-util/pom.xml b/common-util/pom.xml deleted file mode 100644 index 074cf13..0000000 --- a/common-util/pom.xml +++ /dev/null @@ -1,142 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Copyright 2016 Huawei Technologies Co., Ltd. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.openo.common-services.common-utilities</groupId> - <artifactId>common-setting</artifactId> - <version>1.1.0-SNAPSHOT</version> - </parent> - <artifactId>commonlib-cbb</artifactId> - <packaging>jar</packaging> - <properties> - <cxf.version>3.1.6</cxf.version> - </properties> - <dependencies> - <dependency> - <groupId>com.googlecode.jmockit</groupId> - <artifactId>jmockit</artifactId> - <scope>test</scope> - <version>1.1</version> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <scope>test</scope> - <version>4.8.2</version> - </dependency> - - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-lang3</artifactId> - </dependency> - <dependency> - <groupId>commons-io</groupId> - <artifactId>commons-io</artifactId> - </dependency> - - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - </dependency> - - <dependency> - <groupId>org.codehaus.jackson</groupId> - <artifactId>jackson-mapper-asl</artifactId> - </dependency> - <dependency> - <groupId>net.sf.json-lib</groupId> - <artifactId>json-lib</artifactId> - <classifier>jdk15</classifier> - </dependency> - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <version>2.5</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>com.github.stephenc.jcip</groupId> - <artifactId>jcip-annotations</artifactId> - <version>1.0-1</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.apache.cxf</groupId> - <artifactId>cxf-rt-frontend-jaxrs</artifactId> - <version>${cxf.version}</version> - </dependency> - <dependency> - <groupId>org.apache.cxf</groupId> - <artifactId>cxf-rt-rs-client</artifactId> - <version>${cxf.version}</version> - </dependency> - <dependency> - <groupId>org.apache.cxf</groupId> - <artifactId>cxf-rt-transports-http-hc</artifactId> - <version>${cxf.version}</version> - </dependency> - <dependency> - <groupId>org.codehaus.jackson</groupId> - <artifactId>jackson-jaxrs</artifactId> - <version>1.9.2</version> - </dependency> - </dependencies> - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-release-plugin</artifactId> - <version>2.5.2</version> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-surefire-plugin</artifactId> - <configuration> - <argLine>-XX:-UseSplitVerifier</argLine> - <skip>${maven.test.skip}</skip> - <testFailureIgnore>${maven.test.failure.ignore}</testFailureIgnore> - <excludes> - <exclude>${excludesFile}</exclude> - </excludes> - </configuration> - </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>cobertura-maven-plugin</artifactId> - <version>2.6</version> - <configuration> - <formats> - <format>xml</format> - <format>html</format> - </formats> - </configuration> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>cobertura</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - - -<name>common-services-common-utilities/common-util</name></project> diff --git a/common-util/src/main/java/org/openo/baseservice/bus/util/BusConstant.java b/common-util/src/main/java/org/openo/baseservice/bus/util/BusConstant.java deleted file mode 100644 index ab2bcd1..0000000 --- a/common-util/src/main/java/org/openo/baseservice/bus/util/BusConstant.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.baseservice.bus.util; - -/** - * <p> - * An class which holds the all the constant values for the Bus register CBB. - * </p> - * <br/> - * - * @author - * @version - */ -public final class BusConstant { - - public static final String JSON = "json"; - - public static final String BUS_CONFIGURE_FILE = "/etc/microservice.ini"; - - public static final String BUS_SERVICE_URL = "/openoapi/microservices/v1/services"; - - public static final String BUS_ADDRESS_KEY = "msb.address"; - - public static final String APPLICATION_JSON_HEADER = "application/json"; - - public static final String CREATE_OR_UPDATE = "createOrUpdate"; - - public static final String MICROSERVICE_DEFAULT = "msb.openo.org:80"; - - public static final String MICROSERVICE_PATH = "/etc/microservice"; - - public static final String POST_METHOD = "POST"; - - public static final String HTTP_HEAD = "http://"; -} diff --git a/common-util/src/main/java/org/openo/baseservice/bus/util/RegisterService.java b/common-util/src/main/java/org/openo/baseservice/bus/util/RegisterService.java deleted file mode 100644 index d1926c7..0000000 --- a/common-util/src/main/java/org/openo/baseservice/bus/util/RegisterService.java +++ /dev/null @@ -1,177 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.openo.baseservice.bus.util; - -import java.io.FileInputStream; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Properties; - -import javax.ws.rs.core.Response; - -import org.apache.cxf.jaxrs.client.WebClient; -import org.codehaus.jackson.jaxrs.JacksonJsonProvider; -import org.openo.baseservice.util.impl.SystemEnvVariablesFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Provide the service register cbb for common use. <br/> - * <p> - * </p> - * - * @author - * @version - */ -public class RegisterService { - - private static final Logger LOGGER = LoggerFactory.getLogger(RegisterService.class); - - private static String busPath = null; - - /** - * Constructor<br/> - * <p> - * </p> - * - * @throws IOException - * - * @since - */ - private RegisterService() { - } - - /** - * register the micro service. <br/> - * - * @param jsonPath: - * the service json object to register to the bus. - * @param createOrUpdate: - * true, create and update the old ip port. false, create and - * delete the old one; - * @return - * @throws IOException - * @since - */ - public static Response registerService(String jsonPath, boolean createOrUpdate) throws IOException { - - String serviceInfo = getServiceModel(jsonPath); - - WebClient client = initializeClient(); - - client.type(BusConstant.APPLICATION_JSON_HEADER); - - client.accept(BusConstant.APPLICATION_JSON_HEADER); - - client.path(BusConstant.BUS_SERVICE_URL); - - client.query(BusConstant.CREATE_OR_UPDATE, createOrUpdate); - - LOGGER.info("Connecting bus address : " + busPath + BusConstant.BUS_SERVICE_URL); - - return client.invoke(BusConstant.POST_METHOD, serviceInfo); - - } - - /** - * get the service's model. and return it as a string ; <br/> - * - * @param jsonPath - * @return - * @since - */ - private static String getServiceModel(String jsonPath) { - - String serviceInfo = ""; - - try { - LOGGER.info("begin to read file micro service json " + jsonPath); - - FileInputStream busFile = new FileInputStream(jsonPath); - - int size = busFile.available(); - - byte[] buffer = new byte[size]; - - busFile.read(buffer); - - busFile.close(); - - serviceInfo = new String(buffer); - LOGGER.info("finished to read micro service json file. "); - } catch (Exception ex) { - LOGGER.error("Read the micro service json file error :", ex); - } - return serviceInfo; - } - - /** - * initialize the bus ip and port. <br/> - * - * @return - * @throws IOException - * @since - */ - private static String getBusAddress() throws IOException { - - LOGGER.info("begin to get the bus baseurl."); - FileInputStream busFile = null; - String url = BusConstant.MICROSERVICE_DEFAULT; - - String filePath = SystemEnvVariablesFactory.getInstance().getAppRoot() + BusConstant.BUS_CONFIGURE_FILE; - LOGGER.info("bus base url file:" + filePath); - - Properties properties = new Properties(); - - try { - busFile = new FileInputStream(filePath); - properties.load(busFile); - url = properties.getProperty(BusConstant.BUS_ADDRESS_KEY); - } catch (IOException e) { - if (busFile != null) { - busFile.close(); - } - LOGGER.error("Read the bus url failed: ", e); - } - - LOGGER.info("initialize the bus baseurl is: " + url); - return BusConstant.HTTP_HEAD + url; - } - - /** - * get the bus's client's address. and initialize the web client. <br/> - * - * @return - * @throws IOException - * @since - */ - private static WebClient initializeClient() throws IOException { - - final List<Object> providers = new ArrayList<Object>(); - - JacksonJsonProvider jacksonJsonProvider = new JacksonJsonProvider(); - - providers.add(jacksonJsonProvider); - - if (busPath == null) { - busPath = getBusAddress(); - } - - return WebClient.create(busPath, providers); - } -} diff --git a/common-util/src/main/java/org/openo/baseservice/bus/util/RegisterServiceListener.java b/common-util/src/main/java/org/openo/baseservice/bus/util/RegisterServiceListener.java deleted file mode 100644 index c4e1417..0000000 --- a/common-util/src/main/java/org/openo/baseservice/bus/util/RegisterServiceListener.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.openo.baseservice.bus.util; - -import java.io.File; -import java.io.IOException; - -import javax.servlet.ServletContextEvent; -import javax.servlet.ServletContextListener; - -import org.openo.baseservice.util.impl.SystemEnvVariablesFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Initialize the service register listener. <br/> - * <p> - * </p> - * - * @author - * @version - */ -public class RegisterServiceListener implements ServletContextListener { - - private static final Logger LOGGER = LoggerFactory.getLogger(RegisterServiceListener.class); - - @Override - public void contextInitialized(ServletContextEvent sce) { - - String servicePath = SystemEnvVariablesFactory.getInstance().getAppRoot() + BusConstant.MICROSERVICE_PATH; - LOGGER.info("microservices json file path is" + servicePath); - - File file = new File(servicePath); - - File[] fileList = file.listFiles(); - - for (File tempFile : fileList) { - String fileName = tempFile.getName(); - if (fileName.substring(fileName.lastIndexOf('.') + 1).equalsIgnoreCase(BusConstant.JSON)) { - LOGGER.info("begin to initialize the service file" + tempFile.getAbsolutePath()); - - try { - RegisterService.registerService(tempFile.getAbsolutePath(), true); - } catch (IOException e) { - LOGGER.error("Faile to register the service file :" + tempFile.getPath() + ", exception:" + e); - } - } - } - } - - @Override - public void contextDestroyed(ServletContextEvent sce) { - // TODO Auto-generated method stub - - } -} diff --git a/common-util/src/main/java/org/openo/baseservice/encrypt/cbb/CipherCreator.java b/common-util/src/main/java/org/openo/baseservice/encrypt/cbb/CipherCreator.java deleted file mode 100644 index d964cbc..0000000 --- a/common-util/src/main/java/org/openo/baseservice/encrypt/cbb/CipherCreator.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.baseservice.encrypt.cbb; - -import org.openo.baseservice.encrypt.cbb.impl.AesCipherFactory; -import org.openo.baseservice.encrypt.cbb.inf.AbstractCipher; -import org.openo.baseservice.encrypt.cbb.inf.AbstractCipherFactory; - -/** - * Helps create cipher instances from factory.<br/> - * <p> - * Creates the cipher instances using cipher factory. By default it uses AesCipherFactory. - * Can be changed through spring. - * </p> - * - * @author - * @version 08-Jun-2016 - */ -public final class CipherCreator { - - private static CipherCreator instance = new CipherCreator(); - - private AbstractCipherFactory factory = new AesCipherFactory(); - - /** - * Constructor<br/> - * <p> - * private - * </p> - * - * @since - */ - private CipherCreator() { - - } - - /** - * Singleton instance. - * <br/> - * - * @return - * @since - */ - public static CipherCreator instance() { - return instance; - } - - /** - * Creates cipher with default key. - * <br/> - * - * @return cipher instance with default key. - * @since - */ - public AbstractCipher create() { - return factory.createCipherManager(); - } - - /** - * Creates cipher instance with a key. - * <br/> - * - * @param key the key to be used for encryption and decryption. - * @return cipher instance with specified key. - * @since - */ - public AbstractCipher create(final String key) { - return factory.createCipherManager(key); - } - - /** - * Sets the cipher factory instance. - * <br/> - * - * @param factory cipher factory. - * @since - */ - public void setFactory(final AbstractCipherFactory factory) { - this.factory = factory; - } - -} diff --git a/common-util/src/main/java/org/openo/baseservice/encrypt/cbb/impl/AesCipher.java b/common-util/src/main/java/org/openo/baseservice/encrypt/cbb/impl/AesCipher.java deleted file mode 100644 index f117269..0000000 --- a/common-util/src/main/java/org/openo/baseservice/encrypt/cbb/impl/AesCipher.java +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.openo.baseservice.encrypt.cbb.impl; - -import java.security.NoSuchAlgorithmException; -import java.security.spec.InvalidKeySpecException; -import java.security.spec.KeySpec; - -import javax.crypto.Cipher; -import javax.crypto.SecretKey; -import javax.crypto.SecretKeyFactory; -import javax.crypto.spec.IvParameterSpec; -import javax.crypto.spec.PBEKeySpec; -import javax.crypto.spec.SecretKeySpec; -import javax.xml.bind.DatatypeConverter; - -import org.openo.baseservice.encrypt.cbb.inf.AbstractCipher; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * CipherManager implement<br/> - * <p> - * </p> - * - * @author - * @version 31-May-2016 - */ -public class AesCipher implements AbstractCipher { - - private static final Logger LOG = LoggerFactory.getLogger(AesCipher.class); - - private static final byte[] DEFAULT_IV = {2, 1, 4, 8, 0, 3, 2, 0, 7, 9, 2, 8, 5, 11, 6, 1}; - - private static final IvParameterSpec IV_PARAMETER_SPEC = new IvParameterSpec(DEFAULT_IV); - - protected final SecretKey secretKey; - - /** - * Constructor<br/> - * <p> - * Creates default key. - * </p> - * - * @since - */ - public AesCipher() { - super(); - secretKey = createSecretKey("default"); - } - - /** - * - * Constructor<br/> - * <p> - * </p> - * Creates key. - * @param key - * @since - */ - public AesCipher(final String key) { - super(); - secretKey = createSecretKey(key); - } - - private SecretKey createSecretKey(final String key) { - SecretKey secretKey = null; - try { - final SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1"); - final KeySpec keySpec = new PBEKeySpec(key.toCharArray(), DEFAULT_IV, 30000, 128); - - secretKey = keyFactory.generateSecret(keySpec); - return new SecretKeySpec(secretKey.getEncoded(), "AES"); - } catch(InvalidKeySpecException e) { - LOG.error("Invalid KeySpec ", e); - } catch(NoSuchAlgorithmException e) { - LOG.error("Algorithm do not support: ", e); - } - return null; - } - - @Override - public String encrypt(final String plain) { - try { - final Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); - cipher.init(Cipher.ENCRYPT_MODE, secretKey, IV_PARAMETER_SPEC); - final byte[] encryptToBytes = cipher.doFinal(plain.getBytes()); - return DatatypeConverter.printBase64Binary(encryptToBytes); - } catch(final Exception e) { - LOG.error("Encrypt the plain error:", e); - return null; - } - } - - @Override - public String decrypt(final String encrypted) { - - if(encrypted == null || encrypted.length() == 0) { - return null; - } - - if(secretKey == null) { - return null; - } - - try { - final Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); - cipher.init(Cipher.DECRYPT_MODE, secretKey, IV_PARAMETER_SPEC); - final byte[] tempBytes = DatatypeConverter.parseBase64Binary(encrypted); - final byte[] decrypTobytes = cipher.doFinal(tempBytes); - return new String(decrypTobytes); - } catch(final Exception e) { - LOG.error("decrypt the plain error:", e); - return null; - } - } - -} diff --git a/common-util/src/main/java/org/openo/baseservice/encrypt/cbb/impl/AesCipherFactory.java b/common-util/src/main/java/org/openo/baseservice/encrypt/cbb/impl/AesCipherFactory.java deleted file mode 100644 index 95e7336..0000000 --- a/common-util/src/main/java/org/openo/baseservice/encrypt/cbb/impl/AesCipherFactory.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.baseservice.encrypt.cbb.impl; - -import org.openo.baseservice.encrypt.cbb.inf.AbstractCipher; -import org.openo.baseservice.encrypt.cbb.inf.AbstractCipherFactory; - -/** - * Factory class to create CipherManager instances.<br/> - * <p> - * </p> - * - * @author - * @version 03-Jun-2016 - */ -public class AesCipherFactory implements AbstractCipherFactory { - - /** - * Creates new CipherManager instance.<br/> - * - * @return new cipher manager instance. - * @since - */ - @Override - public AbstractCipher createCipherManager() { - return new AesCipher(); - } - - /** - * Creates new CipherManager instance.<br/> - * - * @param key new cipher manager instance. - * @return - * @since - */ - @Override - public AbstractCipher createCipherManager(final String key) { - return new AesCipher(key); - } - -} diff --git a/common-util/src/main/java/org/openo/baseservice/encrypt/cbb/inf/AbstractCipher.java b/common-util/src/main/java/org/openo/baseservice/encrypt/cbb/inf/AbstractCipher.java deleted file mode 100644 index 608dd82..0000000 --- a/common-util/src/main/java/org/openo/baseservice/encrypt/cbb/inf/AbstractCipher.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.baseservice.encrypt.cbb.inf; - -/** - * Cipher Manager, provides the encrypt/decrypt interface - * <br/> - * <p> - * It provides bi-directional encryption api. - * </p> - * - * @author - * @version 31-May-2016 - */ -public interface AbstractCipher { - - /** - * Encrypt a string. - * <br/> - * - * @param plain string to be encrypted. - * @return encrypted string. - * @since - */ - String encrypt(String plain); - - /** - * Decrypt a string. - * <br/> - * - * @param encrypted String is encrypted by AES 128 - * @return plain after decrypt - * @since - */ - String decrypt(String encrypted); - -} diff --git a/common-util/src/main/java/org/openo/baseservice/encrypt/cbb/inf/AbstractCipherFactory.java b/common-util/src/main/java/org/openo/baseservice/encrypt/cbb/inf/AbstractCipherFactory.java deleted file mode 100644 index e820250..0000000 --- a/common-util/src/main/java/org/openo/baseservice/encrypt/cbb/inf/AbstractCipherFactory.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.baseservice.encrypt.cbb.inf; - -/** - * Factory class to create CipherManager instances.<br/> - * <p> - * </p> - * - * @author - * @version 03-Jun-2016 - */ -public interface AbstractCipherFactory { - - /** - * Creates new CipherManager instance.<br/> - * - * @return new cipher manager instance. - * @since - */ - AbstractCipher createCipherManager(); - - /** - * Creates new CipherManager instance.<br/> - * - * @param key new cipher manager instance. - * @return - * @since - */ - AbstractCipher createCipherManager(final String key); - -} diff --git a/common-util/src/main/java/org/openo/baseservice/encrypt/cbb/sha/Sha256.java b/common-util/src/main/java/org/openo/baseservice/encrypt/cbb/sha/Sha256.java deleted file mode 100644 index bbead3e..0000000 --- a/common-util/src/main/java/org/openo/baseservice/encrypt/cbb/sha/Sha256.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.baseservice.encrypt.cbb.sha; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.nio.charset.StandardCharsets; -import java.security.InvalidKeyException; -import java.security.Key; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; - -import javax.crypto.Mac; -import javax.crypto.spec.SecretKeySpec; -import javax.xml.bind.DatatypeConverter; - -/** - * Utility to generate SHA256 digest and HMAC.<br/> - * <p> - * </p> - * - * @author - * @version 03-Jun-2016 - */ -public final class Sha256 { - - private static final Logger LOGGER = LoggerFactory.getLogger(Sha256.class); - - private Sha256() { - - } - - /** - * Generates SHA256 digest.<br/> - * - * @param data: The data to be digested. - * @return Hex encoded digested data. - * @since - */ - public static String digest(final String data) { - final byte[] dataBytes = data.getBytes(StandardCharsets.UTF_8); - MessageDigest md = null; - try { - md = MessageDigest.getInstance("SHA-256"); - } catch(final NoSuchAlgorithmException e) { - LOGGER.error("No SHA-256 support ", e); - return ""; - } - final byte[] digest = md.digest(dataBytes); - return DatatypeConverter.printHexBinary(digest); - } - - /** - * Generates hmac signature using data and key.<br/> - * - * @param data: The data to be signed. - * @param key: The signing key. - * @return Hex encoded HMAC signature. - * @throws InvalidKeyException if the key is invalid. - * @since - */ - public static String mac(final String data, final Key key) throws InvalidKeyException { - final byte[] dataBytes = data.getBytes(StandardCharsets.UTF_8); - Mac mac = null; - try { - mac = Mac.getInstance("HmacSHA256"); - mac.init(key); - } catch(final NoSuchAlgorithmException e) { - LOGGER.error("SHA mac not supported", e); - return ""; - } - final byte[] digest = mac.doFinal(dataBytes); - return DatatypeConverter.printHexBinary(digest); - - } - - /** - * Generates hmac with data and secret. - * <br/> - * - * @param data: The data to be signed. - * @param secret: The signing key. - * @return Hex encoded HMAC signature. - * @since - */ - public static String mac(final String data, final byte[] secret) { - final Key key = new SecretKeySpec(secret, "HmacSHA256"); - try { - return mac(data, key); - } catch(final InvalidKeyException e) { - LOGGER.error("Invalid key: ", e); - return ""; - } - } - -} diff --git a/common-util/src/main/java/org/openo/baseservice/util/RestUtils.java b/common-util/src/main/java/org/openo/baseservice/util/RestUtils.java deleted file mode 100644 index 2661d69..0000000 --- a/common-util/src/main/java/org/openo/baseservice/util/RestUtils.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.baseservice.util; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; - -import javax.servlet.http.HttpServletRequest; - -/** - * Utility functions for ROA.<br/> - * <p> - * </p> - * - * @author - * @version 31-May-2016 - */ -public final class RestUtils { - - private static final Logger LOGGER = LoggerFactory.getLogger(RestUtils.class); - - private RestUtils() { - - } - - /** - * To get body from http request<br/> - * - * @param request : request object. - * @return Request body as string. - * @since - */ - public static String getRequestBody(final HttpServletRequest request) { - String body = null; - final StringBuilder stringBuilder = new StringBuilder(); - BufferedReader bufferedReader = null; - - try { - final InputStream inputStream = request.getInputStream(); - if(inputStream != null) { - bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); - final char[] charBuffer = new char[128]; - int bytesRead = -1; - while((bytesRead = bufferedReader.read(charBuffer)) > 0) { - stringBuilder.append(charBuffer, 0, bytesRead); - } - } - } catch(final IOException ex) { - LOGGER.error("read inputStream buffer catch exception:", ex); - } finally { - if(bufferedReader != null) { - try { - bufferedReader.close(); - } catch(final IOException ex) { - LOGGER.error("close buffer catch exception:", ex); - } - } - } - - body = stringBuilder.toString(); - return body; - } - -} diff --git a/common-util/src/main/java/org/openo/baseservice/util/impl/SystemEnvVariablesDefImpl.java b/common-util/src/main/java/org/openo/baseservice/util/impl/SystemEnvVariablesDefImpl.java deleted file mode 100644 index 0ac707b..0000000 --- a/common-util/src/main/java/org/openo/baseservice/util/impl/SystemEnvVariablesDefImpl.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.baseservice.util.impl; - -import org.openo.baseservice.util.inf.SystemEnvVariables; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.io.IOException; - -/** - * System environment variable helper implementation.<br/> - * <p> - * </p> - * - * @author - * @version 24-Jun-2016 - */ -public class SystemEnvVariablesDefImpl implements SystemEnvVariables { - - private static final Logger LOG = LoggerFactory.getLogger(SystemEnvVariablesDefImpl.class); - - @Override - public String getAppRoot() { - String appRoot = null; - appRoot = System.getProperty("catalina.base"); - if(appRoot != null) { - appRoot = getCanonicalPath(appRoot); - } - return appRoot; - } - - /** - * Gets the canonical path<br/> - * - * @param inPath input path - * @return the canonical path. - * @since - */ - private String getCanonicalPath(final String inPath) { - String path = null; - try { - if(inPath != null) { - final File file = new File(inPath); - path = file.getCanonicalPath(); - } - } catch(final IOException e) { - LOG.error("file.getCanonicalPath() IOException:", e); - } - return path; - } - -} diff --git a/common-util/src/main/java/org/openo/baseservice/util/impl/SystemEnvVariablesFactory.java b/common-util/src/main/java/org/openo/baseservice/util/impl/SystemEnvVariablesFactory.java deleted file mode 100644 index e75c997..0000000 --- a/common-util/src/main/java/org/openo/baseservice/util/impl/SystemEnvVariablesFactory.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.openo.baseservice.util.impl; - -import org.openo.baseservice.util.inf.SystemEnvVariables; - -/** - * SystemEnvVariables factory class - * <br/> - * <p> - * </p> - * - * @author - * @version - */ -public class SystemEnvVariablesFactory { - - private static SystemEnvVariables systemEnvVariablesInstance = new SystemEnvVariablesDefImpl(); - - /** - * - * Constructor<br/> - * <p> - * </p> - * - * @since - */ - private SystemEnvVariablesFactory() { - - } - /** - * get the SystemEnvVariables instance - * <br/> - * - * @return SystemEnvVariables instance - * @since - */ - public static SystemEnvVariables getInstance() { - return systemEnvVariablesInstance; - } -} diff --git a/common-util/src/main/java/org/openo/baseservice/util/inf/SystemEnvVariables.java b/common-util/src/main/java/org/openo/baseservice/util/inf/SystemEnvVariables.java deleted file mode 100644 index cf0c182..0000000 --- a/common-util/src/main/java/org/openo/baseservice/util/inf/SystemEnvVariables.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.baseservice.util.inf; - -/** - * Dependency the system env<br/> - * <p> - * </p> - * - * @author - * @version 31-May-2016 - */ -public interface SystemEnvVariables { - - /** - * Get application root path <br/> - * - * @return application root path. - * @since - */ - String getAppRoot(); -} diff --git a/common-util/src/test/java/org/openo/baseservice/bus/util/TestRegisterService.java b/common-util/src/test/java/org/openo/baseservice/bus/util/TestRegisterService.java deleted file mode 100644 index 88f5ddd..0000000 --- a/common-util/src/test/java/org/openo/baseservice/bus/util/TestRegisterService.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.baseservice.bus.util; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; - -import javax.ws.rs.core.Response; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.openo.baseservice.util.impl.SystemEnvVariablesDefImpl; - -import junit.framework.Assert; -import mockit.Mock; -import mockit.MockUp; - -public class TestRegisterService { - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - - } - - @Test - public void testregisterServce() throws IOException { - - File file = new File(""); - Response res = null; - - final String path = file.getAbsolutePath(); - - new MockUp<SystemEnvVariablesDefImpl>() { - @Mock - public String getAppRoot() { - return path; - } - }; - - try { - res = RegisterService.registerService(path, true); - } catch(Exception e) { - Assert.assertNotNull(e); - } - - } -} - diff --git a/common-util/src/test/java/org/openo/baseservice/bus/util/TestRegisterServiceListener.java b/common-util/src/test/java/org/openo/baseservice/bus/util/TestRegisterServiceListener.java deleted file mode 100644 index 429d986..0000000 --- a/common-util/src/test/java/org/openo/baseservice/bus/util/TestRegisterServiceListener.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.baseservice.bus.util; - -import java.io.File; - -import javax.servlet.ServletContextEvent; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import mockit.Mock; -import mockit.MockUp; - -public class TestRegisterServiceListener { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - - } - - @Test - public void testRegisterServiceListener() { - - RegisterServiceListener impl = new RegisterServiceListener(); - - ServletContextEvent sce = null; - - new MockUp<File>() { - @Mock - public File[] listFiles() { - File file = new File(""); - File[] filelist = new File[]{file}; - return filelist; - } - - }; - - impl.contextInitialized(sce); - } - -} diff --git a/common-util/src/test/java/org/openo/baseservice/encrypt/cbb/impl/AesCipherTest.java b/common-util/src/test/java/org/openo/baseservice/encrypt/cbb/impl/AesCipherTest.java deleted file mode 100644 index c66e36a..0000000 --- a/common-util/src/test/java/org/openo/baseservice/encrypt/cbb/impl/AesCipherTest.java +++ /dev/null @@ -1,210 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.baseservice.encrypt.cbb.impl; - -import java.security.NoSuchAlgorithmException; -import java.security.spec.InvalidKeySpecException; - -import javax.crypto.Cipher; -import javax.crypto.SecretKeyFactory; - -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.openo.baseservice.encrypt.cbb.CipherCreator; -import org.openo.baseservice.encrypt.cbb.inf.AbstractCipher; - -import junit.framework.Assert; -import mockit.Mocked; -import mockit.NonStrictExpectations; - -/** - * <br/> - * <p> - * </p> - * - * @author - * @version 02-Jun-2016 - */ -public class AesCipherTest { - - /** - * <br/> - * - * @throws java.lang.Exception - * @since - */ - @BeforeClass - public static void setUpBeforeClass() throws Exception { - CipherCreator.instance().setFactory(new AesCipherFactory()); - } - - /** - * <br/> - * - * @throws java.lang.Exception - * @since - */ - @AfterClass - public static void tearDownAfterClass() throws Exception { - } - - /** - * <br/> - * - * @throws java.lang.Exception - * @since - */ - @Before - public void setUp() throws Exception { - } - - /** - * <br/> - * - * @throws java.lang.Exception - * @since - */ - @After - public void tearDown() throws Exception { - } - - /** - * Test method for - * {@link org.openo.baseservice.encrypt.cbb.impl.AesCipher#encrypt(java.lang.String)}. - */ - @Test - public void testEncrypt() { - final AbstractCipher cipherManager = CipherCreator.instance().create(); - final String encrypted = cipherManager.encrypt("test-encrypt"); - final String decrypted = cipherManager.decrypt(encrypted); - - Assert.assertEquals("test-encrypt", decrypted); - } - - @Test - public void testEncryptException() throws Exception { - new NonStrictExpectations() { - - @Mocked - Cipher cipher; - - { - cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); - result = new InvalidKeySpecException(); - } - }; - final AbstractCipher cipherManager = CipherCreator.instance().create(); - final String encrypted = cipherManager.encrypt("test-encrypt"); - - Assert.assertEquals(null, encrypted); - } - - /** - * Test method for - * {@link org.openo.baseservice.encrypt.cbb.impl.AesCipher#decrypt(java.lang.String)}. - */ - @Test - public void testDecrypt() { - final AbstractCipher cipherManager = CipherCreator.instance().create(); - final String encrypted = cipherManager.encrypt("test-encrypt"); - final String decrypted = cipherManager.decrypt(encrypted); - - Assert.assertEquals("test-encrypt", decrypted); - } - - @Test - public void testDecryptNull() { - final AbstractCipher cipherManager = CipherCreator.instance().create(); - String decrypted = cipherManager.decrypt(null); - Assert.assertEquals(null, decrypted); - - decrypted = cipherManager.decrypt(""); - - Assert.assertEquals(null, decrypted); - } - - /** - * Test method for - * {@link - * org.openo.baseservice.encrypt.cbb.impl.AesCipher#CipherManagerImpl(java.lang.String)} - * . - */ - @Test - public void testCipherManagerImplString() { - final AbstractCipher cipherManager = CipherCreator.instance().create("secret-key"); - final String encrypted = cipherManager.encrypt("test-encrypt"); - final String decrypted = cipherManager.decrypt(encrypted); - - Assert.assertEquals("test-encrypt", decrypted); - } - - /** - * <br/> - * - * @since - */ - @Test - public void testCipherManagerImplStringDiffKey() { - final String encrypted = CipherCreator.instance().create("secret-key").encrypt("test-encrypt"); - final String decrypted = CipherCreator.instance().create("wrong-key").decrypt(encrypted); - - Assert.assertNotSame("test-encrypt", decrypted); - - final String decrypt = CipherCreator.instance().create("secret-key").decrypt(encrypted); - Assert.assertEquals("test-encrypt", decrypt); - } - - @Test - public void testCreateSecretKeyNoSuchAlgorithmException() throws Exception { - new NonStrictExpectations() { - - @Mocked - SecretKeyFactory keyFactory; - - { - keyFactory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1"); - result = new NoSuchAlgorithmException(); - } - }; - - final AbstractCipher cipherManager = CipherCreator.instance().create("secret-key"); - final String encrypted = cipherManager.encrypt("test-encrypt"); - Assert.assertEquals(encrypted, null); - - } - - @Test - public void testCreateSecretKeyInvalidKeySpecException() throws Exception { - new NonStrictExpectations() { - - @Mocked - SecretKeyFactory keyFactory; - - { - keyFactory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1"); - result = new InvalidKeySpecException(); - } - }; - - final AbstractCipher cipherManager = CipherCreator.instance().create("secret-key"); - final String decrypted = cipherManager.decrypt("test-encrypt"); - Assert.assertEquals(decrypted, null); - - } -} diff --git a/common-util/src/test/java/org/openo/baseservice/encrypt/cbb/sha/Sha256Test.java b/common-util/src/test/java/org/openo/baseservice/encrypt/cbb/sha/Sha256Test.java deleted file mode 100644 index f7eaf23..0000000 --- a/common-util/src/test/java/org/openo/baseservice/encrypt/cbb/sha/Sha256Test.java +++ /dev/null @@ -1,193 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.baseservice.encrypt.cbb.sha; - -import static org.junit.Assert.fail; - -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; - -import java.security.InvalidKeyException; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; - -import javax.crypto.Mac; -import javax.crypto.spec.SecretKeySpec; - -import mockit.Mocked; -import mockit.NonStrictExpectations; -import mockit.integration.junit4.JMockit; - -/** - * <br/> - * <p> - * </p> - * - * @author - * @version 03-Jun-2016 - */ -@RunWith(JMockit.class) -public class Sha256Test { - - /** - * <br/> - * - * @throws java.lang.Exception - * @since - */ - @BeforeClass - public static void setUpBeforeClass() throws Exception { - } - - /** - * <br/> - * - * @throws java.lang.Exception - * @since - */ - @AfterClass - public static void tearDownAfterClass() throws Exception { - } - - /** - * <br/> - * - * @throws java.lang.Exception - * @since - */ - @Before - public void setUp() throws Exception { - } - - /** - * <br/> - * - * @throws java.lang.Exception - * @since - */ - @After - public void tearDown() throws Exception { - } - - /** - * Test method for {@link org.openo.baseservice.encrypt.cbb.sha.Sha256#digest(java.lang.String)} - * . - */ - @Test - public void testDigest() { - String plain = ""; - String expected = "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855"; - Assert.assertEquals(expected, Sha256.digest(plain)); - - expected = "D7A8FBB307D7809469CA9ABCB0082E4F8D5651E46D3CDB762D02D0BF37C9E592"; - plain = "The quick brown fox jumps over the lazy dog"; - Assert.assertEquals(expected, Sha256.digest(plain)); - } - - @Test - public void testDigestException() throws Exception { - new NonStrictExpectations() { - - @Mocked - MessageDigest md; - - { - md = MessageDigest.getInstance("SHA-256"); - result = new NoSuchAlgorithmException(); - } - }; - final String plain = ""; - final String expected = ""; - Assert.assertEquals(expected, Sha256.digest(plain)); - - } - - /** - * Test method for - * {@link org.openo.baseservice.encrypt.cbb.sha.Sha256#mac(java.lang.String, java.security.Key)} - * . - * - * @throws InvalidKeyException - */ - @Test - public void testMacStringKey() { - final String expected = "F7BC83F430538424B13298E6AA6FB143EF4D59A14946175997479DBC2D1A3CD8"; - final String plain = "The quick brown fox jumps over the lazy dog"; - try { - Assert.assertEquals(expected, Sha256.mac(plain, new SecretKeySpec("key".getBytes(), "HmacSHA256"))); - } catch(final InvalidKeyException e) { - e.printStackTrace(); - fail("testMacStringKey failed" + e.getMessage()); - } - try { - Assert.assertEquals(expected, Sha256.mac(plain, new SecretKeySpec("key".getBytes(), "AES"))); - } catch(final InvalidKeyException e) { - e.printStackTrace(); - fail("testMacStringKey failed" + e.getMessage()); - } - - } - - @Test - public void testMacStringKeyException() throws Exception { - new NonStrictExpectations() { - - @Mocked - Mac mac; - - { - mac = Mac.getInstance("HmacSHA256"); - result = new NoSuchAlgorithmException(); - } - }; - Sha256.mac("dummy", new SecretKeySpec("key".getBytes(), "AES")); - } - - /** - * Test method for - * {@link org.openo.baseservice.encrypt.cbb.sha.Sha256#mac(java.lang.String, byte[])}. - */ - @Test - public void testMacStringByteArray() { - final String expected = "F7BC83F430538424B13298E6AA6FB143EF4D59A14946175997479DBC2D1A3CD8"; - final String plain = "The quick brown fox jumps over the lazy dog"; - Assert.assertEquals(expected, Sha256.mac(plain, "key".getBytes())); - } - - @Test - public void testMacStringByteArrayInvalidKeyException() throws Exception { - final String key = "key"; - new NonStrictExpectations() { - - @Mocked - Mac mac; - - { - mac = Mac.getInstance("HmacSHA256"); - result = new InvalidKeyException(); - } - }; - final String expected = ""; - final String plain = "The quick brown fox jumps over the lazy dog"; - Assert.assertEquals(expected, Sha256.mac(plain, key.getBytes())); - } - -} diff --git a/common-util/src/test/java/org/openo/baseservice/util/RestUtilsTest.java b/common-util/src/test/java/org/openo/baseservice/util/RestUtilsTest.java deleted file mode 100644 index 56b6eee..0000000 --- a/common-util/src/test/java/org/openo/baseservice/util/RestUtilsTest.java +++ /dev/null @@ -1,190 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.baseservice.util; - -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; - -import java.io.ByteArrayInputStream; -import java.io.IOException; - -import javax.servlet.ServletInputStream; -import javax.servlet.http.HttpServletRequest; - -import junit.framework.Assert; -import mockit.Expectations; -import mockit.Mocked; -import mockit.integration.junit4.JMockit; - -/** - * <br/> - * <p> - * </p> - * - * @author - * @version 08-Jun-2016 - */ -@RunWith(JMockit.class) -public class RestUtilsTest { - - @Mocked - HttpServletRequest mockHttpServletRequest; - - /** - * <br/> - * - * @throws java.lang.Exception - * @since - */ - @BeforeClass - public static void setUpBeforeClass() throws Exception { - } - - /** - * <br/> - * - * @throws java.lang.Exception - * @since - */ - @AfterClass - public static void tearDownAfterClass() throws Exception { - } - - /** - * <br/> - * - * @throws java.lang.Exception - * @since - */ - @Before - public void setUp() throws Exception { - } - - /** - * <br/> - * - * @throws java.lang.Exception - * @since - */ - @After - public void tearDown() throws Exception { - } - - /** - * Test method for - * {@link org.openo.baseservice.util.RestUtils#getRequestBody(javax.servlet.http.HttpServletRequest)} - * . - * - * @throws IOException - */ - @Test - public void testGetRequestBody() throws IOException { - final String dummy = "this is a dummy data to test request body"; - final ServletInputStream inputStream = new ServletInputStream() { - - final ByteArrayInputStream stream = new ByteArrayInputStream(dummy.getBytes()); - - @Override - public int read() throws IOException { - return stream.read(); - } - - }; - - new Expectations() { - - { - mockHttpServletRequest.getInputStream(); - returns(inputStream); - } - }; - final String body = RestUtils.getRequestBody(mockHttpServletRequest); - - Assert.assertEquals(dummy, body); - } - - @Test - public void testGetRequestBodyNull() throws IOException { - final ServletInputStream inputStream = null; - new Expectations() { - - { - mockHttpServletRequest.getInputStream(); - returns(inputStream); - } - }; - final String body = RestUtils.getRequestBody(mockHttpServletRequest); - - Assert.assertEquals("", body); - } - - @Test - public void testGetRequestBodyIOException() throws IOException { - final ServletInputStream inputStream = new ServletInputStream() { - - @Override - public int read() throws IOException { - throw new IOException(); - } - - }; - - new Expectations() { - - { - mockHttpServletRequest.getInputStream(); - returns(inputStream); - } - }; - final String body = RestUtils.getRequestBody(mockHttpServletRequest); - - Assert.assertEquals("", body); - } - - @Test - public void testGetRequestBodyCloseIOException() throws IOException { - final ServletInputStream inputStream = new ServletInputStream() { - - final ByteArrayInputStream stream = new ByteArrayInputStream("dummy".getBytes()); - - @Override - public int read() throws IOException { - return stream.read(); - } - - @Override - public void close() throws IOException { - throw new IOException(); - } - }; - - new Expectations() { - - { - mockHttpServletRequest.getInputStream(); - returns(inputStream); - } - }; - final String body = RestUtils.getRequestBody(mockHttpServletRequest); - - Assert.assertEquals("dummy", body); - } - -} diff --git a/common-util/src/test/java/org/openo/baseservice/util/impl/SystemEnvVariablesDefImplTest.java b/common-util/src/test/java/org/openo/baseservice/util/impl/SystemEnvVariablesDefImplTest.java deleted file mode 100644 index 83414a2..0000000 --- a/common-util/src/test/java/org/openo/baseservice/util/impl/SystemEnvVariablesDefImplTest.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.baseservice.util.impl; - -import java.io.File; -import java.io.IOException; - -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.openo.baseservice.util.inf.SystemEnvVariables; - -import junit.framework.Assert; -import mockit.Mocked; -import mockit.NonStrictExpectations; -import mockit.integration.junit4.JMockit; -import net.jcip.annotations.NotThreadSafe; - -/** - * <br/> - * <p> - * </p> - * - * @author - * @version 08-Jun-2016 - */ -@RunWith(JMockit.class) -@NotThreadSafe -public class SystemEnvVariablesDefImplTest { - - /** - * <br/> - * - * @throws java.lang.Exception - * @since - */ - @BeforeClass - public static void setUpBeforeClass() throws Exception { - } - - /** - * <br/> - * - * @throws java.lang.Exception - * @since - */ - @AfterClass - public static void tearDownAfterClass() throws Exception { - } - - /** - * <br/> - * - * @throws java.lang.Exception - * @since - */ - @Before - public void setUp() throws Exception { - } - - @Test - public void testGetAppRootException() throws Exception { - new NonStrictExpectations() { - - @Mocked - File file; - - { - file = new File("."); - file.getCanonicalPath(); - result = new IOException(); - } - - }; - final SystemEnvVariables envVars =new SystemEnvVariablesDefImpl(); - System.setProperty("catalina.base", "."); - final String actual = envVars.getAppRoot(); - Assert.assertEquals(null, actual); - } - - - /** - * Test method for - * {@link org.openo.baseservice.util.impl.SystemEnvVariablesDefImpl#getAppRoot()}. - * - * @throws Exception - */ - @Test - public void testGetAppRoot() throws Exception { - final SystemEnvVariables envVars = new SystemEnvVariablesDefImpl(); - final File file = new File("."); - final String expected = file.getCanonicalPath(); - System.setProperty("catalina.base", "."); - final String actual = envVars.getAppRoot(); - Assert.assertEquals(expected, actual); - } - -} |