feat!: absolute file paths (#19995)

feat: absolute file paths
This commit is contained in:
Jason Rasmussen
2025-07-18 10:57:29 -04:00
committed by GitHub
parent f32d4f15b6
commit 493d85b021
34 changed files with 689 additions and 257 deletions
+41 -17
View File
@@ -32,18 +32,36 @@ describe(StorageService.name, () => {
upload: true,
},
});
expect(mocks.storage.mkdirSync).toHaveBeenCalledWith('upload/encoded-video');
expect(mocks.storage.mkdirSync).toHaveBeenCalledWith('upload/library');
expect(mocks.storage.mkdirSync).toHaveBeenCalledWith('upload/profile');
expect(mocks.storage.mkdirSync).toHaveBeenCalledWith('upload/thumbs');
expect(mocks.storage.mkdirSync).toHaveBeenCalledWith('upload/upload');
expect(mocks.storage.mkdirSync).toHaveBeenCalledWith('upload/backups');
expect(mocks.storage.createFile).toHaveBeenCalledWith('upload/encoded-video/.immich', expect.any(Buffer));
expect(mocks.storage.createFile).toHaveBeenCalledWith('upload/library/.immich', expect.any(Buffer));
expect(mocks.storage.createFile).toHaveBeenCalledWith('upload/profile/.immich', expect.any(Buffer));
expect(mocks.storage.createFile).toHaveBeenCalledWith('upload/thumbs/.immich', expect.any(Buffer));
expect(mocks.storage.createFile).toHaveBeenCalledWith('upload/upload/.immich', expect.any(Buffer));
expect(mocks.storage.createFile).toHaveBeenCalledWith('upload/backups/.immich', expect.any(Buffer));
expect(mocks.storage.mkdirSync).toHaveBeenCalledWith(expect.stringContaining('upload/encoded-video'));
expect(mocks.storage.mkdirSync).toHaveBeenCalledWith(expect.stringContaining('upload/library'));
expect(mocks.storage.mkdirSync).toHaveBeenCalledWith(expect.stringContaining('upload/profile'));
expect(mocks.storage.mkdirSync).toHaveBeenCalledWith(expect.stringContaining('upload/thumbs'));
expect(mocks.storage.mkdirSync).toHaveBeenCalledWith(expect.stringContaining('upload/upload'));
expect(mocks.storage.mkdirSync).toHaveBeenCalledWith(expect.stringContaining('upload/backups'));
expect(mocks.storage.createFile).toHaveBeenCalledWith(
expect.stringContaining('upload/encoded-video/.immich'),
expect.any(Buffer),
);
expect(mocks.storage.createFile).toHaveBeenCalledWith(
expect.stringContaining('upload/library/.immich'),
expect.any(Buffer),
);
expect(mocks.storage.createFile).toHaveBeenCalledWith(
expect.stringContaining('upload/profile/.immich'),
expect.any(Buffer),
);
expect(mocks.storage.createFile).toHaveBeenCalledWith(
expect.stringContaining('upload/thumbs/.immich'),
expect.any(Buffer),
);
expect(mocks.storage.createFile).toHaveBeenCalledWith(
expect.stringContaining('upload/upload/.immich'),
expect.any(Buffer),
);
expect(mocks.storage.createFile).toHaveBeenCalledWith(
expect.stringContaining('upload/backups/.immich'),
expect.any(Buffer),
);
});
it('should enable mount folder checking for a new folder type', async () => {
@@ -71,11 +89,17 @@ describe(StorageService.name, () => {
},
});
expect(mocks.storage.mkdirSync).toHaveBeenCalledTimes(2);
expect(mocks.storage.mkdirSync).toHaveBeenCalledWith('upload/library');
expect(mocks.storage.mkdirSync).toHaveBeenCalledWith('upload/backups');
expect(mocks.storage.mkdirSync).toHaveBeenCalledWith(expect.stringContaining('upload/library'));
expect(mocks.storage.mkdirSync).toHaveBeenCalledWith(expect.stringContaining('upload/backups'));
expect(mocks.storage.createFile).toHaveBeenCalledTimes(2);
expect(mocks.storage.createFile).toHaveBeenCalledWith('upload/library/.immich', expect.any(Buffer));
expect(mocks.storage.createFile).toHaveBeenCalledWith('upload/backups/.immich', expect.any(Buffer));
expect(mocks.storage.createFile).toHaveBeenCalledWith(
expect.stringContaining('upload/library/.immich'),
expect.any(Buffer),
);
expect(mocks.storage.createFile).toHaveBeenCalledWith(
expect.stringContaining('upload/backups/.immich'),
expect.any(Buffer),
);
});
it('should throw an error if .immich is missing', async () => {
@@ -131,7 +155,7 @@ describe(StorageService.name, () => {
await expect(sut.onBootstrap()).resolves.toBeUndefined();
expect(mocks.systemMetadata.set).not.toHaveBeenCalled();
expect(mocks.systemMetadata.set).not.toHaveBeenCalledWith(SystemMetadataKey.SystemFlags, expect.anything());
});
});