1
2
3
4
5
6
7
8
9
10
11 package org.mule.util.compression;
12
13 import org.mule.tck.junit4.AbstractMuleTestCase;
14
15 import java.util.Arrays;
16
17 import org.junit.Test;
18
19 import static org.junit.Assert.assertEquals;
20 import static org.junit.Assert.assertFalse;
21 import static org.junit.Assert.assertNull;
22 import static org.junit.Assert.assertTrue;
23
24 public class CompressionTestCase extends AbstractMuleTestCase
25 {
26
27 @Test
28 public void testCompressDefaultGZip() throws Exception
29 {
30 String temp = "This is a compressed string";
31 CompressionStrategy strategy = CompressionHelper.getDefaultCompressionStrategy();
32 byte[] compressed = strategy.compressByteArray(temp.getBytes());
33
34
35 assertTrue(compressed.length > temp.getBytes().length);
36
37 byte[] uncompressed = strategy.uncompressByteArray(compressed);
38 assertTrue(uncompressed.length == temp.getBytes().length);
39
40 assertEquals(temp, new String(uncompressed));
41
42 String tempLarge = temp;
43 for (int i = 0; i < 100; i++)
44 {
45 tempLarge += temp;
46 }
47
48 compressed = strategy.compressByteArray(tempLarge.getBytes());
49
50 assertTrue(compressed.length < tempLarge.getBytes().length);
51
52 uncompressed = strategy.uncompressByteArray(compressed);
53 assertTrue(uncompressed.length == tempLarge.getBytes().length);
54
55 assertEquals(tempLarge, new String(uncompressed));
56
57 }
58
59 @Test
60 public void testNullIsCompressed() throws Exception
61 {
62 CompressionStrategy strategy = CompressionHelper.getDefaultCompressionStrategy();
63 assertFalse(strategy.isCompressed(null));
64 }
65
66 @Test
67 public void testEmptyIsCompressed() throws Exception
68 {
69 CompressionStrategy strategy = CompressionHelper.getDefaultCompressionStrategy();
70 assertFalse(strategy.isCompressed(new byte[0]));
71 }
72
73 @Test
74 public void testCompressNullBytes() throws Exception
75 {
76 CompressionStrategy strategy = CompressionHelper.getDefaultCompressionStrategy();
77 assertNull(strategy.compressByteArray(null));
78 }
79
80 @Test
81 public void testCompressEmptyBytes() throws Exception
82 {
83 CompressionStrategy strategy = CompressionHelper.getDefaultCompressionStrategy();
84 byte[] bytes = new byte[0];
85 byte[] result = strategy.compressByteArray(bytes);
86
87 assertTrue(strategy.isCompressed(result));
88 }
89
90 @Test
91 public void testUncompressNullBytes() throws Exception
92 {
93 CompressionStrategy strategy = CompressionHelper.getDefaultCompressionStrategy();
94 assertNull(strategy.uncompressByteArray(null));
95 }
96
97 @Test
98 public void testUncompressEmptyBytes() throws Exception
99 {
100 CompressionStrategy strategy = CompressionHelper.getDefaultCompressionStrategy();
101 byte[] bytes = new byte[0];
102
103 byte[] cmpbytes = strategy.compressByteArray(bytes);
104 assertTrue(strategy.isCompressed(cmpbytes));
105
106 byte[] result = strategy.uncompressByteArray(cmpbytes);
107 assertTrue(Arrays.equals(bytes, result));
108 }
109
110 }