added coverage for fixed remote unsupported handler

Signed-off-by: quobix <dave@quobix.com>
This commit is contained in:
quobix
2023-11-25 20:44:36 -05:00
parent a0d9204099
commit 8335db72e2
2 changed files with 16 additions and 6 deletions

View File

@@ -314,15 +314,9 @@ func (i *RemoteFS) Open(remoteURL string) (fs.File, error) {
return wait.file, nil
}
processingWaiter := &waiterRemote{f: remoteParsedURL.Path}
// add to processing
i.ProcessingFiles.Store(remoteParsedURL.Path, processingWaiter)
fileExt := ExtractFileType(remoteParsedURL.Path)
if fileExt == UNSUPPORTED {
i.ProcessingFiles.Delete(remoteParsedURL.Path)
i.remoteErrors = append(i.remoteErrors, fs.ErrInvalid)
if i.logger != nil {
i.logger.Warn("[rolodex remote loader] unsupported file in reference will be ignored", "file", remoteURL, "remoteURL", remoteParsedURL.String())
@@ -330,6 +324,11 @@ func (i *RemoteFS) Open(remoteURL string) (fs.File, error) {
return nil, &fs.PathError{Op: "open", Path: remoteURL, Err: fs.ErrInvalid}
}
processingWaiter := &waiterRemote{f: remoteParsedURL.Path}
// add to processing
i.ProcessingFiles.Store(remoteParsedURL.Path, processingWaiter)
// if the remote URL is absolute (http:// or https://), and we have a rootURL defined, we need to override
// the host being defined by this URL, and use the rootURL instead, but keep the path.
if i.rootURLParsed != nil {

View File

@@ -397,3 +397,14 @@ func TestNewRemoteFS_RemoteBaseURL_EmptySpecFailIndex(t *testing.T) {
assert.Error(t, y)
assert.Equal(t, "there is nothing in the spec, it's empty - so there is nothing to be done", y.Error())
}
func TestNewRemoteFS_Unsupported(t *testing.T) {
cf := CreateOpenAPIIndexConfig()
rfs, _ := NewRemoteFSWithConfig(cf)
x, y := rfs.Open("/woof.png")
assert.Nil(t, x)
assert.Error(t, y)
assert.Equal(t, "open /woof.png: invalid argument", y.Error())
}