Java tutorial
/* * LICENCE : CloudUnit is available under the Affero Gnu Public License GPL V3 : https://www.gnu.org/licenses/agpl-3.0.html * but CloudUnit is licensed too under a standard commercial license. * Please contact our sales team if you would like to discuss the specifics of our Enterprise license. * If you are not sure whether the GPL is right for you, * you can always test our software under the GPL and inspect the source code before you contact us * about purchasing a commercial license. * * LEGAL TERMS : "CloudUnit" is a registered trademark of Treeptik and can't be used to endorse * or promote products derived from this project without prior written permission from Treeptik. * Products or services derived from this software may not be called "CloudUnit" * nor may "Treeptik" or similar confusing terms appear in their names without prior written permission. * For any questions, contact us : contact@treeptik.fr */ package cn.org.once.cstack.utils; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.ParseException; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.mock.web.MockMultipartFile; import java.io.*; import java.net.URL; /** * Class with utilities method for testing url and application deployment */ public class TestUtils { /** * Number of maximum iteration to test the content page. * Raise the value if some tests are not fonctional. */ public static final Integer NB_ITERATION_MAX = 30; private static final Logger logger = LoggerFactory.getLogger(TestUtils.class); /** * Return the content of an URL. * * @param url * @return * @throws ParseException * @throws IOException */ public static String getUrlContentPage(String url) throws ParseException, IOException { HttpGet request = new HttpGet(url); CloseableHttpClient httpClient = HttpClients.createDefault(); HttpResponse response = httpClient.execute(request); HttpEntity entity = response.getEntity(); return EntityUtils.toString(entity); } /** * Download from github binaries and deploy file. * * @param path * @return * @throws IOException */ public static MockMultipartFile downloadAndPrepareFileToDeploy(String remoteFile, String path) throws IOException { URL url; File file = new File(remoteFile); try (OutputStream outputStream = new FileOutputStream(file)) { url = new URL(path); InputStream input = url.openStream(); int read; byte[] bytes = new byte[1024]; while ((read = input.read(bytes)) != -1) { outputStream.write(bytes, 0, read); } } catch (IOException e) { StringBuilder msgError = new StringBuilder(512); msgError.append(remoteFile); msgError.append(","); msgError.append(path); logger.debug(msgError.toString(), e); } return new MockMultipartFile("file", file.getName(), "multipart/form-data", new FileInputStream(file)); } }