forked from mmadfox/go-crx3
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpack_test.go
68 lines (60 loc) · 1.54 KB
/
pack_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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package crx
import (
"os"
"path"
"testing"
"github.com/stretchr/testify/assert"
)
func TestPack(t *testing.T) {
pk, err := NewPrivateKey()
assert.Nil(t, err)
var have, want string
// pack unpacked extension
have = "./testdata/pack/extension"
want = "./testdata/pack/extension.crx"
err = Pack(have, "", pk)
assert.Nil(t, err)
assert.True(t, fileExists(want))
assert.True(t, isCRX3(want))
err = os.Remove(want)
assert.Nil(t, err)
// pack zip extension
have = "./testdata/pack/extension.zip"
want = "./testdata/pack/extension.crx"
err = Pack(have, "", pk)
assert.Nil(t, err)
assert.True(t, fileExists(want))
assert.True(t, isCRX3(want))
err = os.Remove(want)
assert.Nil(t, err)
// pack without private key
have = "./testdata/pack/extension.zip"
want = "./testdata/pack/extension.crx"
wantPem := "./testdata/pack/extension.crx.pem"
err = Pack(have, "", nil)
assert.Nil(t, err)
assert.True(t, fileExists(want))
assert.True(t, isCRX3(want))
assert.True(t, fileExists(wantPem))
err = os.Remove(want)
assert.Nil(t, err)
err = os.Remove(wantPem)
if err != nil {
t.Fatal(err)
}
// pack unsupported type
have = "./testdata/pack/somefile.fg"
err = Pack(have, "", nil)
assert.Error(t, err)
assert.Equal(t, ErrUnknownFileExtension, err)
// pack custom dst filepath
dst := path.Join(os.TempDir(), "ext.crx")
have = "./testdata/pack/extension.zip"
err = Pack(have, dst, nil)
assert.Nil(t, err)
assert.True(t, fileExists(dst+".pem"))
err = os.Remove(dst)
assert.Nil(t, err)
err = os.Remove(dst + ".pem")
assert.Nil(t, err)
}