@@ -131,29 +131,45 @@ func TestIndexDownloadAndSignatureWithinArchive(t *testing.T) {
131131 require .NoError (t , err )
132132 defer ln .Close ()
133133 go server .Serve (ln )
134+ defer server .Close ()
134135
135- validIdxURL , err := url .Parse ("http://" + ln .Addr ().String () + "/valid/package_index.tar.bz2" )
136- require .NoError (t , err )
137- idxResource := & IndexResource {URL : validIdxURL }
138- destDir , err := paths .MkTempDir ("" , "" )
139- require .NoError (t , err )
140- defer destDir .RemoveAll ()
141- err = idxResource .Download (ctx , destDir , func (curr * rpc.DownloadProgress ) {}, downloader .GetDefaultConfig ())
142- require .NoError (t , err )
143- require .True (t , destDir .Join ("package_index.json" ).Exist ())
144- require .True (t , destDir .Join ("package_index.json.sig" ).Exist ())
145-
146- invalidIdxURL , err := url .Parse ("http://" + ln .Addr ().String () + "/invalid/package_index.tar.bz2" )
147- require .NoError (t , err )
148- invIdxResource := & IndexResource {URL : invalidIdxURL }
149- invDestDir , err := paths .MkTempDir ("" , "" )
150- require .NoError (t , err )
151- defer invDestDir .RemoveAll ()
152- err = invIdxResource .Download (ctx , invDestDir , func (curr * rpc.DownloadProgress ) {}, downloader .GetDefaultConfig ())
153- require .Error (t , err )
154- require .Contains (t , err .Error (), "invalid signature" )
155- require .False (t , invDestDir .Join ("package_index.json" ).Exist ())
156- require .False (t , invDestDir .Join ("package_index.json.sig" ).Exist ())
136+ {
137+ validIdxURL , err := url .Parse ("http://" + ln .Addr ().String () + "/valid_signature_in_the_future/package_index.tar.bz2" )
138+ require .NoError (t , err )
139+ idxResource := & IndexResource {URL : validIdxURL }
140+ destDir , err := paths .MkTempDir ("" , "" )
141+ require .NoError (t , err )
142+ defer destDir .RemoveAll ()
143+ err = idxResource .Download (ctx , destDir , func (curr * rpc.DownloadProgress ) {}, downloader .GetDefaultConfig ())
144+ require .ErrorContains (t , err , "is your system clock set correctly?" )
145+ require .False (t , destDir .Join ("package_index.json" ).Exist ())
146+ require .False (t , destDir .Join ("package_index.json.sig" ).Exist ())
147+ }
148+ {
149+ validIdxURL , err := url .Parse ("http://" + ln .Addr ().String () + "/valid/package_index.tar.bz2" )
150+ require .NoError (t , err )
151+ idxResource := & IndexResource {URL : validIdxURL }
152+ destDir , err := paths .MkTempDir ("" , "" )
153+ require .NoError (t , err )
154+ defer destDir .RemoveAll ()
155+ err = idxResource .Download (ctx , destDir , func (curr * rpc.DownloadProgress ) {}, downloader .GetDefaultConfig ())
156+ require .NoError (t , err )
157+ require .True (t , destDir .Join ("package_index.json" ).Exist ())
158+ require .True (t , destDir .Join ("package_index.json.sig" ).Exist ())
159+ }
160+ {
161+ invalidIdxURL , err := url .Parse ("http://" + ln .Addr ().String () + "/invalid/package_index.tar.bz2" )
162+ require .NoError (t , err )
163+ invIdxResource := & IndexResource {URL : invalidIdxURL }
164+ invDestDir , err := paths .MkTempDir ("" , "" )
165+ require .NoError (t , err )
166+ defer invDestDir .RemoveAll ()
167+ err = invIdxResource .Download (ctx , invDestDir , func (curr * rpc.DownloadProgress ) {}, downloader .GetDefaultConfig ())
168+ require .Error (t , err )
169+ require .Contains (t , err .Error (), "invalid signature" )
170+ require .False (t , invDestDir .Join ("package_index.json" ).Exist ())
171+ require .False (t , invDestDir .Join ("package_index.json.sig" ).Exist ())
172+ }
157173}
158174
159175func TestIndexFileName (t * testing.T ) {
0 commit comments