/* * Copyright (c) 2012. HappyDroids LLC, All rights reserved. */ package com.happydroids; import java.io.*; import java.util.Random; import java.util.jar.JarOutputStream; import java.util.jar.Manifest; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; public class SparkyTestHelper extends TestHelper { public static void makeFakeZip(File zipFile) throws IOException { ZipOutputStream zipStream = new ZipOutputStream(new FileOutputStream(zipFile)); zipStream.putNextEntry(new ZipEntry("image.png")); byte[] bytes = ("Random bytes: " + new Random().nextInt()).getBytes(); zipStream.write(bytes, 0, bytes.length); zipStream.closeEntry(); zipStream.close(); } public static void makeFakeGameJar(File jarFile, String gameVersion, String versionSha) throws IOException { makeFakeGameJar(new FileOutputStream(jarFile), gameVersion, versionSha); if (!jarFile.exists()) { throw new RuntimeException("Could not create fake game jar!"); } } public static void makeFakeGameJar(OutputStream outputStream, String gameVersion, String versionSha) throws IOException { StringBuilder sbuf = new StringBuilder(); sbuf.append("Manifest-Version: 1.0").append("\n"); sbuf.append("Game-Version: ").append(gameVersion).append("\n"); sbuf.append("Game-Version-SHA: ").append(versionSha).append("\n"); JarOutputStream outputZip = new JarOutputStream(outputStream, new Manifest(new ByteArrayInputStream(sbuf.toString().getBytes("UTF-8")))); byte[] bytes = ("Lorem ipsum dolor sit amet, consectetur adipiscing elit. " + "Cras fringilla ante diam, ut mollis magna. Vestibulum consectetur mattis leo, vel lobortis " + "arcu volutpat nec. Morbi at neque non tortor dapibus gravida. Proin luctus est quis quam cursus " + "egestas. Nullam id elit arcu. Donec nisl tellus, lacinia vel vulputate vel, pellentesque et tellus. " + "Nulla nec ullamcorper nulla. Quisque lorem mi, pulvinar non iaculis at, accumsan nec ipsum. Nunc cursus " + "tortor ut est ornare pulvinar. In et diam neque, ut fermentum sem. Suspendisse dui tellus, hendrerit sit " + "amet mattis at, imperdiet vel purus. Phasellus malesuada rhoncus pretium. Sed metus enim, placerat quis pharetra id, " + "posuere quis est. Sed blandit, purus quis volutpat lacinia, enim metus ultrices diam, vel convallis mi tortor sit amet leo. " + "Lorem ipsum dolor sit amet, consectetur adipiscing elit.").getBytes(); outputZip.putNextEntry(new ZipEntry("image.png")); outputZip.write(bytes); outputZip.closeEntry(); outputZip.flush(); outputZip.close(); } }