1
1
package ftp
2
2
3
3
import (
4
- "fmt"
5
4
"strings"
6
5
"testing"
7
6
"time"
7
+
8
+ "github.com/stretchr/testify/assert"
8
9
)
9
10
10
11
var (
@@ -99,59 +100,41 @@ var listTestsFail = []unsupportedLine{
99
100
100
101
func TestParseValidListLine (t * testing.T ) {
101
102
for _ , lt := range listTests {
102
- t .Run (fmt . Sprintf ( "parseListLine(%v)" , lt .line ) , func (t * testing.T ) {
103
-
103
+ t .Run (lt .line , func (t * testing.T ) {
104
+ assert := assert . New ( t )
104
105
entry , err := parseListLine (lt .line , now , time .UTC )
105
- if err != nil {
106
- t .Errorf ("returned err = %v" , err )
107
- return
108
- }
109
- if entry .Name != lt .name {
110
- t .Errorf ("Name = '%v', want '%v'" , entry .Name , lt .name )
111
- }
112
- if entry .Type != lt .entryType {
113
- t .Errorf ("EntryType = %v, want %v" , entry .Type , lt .entryType )
114
- }
115
- if entry .Size != lt .size {
116
- t .Errorf ("Size = %v, want %v" , entry .Size , lt .size )
117
- }
118
- if ! entry .Time .Equal (lt .time ) {
119
- t .Errorf ("Time = %v, want %v" , entry .Time , lt .time )
106
+
107
+ if assert .NoError (err ) {
108
+ assert .Equal (lt .name , entry .Name )
109
+ assert .Equal (lt .entryType , entry .Type )
110
+ assert .Equal (lt .size , entry .Size )
111
+ assert .Equal (lt .time , entry .Time )
120
112
}
121
113
})
122
114
}
123
115
}
124
116
125
117
func TestParseSymlinks (t * testing.T ) {
126
118
for _ , lt := range listTestsSymlink {
127
- entry , err := parseListLine (lt .line , now , time .UTC )
128
- if err != nil {
129
- t .Errorf ("parseListLine(%v) returned err = %v" , lt .line , err )
130
- continue
131
- }
132
- if entry .Name != lt .name {
133
- t .Errorf ("parseListLine(%v).Name = '%v', want '%v'" , lt .line , entry .Name , lt .name )
134
- }
135
- if entry .Target != lt .target {
136
- t .Errorf ("parseListLine(%v).Target = '%v', want '%v'" , lt .line , entry .Target , lt .target )
137
- }
138
- if entry .Type != EntryTypeLink {
139
- t .Errorf ("parseListLine(%v).EntryType = %v, want EntryTypeLink" , lt .line , entry .Type )
140
- }
119
+ t .Run (lt .line , func (t * testing.T ) {
120
+ assert := assert .New (t )
121
+ entry , err := parseListLine (lt .line , now , time .UTC )
122
+
123
+ if assert .NoError (err ) {
124
+ assert .Equal (lt .name , entry .Name )
125
+ assert .Equal (lt .target , entry .Target )
126
+ assert .Equal (EntryTypeLink , entry .Type )
127
+ }
128
+ })
141
129
}
142
130
}
143
131
144
132
func TestParseUnsupportedListLine (t * testing.T ) {
145
133
for _ , lt := range listTestsFail {
146
- t .Run (fmt .Sprintf ("parseListLine(%v)" , lt .line ), func (t * testing.T ) {
147
-
134
+ t .Run (lt .line , func (t * testing.T ) {
148
135
_ , err := parseListLine (lt .line , now , time .UTC )
149
- if err == nil {
150
- t .Error ("expected to fail" )
151
- }
152
- if err != lt .err {
153
- t .Errorf ("expected to fail with error: '%s'; was: '%s'" , lt .err .Error (), err .Error ())
154
- }
136
+
137
+ assert .EqualError (t , err , lt .err .Error ())
155
138
})
156
139
}
157
140
}
@@ -175,12 +158,12 @@ func TestSettime(t *testing.T) {
175
158
}
176
159
177
160
for _ , test := range tests {
178
- entry := & Entry {}
179
- entry .setTime (strings .Fields (test .line ), now , time .UTC )
161
+ t .Run (test .line , func (t * testing.T ) {
162
+ entry := & Entry {}
163
+ entry .setTime (strings .Fields (test .line ), now , time .UTC )
180
164
181
- if ! entry .Time .Equal (test .expected ) {
182
- t .Errorf ("setTime(%v).Time = %v, want %v" , test .line , entry .Time , test .expected )
183
- }
165
+ assert .Equal (t , test .expected , entry .Time )
166
+ })
184
167
}
185
168
}
186
169
0 commit comments