-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathInputProcessor_test.go
More file actions
94 lines (73 loc) · 3.63 KB
/
Copy pathInputProcessor_test.go
File metadata and controls
94 lines (73 loc) · 3.63 KB
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
package main
import (
"os"
"path/filepath"
"testing"
"github.com/stretchr/testify/assert"
)
func TestWritePlainUserDataFileWhenNotBase64Encoded(t *testing.T) {
tempDir, _ := os.MkdirTemp("", "test")
defer os.RemoveAll(tempDir)
config := Config{outputDir: tempDir}
inputProcessor := InputProcessor{config: config}
dataOutputPair := DataOutputPair{
Data: []byte("some data"),
OutputDir: "some_output_dir",
}
err := inputProcessor.writeFile(dataOutputPair, "userdata")
assert.Nil(t, err)
expectedFilePath := filepath.Join(tempDir, "some_output_dir", "userdata")
_, err = os.Stat(expectedFilePath)
assert.False(t, os.IsNotExist(err))
}
func TestWritePlainUserDataFileWhenNotMime(t *testing.T) {
tempDir, _ := os.MkdirTemp("", "test")
defer os.RemoveAll(tempDir)
config := Config{outputDir: tempDir}
inputProcessor := InputProcessor{config: config}
dataOutputPairs := []DataOutputPair{
{
Data: []byte(base64EncodedHelloWorld),
OutputDir: "some_output_dir1",
},
}
err := inputProcessor.Process(dataOutputPairs)
assert.Nil(t, err)
}
func TestProcess(t *testing.T) {
tempDir, _ := os.MkdirTemp("", "test")
defer os.RemoveAll(tempDir)
config := Config{outputDir: tempDir}
inputProcessor := InputProcessor{config: config}
dataOutputPairs := []DataOutputPair{
{
Data: []byte("some data"),
OutputDir: "some_output_dir1",
},
{
Data: []byte("some other data"),
OutputDir: "some_output_dir2",
},
}
err := inputProcessor.Process(dataOutputPairs)
assert.Nil(t, err)
}
func TestProcessBase64GzippedCloudInitConfig(t *testing.T) {
tempDir, _ := os.MkdirTemp("", "test")
defer os.RemoveAll(tempDir)
config := Config{outputDir: tempDir}
inputProcessor := InputProcessor{config: config}
dataOutputPairs := []DataOutputPair{
{
Data: []byte("H4sICKnBLGUAA3VzZXJkYXRhAL2USY+jOBTH73yKqO6ptiFJhyrlEBYTEiCNAbPczFJAYpYJZIFP33R1qTQ96kOPRhpfbD37Lf+nn5/c1H1W93N3aLOXWXVlfdnSS/+lKh9Z+jqLm2ud0suwedr8ur5CuFiJS34F1gsI1wL/db3ZPHGmbqpzkl26sqlfZvAZcNx8/ieunPxLIX326L8krLmm86Sp38r8dZYU9NJl/ebp2r/N179L9RniQuvuLbvM1Tpp0rLOX2Yx7bLV4vOFUnZt05X9uyvte5oU1WR/nb2VLKtplW2e/p78eaAVe+I4fZBOsSbCSIanmF9W1E+umY/6eNsKScVARMTJ9mDJ2Bx0eXvSUTrQADN9h5vIkT58UphUCHDUF6+6FrWx5uWpts4NnoBwEMfQh/dYI29hIN2Ne5PrMsgTDQGqTOdSZKlm3hIe9Yn2YAGP7oksjlzMQ2YErIj9+8+KZP1HBbmukWvIi2fqL+tjKdXZpNk62R931i2uMYtre6WrOUgAU2wYIQ6fU2J76ujWUUkgmWSlWqrtFcslERnRaHve4KkQG8Da22dLOzpr3gGmkAAMsLAH1jm9myq8Ynf74EzAHg4kB6yh0pfFMBakFvMiNfno22FkyjFoTzEoFhFrsR3sBWdMPXzuTyHBHt0VpX1KLyZoXYoI4QxIePNsqd4OPUzlzFO/f/g7Uh9R1E0VOonQhnH1OKZnZGLeHnx1j6iKZAvogwv2SqREQgg93tXCJRd5xZAFbeMTycV8obgC7mMSwUiLDIqYSxXr7o6FmzIVWKMOEwUPrmcusQfPrlLIeESSWxcg8VDLEd/aHUBROjsTuv7yGCvenbpShbV+MSFzjRHRvF14PwyicQCopTt0csaidYR86fFoEbK2O3rISJk5cE5dfLMJkmz7txyB6B0RBKbzO2+T/abLIkwEfUKjKJLK+0SE+8nI+kegXt9JRarlK13Wb2lgDYZgNWGwZ9NexIHUTQAXyW47OYt95EAQBQUwarxIP3Di/jVPAdlj+A+c1NS3NKxwlisxByHJGXPBQ9gnvuiGrnSbevmXS7wFVZk52TTbs5hZRXuf7CXbQ5Kct0PqL0+xb6/kcpsbjhRz09d41z81+xT691tYseskC0zyJglWozOw+S/D6DHvioyxLrmUbf+/T6Oun4byc1dMQyjyrSYetqUn4CKZ2h3J+h8Lm8857js3myh88gUAAA=="),
OutputDir: "i-111",
},
}
err := inputProcessor.Process(dataOutputPairs)
assert.FileExistsf(t, filepath.Join(tempDir, "i-111", "raw"), "Expected raw")
assert.FileExistsf(t, filepath.Join(tempDir, "i-111", "raw_base64Decoded"), "Expected raw_base64Decoded")
assert.FileExistsf(t, filepath.Join(tempDir, "i-111", "start.sh"), "Expected start.sh")
assert.FileExistsf(t, filepath.Join(tempDir, "i-111", "etc/sample_app/some-yaml.yaml"), "Expected etc/sample_app/some-yaml.yaml")
assert.FileExistsf(t, filepath.Join(tempDir, "i-111", "usr/share/sample_app/some-text.txt"), "Expected etc/sample_app/some-yaml.yaml")
assert.Nil(t, err)
}