forked from mmadfox/go-crx3
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathextension_test.go
106 lines (92 loc) · 3.17 KB
/
extension_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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
package crx
import (
"os"
"path/filepath"
"testing"
"github.com/stretchr/testify/assert"
)
func TestExtension_Pack(t *testing.T) {
err := Extension("").Pack(nil)
assert.Equal(t, ErrPathNotFound, err)
err = Extension.Pack("/some/path", nil)
assert.Error(t, err)
err = Extension("").PackTo("", nil)
assert.Equal(t, ErrPathNotFound, err)
err = Extension("./testdata/pack/extension").Pack(nil)
assert.Nil(t, err)
assert.True(t, Extension("./testdata/pack/extension.crx").IsCRX3())
assert.Nil(t, os.Remove("./testdata/pack/extension.crx"))
assert.Nil(t, os.Remove("./testdata/pack/extension.crx.pem"))
pk, err := NewPrivateKey()
assert.Nil(t, err)
customFilename := filepath.Join(os.TempDir(), "go.crx")
err = Extension("./testdata/pack/extension").PackTo(customFilename, pk)
if err != nil {
t.Fatal(err)
}
assert.True(t, Extension(customFilename).IsCRX3())
assert.Nil(t, os.Remove(customFilename))
}
func TestExtension_Unpack(t *testing.T) {
err := Extension("").Unpack()
assert.Equal(t, ErrPathNotFound, err)
err = Extension("./testdata/unpack/extension.crx").Unpack()
assert.Nil(t, err)
assert.True(t, Extension("./testdata/unpack/extension").IsDir())
assert.Nil(t, os.RemoveAll("./testdata/unpack/extension"))
}
func TestExtension_ToBase64(t *testing.T) {
_, err := Extension("").Base64()
assert.Equal(t, ErrPathNotFound, err)
b, err := Extension("./testdata/unpack/extension.crx").Base64()
assert.Nil(t, err)
assert.NotEmpty(t, b)
}
func TestExtension_String(t *testing.T) {
str := "./testdata/unpack/extension.crx"
ext := Extension(str)
assert.Equal(t, str, ext.String())
}
func TestExtension_Unzip(t *testing.T) {
err := Extension("").Unzip()
assert.Equal(t, ErrPathNotFound, err)
err = Extension("./testdata/pack/extension.zip").Unzip()
assert.Nil(t, err)
assert.True(t, Extension("./testdata/pack/extension(1)").IsDir())
assert.Nil(t, os.RemoveAll("./testdata/pack/extension(1)"))
}
func TestExtension_Zip(t *testing.T) {
err := Extension("").Zip()
assert.Equal(t, ErrPathNotFound, err)
err = Extension("./testdata/unpack/extension.crx").Unpack()
assert.Nil(t, err)
assert.True(t, Extension("./testdata/unpack/extension").IsDir())
err = Extension("./testdata/unpack/extension").Zip()
assert.Nil(t, err)
assert.True(t, Extension("./testdata/unpack/extension.zip").IsZip())
assert.Nil(t, os.RemoveAll("./testdata/unpack/extension"))
assert.Nil(t, os.RemoveAll("./testdata/unpack/extension.zip"))
}
func TestExtension_ID(t *testing.T) {
id, err := Extension("./testdata/unpack/extension.crx").ID()
assert.Nil(t, err)
assert.Equal(t, "dgmchnekcpklnjppdmmjlgpmpohmpmgp", id)
}
func TestExtension_IsCRX3(t *testing.T) {
ok := Extension("./testdata/unpack/extension.crx").IsCRX3()
assert.True(t, ok)
ok = Extension("./testdata/pack/extension.zip").IsCRX3()
assert.False(t, ok)
}
func TestExtension_IsDir(t *testing.T) {
ok := Extension("./testdata/pack/extension").IsDir()
assert.True(t, ok)
ok = Extension("./testdata/unpack/extension.crx").IsDir()
assert.False(t, ok)
}
func TestExtension_IsZip(t *testing.T) {
ok := Extension("./testdata/pack/extension.zip").IsZip()
assert.True(t, ok)
ok = Extension("./testdata/unpack/extension.crx").IsZip()
assert.False(t, ok)
}