-
Notifications
You must be signed in to change notification settings - Fork 1
/
file_test.go
128 lines (121 loc) · 3.17 KB
/
file_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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package cli_test
import (
"testing"
)
func Test_createFile(t *testing.T) {
testcase := []struct {
name string
request string
hasErr bool
wantResponse string
}{
{
name: "success",
request: "create-file user1 folder1 file4",
hasErr: false,
wantResponse: "Create file4 in user1/folder1 successfully.\n",
},
{
name: "with whitespace char",
request: `create-file user1 folder1 file5 "this-is-file 5"`,
hasErr: false,
wantResponse: "Create file5 in user1/folder1 successfully.\n",
},
{
name: "The [filename] has already existed.",
request: `create-file user1 folder1 file4`,
hasErr: true,
wantResponse: "Error: The file4 has already existed.\n",
},
{
name: "The [username] doesn't exist.",
request: `create-file user4 folder1 file4`,
hasErr: true,
wantResponse: "Error: The user4 doesn't exist.\n",
},
{
name: "The [foldername] doesn't exist.",
request: `create-file user1 folder5 file1`,
hasErr: true,
wantResponse: "Error: The folder5 doesn't exist.\n",
},
}
fixture(t, testcase)
}
func Test_deleteFile(t *testing.T) {
testcase := []struct {
name string
request string
hasErr bool
wantResponse string
}{
{
name: "success",
request: "delete-file user1 folder1 file1",
hasErr: false,
wantResponse: "Delete file1 in user1/folder1 successfully.\n",
},
{
name: "The [filename] doesn't exist.",
request: `delete-file user1 folder1 file1`,
hasErr: true,
wantResponse: "Error: The file1 doesn't exist.\n",
},
{
name: "The [username] doesn't exist.",
request: `delete-file user4 folder1 file4`,
hasErr: true,
wantResponse: "Error: The user4 doesn't exist.\n",
},
{
name: "The [foldername] doesn't exist.",
request: `delete-file user1 folder5 file1`,
hasErr: true,
wantResponse: "Error: The folder5 doesn't exist.\n",
},
}
fixture(t, testcase)
}
func Test_listFiles(t *testing.T) {
testcase := []struct {
name string
request string
hasErr bool
wantResponse string
}{
{
name: "by default",
request: `list-files user1 folder1`,
hasErr: false,
wantResponse: `file1 2024-05-27 23:00:03 folder1 user1
file2 qa-file 2024-05-27 23:00:01 folder1 user1
file3 2024-05-27 23:00:02 folder1 user1
`,
},
{
name: "by created",
request: `list-files user1 folder1 --sort-created desc`,
hasErr: false,
wantResponse: `file1 2024-05-27 23:00:03 folder1 user1
file3 2024-05-27 23:00:02 folder1 user1
file2 qa-file 2024-05-27 23:00:01 folder1 user1
`,
},
{
name: "by name",
request: `list-files user1 folder1 --sort-name desc`,
hasErr: false,
wantResponse: `file3 2024-05-27 23:00:02 folder1 user1
file2 qa-file 2024-05-27 23:00:01 folder1 user1
file1 2024-05-27 23:00:03 folder1 user1
`,
},
{
name: "The folder is empty.",
request: `list-files user1 folder3 --sort-name asc`,
hasErr: false,
wantResponse: "Warning: The folder is empty.\n",
},
}
fixture(t, testcase)
}