forked from gnewton/jargo
-
Notifications
You must be signed in to change notification settings - Fork 1
/
jar_test.go
50 lines (42 loc) · 2.85 KB
/
jar_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package jargo
import (
"archive/zip"
"bytes"
"io/ioutil"
"log"
"os"
"testing"
)
const badJarName = "zzz-foobar------_______"
var _assets_hello_jar = []byte("PK\x03\x04\x14\x00\b\b\b\x00\b6\x91F\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\t\x00\x04\x00META-INF/\xfe\xca\x00\x00\x03\x00PK\a\b\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00PK\x03\x04\x14\x00\b\b\b\x00\b6\x91F\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x00\x00\x00META-INF/MANIFEST.MF\xf3M\xcc\xcbLK-.\xd1\rK-*\xce\xcc\u03f3R0\xd43\xe0\xe5r.JM,IM\xd1u\xaa\x04\t\x98\xeb\x19\xc4[\x18(h\xf8\x17%&\xe7\xa4*8\xe7\x17\x15\xe4\x17%\x96\x00\x95k\xf2r\xf1r\x01\x00PK\a\b\x90\x97\x12+C\x00\x00\x00D\x00\x00\x00PK\x03\x04\x14\x00\b\b\b\x00\x006\x91F\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\v\x00\x00\x00Hello.classmPMK\xc3@\x10}\xd3|51\xda\u069a\xfaYh\x0fB\xf4`\x0e\x1e+^\x04\xf1PT\x88x\xf1\x94\xb4K\u0652\x0f\x89\x89\xe2\xcf\u0483\x82\a\u007f\x80?J\x9c\x8dB\x11\xba\xb0;\xb3o\u07bc}\xb3_\xdf\x1f\x9f\x00\x8e\xd1w`\xa2e\xa3\x8d\xf5&:\x0e\xba\u0630\xe0Y\xe8\x11\xcc\x13\x99\xc9\xf2\x94\xa0\xf9\a\xb7\x04\xfd,\x9f\nBk,3qY\xa5\xb1(n\xa28aDO#\x99\x11z\xfe\xddx\x1e=FA\x12e\xb3 ,\v\x99\xcdF\xaa\xd1\t\U000ea608s\xa9\xc8\u0385H\x92\xfcH\x11]XhZ\xd8t\xb1\x85m\x82[W\x06Oy\x91L\x87\x16v\\\xecb\x8f`\xd40\xa1\xbd\u043e\x8a\xe7bR\xfe\x83\xc2\xe7\x87R\xa4l5\xaf\xb8\xe0\xfd\x1a\x91yp\xcd.J\xf6\"\xa2tD\xe8.\x81\t\u05bd\xba%<\x82\xe7/\x9b\x00\x03\x18\xfcIj5x\xb3i\x10l\xce\xfa\x1c\x89\xa3q\xf8\x0ez\xe1\x84\xc7\xe3\u04ecAEY\x81\xfbG\xdd\xe7V\x85\u06afht\xb47\xe8\v\xbaS\xabj\xac\xaa3\xb2Z\xbf\xb2\xf6\x03PK\a\b\xa0[c\xa8\x1e\x01\x00\x00\xa0\x01\x00\x00PK\x01\x02\x14\x00\x14\x00\b\b\b\x00\b6\x91F\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\t\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00META-INF/\xfe\xca\x00\x00PK\x01\x02\x14\x00\x14\x00\b\b\b\x00\b6\x91F\x90\x97\x12+C\x00\x00\x00D\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00=\x00\x00\x00META-INF/MANIFEST.MFPK\x01\x02\x14\x00\x14\x00\b\b\b\x00\x006\x91F\xa0[c\xa8\x1e\x01\x00\x00\xa0\x01\x00\x00\v\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x00\x00\x00Hello.classPK\x05\x06\x00\x00\x00\x00\x03\x00\x03\x00\xb6\x00\x00\x00\x19\x02\x00\x00\x00\x00")
func getReader() *zip.Reader {
r := bytes.NewReader(_assets_hello_jar)
fileReader, _ := zip.NewReader(r, int64(r.Len()))
return fileReader
}
func TestMain(m *testing.M) {
os.Exit(m.Run())
}
func TestValidJarFile_JarInfo(t *testing.T) {
_, err := readFromReader(getReader(), true, "")
if err != nil {
t.FailNow()
}
}
func TestMissingJarFile_JarInfo(t *testing.T) {
log.SetOutput(ioutil.Discard)
_, err := GetJarInfo(badJarName)
if err == nil {
t.FailNow()
}
}
func TestValidJarFile_JarManifest(t *testing.T) {
manifest, err := readFromReader(getReader(), false, "")
if err != nil {
log.Println(err)
t.FailNow()
}
if manifest == nil {
t.FailNow()
}
}