chore: format

This commit is contained in:
Ralph Khreish
2025-09-04 22:06:56 +02:00
parent 900ccbe960
commit 538d745023
5 changed files with 73 additions and 34 deletions

View File

@@ -56,7 +56,9 @@ describe('CredentialStore', () => {
};
vi.mocked(fs.existsSync).mockReturnValue(true);
vi.mocked(fs.readFileSync).mockReturnValue(JSON.stringify(mockCredentials));
vi.mocked(fs.readFileSync).mockReturnValue(
JSON.stringify(mockCredentials)
);
const result = store.getCredentials();
@@ -79,7 +81,9 @@ describe('CredentialStore', () => {
};
vi.mocked(fs.existsSync).mockReturnValue(true);
vi.mocked(fs.readFileSync).mockReturnValue(JSON.stringify(mockCredentials));
vi.mocked(fs.readFileSync).mockReturnValue(
JSON.stringify(mockCredentials)
);
const result = store.getCredentials();
@@ -100,7 +104,9 @@ describe('CredentialStore', () => {
};
vi.mocked(fs.existsSync).mockReturnValue(true);
vi.mocked(fs.readFileSync).mockReturnValue(JSON.stringify(mockCredentials));
vi.mocked(fs.readFileSync).mockReturnValue(
JSON.stringify(mockCredentials)
);
const result = store.getCredentials();
@@ -120,7 +126,9 @@ describe('CredentialStore', () => {
};
vi.mocked(fs.existsSync).mockReturnValue(true);
vi.mocked(fs.readFileSync).mockReturnValue(JSON.stringify(mockCredentials));
vi.mocked(fs.readFileSync).mockReturnValue(
JSON.stringify(mockCredentials)
);
const result = store.getCredentials();
@@ -140,7 +148,9 @@ describe('CredentialStore', () => {
};
vi.mocked(fs.existsSync).mockReturnValue(true);
vi.mocked(fs.readFileSync).mockReturnValue(JSON.stringify(mockCredentials));
vi.mocked(fs.readFileSync).mockReturnValue(
JSON.stringify(mockCredentials)
);
const result = store.getCredentials();
@@ -160,7 +170,9 @@ describe('CredentialStore', () => {
};
vi.mocked(fs.existsSync).mockReturnValue(true);
vi.mocked(fs.readFileSync).mockReturnValue(JSON.stringify(mockCredentials));
vi.mocked(fs.readFileSync).mockReturnValue(
JSON.stringify(mockCredentials)
);
const result = store.getCredentials();
@@ -181,7 +193,9 @@ describe('CredentialStore', () => {
};
vi.mocked(fs.existsSync).mockReturnValue(true);
vi.mocked(fs.readFileSync).mockReturnValue(JSON.stringify(mockCredentials));
vi.mocked(fs.readFileSync).mockReturnValue(
JSON.stringify(mockCredentials)
);
const result = store.getCredentials();
@@ -203,7 +217,9 @@ describe('CredentialStore', () => {
};
vi.mocked(fs.existsSync).mockReturnValue(true);
vi.mocked(fs.readFileSync).mockReturnValue(JSON.stringify(mockCredentials));
vi.mocked(fs.readFileSync).mockReturnValue(
JSON.stringify(mockCredentials)
);
const result = store.getCredentials({ allowExpired: true });
@@ -239,7 +255,8 @@ describe('CredentialStore', () => {
);
// Check that the written data contains a valid ISO string
const writtenData = vi.mocked(fs.writeFileSync).mock.calls[0][1] as string;
const writtenData = vi.mocked(fs.writeFileSync).mock
.calls[0][1] as string;
const parsed = JSON.parse(writtenData);
expect(typeof parsed.expiresAt).toBe('string');
expect(new Date(parsed.expiresAt).toISOString()).toBe(parsed.expiresAt);
@@ -257,7 +274,8 @@ describe('CredentialStore', () => {
store.saveCredentials(credentials);
const writtenData = vi.mocked(fs.writeFileSync).mock.calls[0][1] as string;
const writtenData = vi.mocked(fs.writeFileSync).mock
.calls[0][1] as string;
const parsed = JSON.parse(writtenData);
expect(typeof parsed.expiresAt).toBe('string');
expect(new Date(parsed.expiresAt).getTime()).toBe(futureTimestamp);
@@ -272,8 +290,12 @@ describe('CredentialStore', () => {
savedAt: new Date().toISOString()
};
expect(() => store.saveCredentials(credentials)).toThrow(AuthenticationError);
expect(() => store.saveCredentials(credentials)).toThrow('Invalid expiresAt format');
expect(() => store.saveCredentials(credentials)).toThrow(
AuthenticationError
);
expect(() => store.saveCredentials(credentials)).toThrow(
'Invalid expiresAt format'
);
});
it('should reject NaN timestamp when saving', () => {
@@ -285,8 +307,12 @@ describe('CredentialStore', () => {
savedAt: new Date().toISOString()
};
expect(() => store.saveCredentials(credentials)).toThrow(AuthenticationError);
expect(() => store.saveCredentials(credentials)).toThrow('Invalid expiresAt format');
expect(() => store.saveCredentials(credentials)).toThrow(
AuthenticationError
);
expect(() => store.saveCredentials(credentials)).toThrow(
'Invalid expiresAt format'
);
});
it('should reject Infinity timestamp when saving', () => {
@@ -298,8 +324,12 @@ describe('CredentialStore', () => {
savedAt: new Date().toISOString()
};
expect(() => store.saveCredentials(credentials)).toThrow(AuthenticationError);
expect(() => store.saveCredentials(credentials)).toThrow('Invalid expiresAt format');
expect(() => store.saveCredentials(credentials)).toThrow(
AuthenticationError
);
expect(() => store.saveCredentials(credentials)).toThrow(
'Invalid expiresAt format'
);
});
it('should handle missing expiresAt when saving', () => {
@@ -313,7 +343,8 @@ describe('CredentialStore', () => {
store.saveCredentials(credentials);
const writtenData = vi.mocked(fs.writeFileSync).mock.calls[0][1] as string;
const writtenData = vi.mocked(fs.writeFileSync).mock
.calls[0][1] as string;
const parsed = JSON.parse(writtenData);
expect(parsed.expiresAt).toBeUndefined();
});
@@ -394,8 +425,12 @@ describe('CredentialStore', () => {
store.cleanupCorruptFiles();
expect(fs.unlinkSync).toHaveBeenCalledWith(expect.stringContaining(oldFile));
expect(fs.unlinkSync).not.toHaveBeenCalledWith(expect.stringContaining(newFile));
expect(fs.unlinkSync).toHaveBeenCalledWith(
expect.stringContaining(oldFile)
);
expect(fs.unlinkSync).not.toHaveBeenCalledWith(
expect.stringContaining(newFile)
);
});
it('should handle cleanup errors gracefully', () => {

View File

@@ -32,7 +32,9 @@ export class CredentialStore {
// Normalize/migrate timestamps to numeric (handles both number and ISO string)
let expiresAtMs: number | undefined;
if (typeof authData.expiresAt === 'number') {
expiresAtMs = Number.isFinite(authData.expiresAt) ? authData.expiresAt : undefined;
expiresAtMs = Number.isFinite(authData.expiresAt)
? authData.expiresAt
: undefined;
} else if (typeof authData.expiresAt === 'string') {
const parsed = Date.parse(authData.expiresAt);
expiresAtMs = Number.isNaN(parsed) ? undefined : parsed;
@@ -103,7 +105,9 @@ export class CredentialStore {
let validTimestamp: number | undefined;
if (typeof authData.expiresAt === 'number') {
validTimestamp = Number.isFinite(authData.expiresAt) ? authData.expiresAt : undefined;
validTimestamp = Number.isFinite(authData.expiresAt)
? authData.expiresAt
: undefined;
} else if (typeof authData.expiresAt === 'string') {
const parsed = Date.parse(authData.expiresAt);
validTimestamp = Number.isNaN(parsed) ? undefined : parsed;