@@ -62,6 +62,58 @@ func buildReader(s string) io.ReadCloser {
62
62
return io .NopCloser (stringReader )
63
63
}
64
64
65
+ func TestNewWithOptions (t * testing.T ) {
66
+ t .Parallel ()
67
+
68
+ for _ , tc := range []struct {
69
+ name string
70
+ constructorOptions Options
71
+ usedOptions Options
72
+ }{
73
+ {
74
+ name : "defaults workers" ,
75
+ constructorOptions : Options {
76
+ BaseURL : "https://test.com" ,
77
+ },
78
+ usedOptions : Options {
79
+ BaseURL : "https://test.com" ,
80
+ Workers : DefaultOptions .Workers ,
81
+ },
82
+ },
83
+ {
84
+ name : "defaults base URL" ,
85
+ constructorOptions : Options {
86
+ Workers : 1 ,
87
+ },
88
+ usedOptions : Options {
89
+ BaseURL : DefaultOptions .BaseURL ,
90
+ Workers : 1 ,
91
+ },
92
+ },
93
+ {
94
+ name : "defaults http client" ,
95
+ constructorOptions : Options {
96
+ Workers : 1 ,
97
+ BaseURL : "https://test.com" ,
98
+ },
99
+ usedOptions : Options {
100
+ Workers : 1 ,
101
+ BaseURL : "https://test.com" ,
102
+ },
103
+ },
104
+ } {
105
+ tc := tc
106
+ t .Run (tc .name , func (t * testing.T ) {
107
+ t .Parallel ()
108
+ client := NewWithOptions (tc .constructorOptions )
109
+
110
+ require .Equal (t , tc .usedOptions .BaseURL , client .Options .BaseURL )
111
+ require .Equal (t , tc .usedOptions .Workers , client .Options .Workers )
112
+ require .NotNil (t , client .Options .HttpClient )
113
+ })
114
+ }
115
+ }
116
+
65
117
func TestReport (t * testing.T ) {
66
118
t .Parallel ()
67
119
respBody := `{"package_name":"requestts","package_type":"pypi"}`
0 commit comments