Skip to content

Commit

Permalink
remove check for parent
Browse files Browse the repository at this point in the history
Signed-off-by: Benjamin Santos <benjamin.santos@ibm.com>
  • Loading branch information
benjamin-t-santos committed Oct 22, 2024
1 parent e4a190e commit 5c84a02
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@ describe("readFile", () => {
_getInfoFromUriMock.mockRestore();
});

it("checks if parent dir exists when lookup fails & calls remoteLookupForResource if parent dir doesn't exist", async () => {
it("calls remoteLookupForResource if the entry doesn't exist", async () => {
const _lookupAsFileMock = jest
.spyOn(DatasetFSProvider.instance as any, "_lookupAsFile")
.mockImplementationOnce(() => {
Expand All @@ -357,7 +357,6 @@ describe("readFile", () => {
.mockReturnValue(testEntries.pdsMember);

const fetchDatasetAtUriMock = jest.spyOn(DatasetFSProvider.instance, "fetchDatasetAtUri").mockImplementation();
const _lookupParentDirectoryMock = jest.spyOn(DatasetFSProvider.instance as any, "_lookupParentDirectory").mockReturnValueOnce(null);
const _getInfoFromUriMock = jest.spyOn(DatasetFSProvider.instance as any, "_getInfoFromUri").mockReturnValueOnce({
profile: testProfile,
path: "/USER.DATA.PS",
Expand All @@ -368,35 +367,11 @@ describe("readFile", () => {

await DatasetFSProvider.instance.readFile(testUris.pdsMember);
expect(_lookupAsFileMock).toHaveBeenCalledWith(testUris.pdsMember);
expect(_lookupParentDirectoryMock).toHaveBeenCalledWith(testUris.pdsMember, true);
expect(remoteLookupForResourceMock).toHaveBeenCalledWith(testUris.pdsMember);
expect(fetchDatasetAtUriMock).toHaveBeenCalledWith(testUris.pdsMember, { isConflict: false });
_getInfoFromUriMock.mockRestore();
});

it("throws error if parent exists and file cannot be found", async () => {
const _lookupAsFileMock = jest.spyOn(DatasetFSProvider.instance as any, "_lookupAsFile").mockImplementationOnce(() => {
throw FileSystemError.FileNotFound(testUris.pdsMember);
});
const _lookupParentDirectoryMock = jest
.spyOn(DatasetFSProvider.instance as any, "_lookupParentDirectory")
.mockReturnValueOnce(testEntries.pds);
const _getInfoFromUriMock = jest.spyOn(DatasetFSProvider.instance as any, "_getInfoFromUri").mockReturnValueOnce({
profile: testProfile,
path: "/USER.DATA.PS",
});
const remoteLookupForResourceMock = jest
.spyOn(DatasetFSProvider.instance, "remoteLookupForResource")
.mockReset()
.mockResolvedValue(testEntries.pdsMember);

await expect(DatasetFSProvider.instance.readFile(testUris.pdsMember)).rejects.toThrow();
expect(_lookupAsFileMock).toHaveBeenCalledWith(testUris.pdsMember);
expect(_lookupParentDirectoryMock).toHaveBeenCalledWith(testUris.pdsMember, true);
expect(remoteLookupForResourceMock).not.toHaveBeenCalledWith(testUris.pdsMember);
_getInfoFromUriMock.mockRestore();
});

it("returns the data for an entry", async () => {
const fakePs = { ...testEntries.ps, wasAccessed: true, data: new Uint8Array([1, 2, 3]) };
const _lookupAsFileMock = jest.spyOn(DatasetFSProvider.instance as any, "_lookupAsFile").mockReturnValueOnce(fakePs);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -389,12 +389,7 @@ export class DatasetFSProvider extends BaseProvider implements vscode.FileSystem
if (!(err instanceof vscode.FileSystemError) || err.code !== "FileNotFound") {
throw err;
}

// check if parent directory exists; if not, do a remote lookup
const parent = this._lookupParentDirectory(uri, true);
if (parent == null) {
ds = await this.remoteLookupForResource(uri);
}
ds = await this.remoteLookupForResource(uri);
}

if (ds == null) {
Expand Down

0 comments on commit 5c84a02

Please sign in to comment.