4 "github.com/stretchr/testify/assert"
8 func TestFilePath_UnmarshalBinary(t *testing.T) {
19 name: "unmarshals bytes into struct",
24 0x46, 0x69, 0x72, 0x73, 0x74, 0x20, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x20, 0x44, 0x69, 0x72,
27 0x41, 0x20, 0x53, 0x75, 0x62, 0x44, 0x69, 0x72,
30 ItemCount: [2]byte{0x00, 0x02},
31 Items: []FilePathItem{
34 Name: []byte("First Level Dir"),
38 Name: []byte("A SubDir"),
45 for _, tt := range tests {
46 t.Run(tt.name, func(t *testing.T) {
48 if err := fp.UnmarshalBinary(tt.args.b); (err != nil) != tt.wantErr {
49 t.Errorf("UnmarshalBinary() error = %v, wantErr %v", err, tt.wantErr)
51 if !assert.Equal(t, tt.want, fp) {
52 t.Errorf("Read() got = %v, want %v", fp, tt.want)
58 func Test_readPath(t *testing.T) {
71 name: "when filePath is invalid",
73 fileRoot: "/usr/local/var/mobius/Files",
85 name: "when filePath is nil",
87 fileRoot: "/usr/local/var/mobius/Files",
89 fileName: []byte("foo"),
92 want: "/usr/local/var/mobius/Files/foo",
95 name: "when fileName contains .. ",
97 fileRoot: "/usr/local/var/mobius/Files",
99 fileName: []byte("../../../foo"),
101 want: "/usr/local/var/mobius/Files/foo",
104 name: "when filePath contains .. ",
106 fileRoot: "/usr/local/var/mobius/Files",
114 0x41, 0x20, 0x53, 0x75, 0x62, 0x44, 0x69, 0x72,
116 fileName: []byte("foo"),
118 want: "/usr/local/var/mobius/Files/A SubDir/foo",
121 name: "when a filePath entry contains .. ",
123 fileRoot: "/usr/local/var/mobius/Files",
128 0x2e, 0x2e, 0x2f, 0x41, 0x20, 0x53, 0x75, 0x62, 0x44, 0x69, 0x72,
130 fileName: []byte("foo"),
132 want: "/usr/local/var/mobius/Files/A SubDir/foo",
135 name: "when filePath and fileName are nil",
137 fileRoot: "/usr/local/var/mobius/Files",
141 want: "/usr/local/var/mobius/Files",
144 for _, tt := range tests {
145 t.Run(tt.name, func(t *testing.T) {
146 got, err := readPath(tt.args.fileRoot, tt.args.filePath, tt.args.fileName)
147 if (err != nil) != tt.wantErr {
148 t.Errorf("readPath() error = %v, wantErr %v", err, tt.wantErr)
152 t.Errorf("readPath() got = %v, want %v", got, tt.want)