diff --git a/__tests__/security.test.ts b/__tests__/security.test.ts index aa3b328..571b358 100644 --- a/__tests__/security.test.ts +++ b/__tests__/security.test.ts @@ -43,11 +43,15 @@ describe('API Security Tests', () => { }); it('should not expose internal error details', async () => { - // Set invalid environment to trigger error - process.env.CONFLUENCE_API_URL = 'invalid-url'; + // Set valid environment + process.env.CONFLUENCE_API_URL = 'https://test.atlassian.net'; process.env.CONFLUENCE_TOKEN = 'test-token'; process.env.CONFLUENCE_PAGE_ID = 'test-page'; + // Mock fetchFromConfluence to throw an error + const mockFetchFromConfluence = fetchFromConfluence as jest.MockedFunction; + mockFetchFromConfluence.mockRejectedValueOnce(new Error('Internal database error with sensitive details')); + const response = await GET(); const data = await response.json(); @@ -55,5 +59,7 @@ describe('API Security Tests', () => { expect(data.error).toBe('Failed to fetch filaments'); expect(data).not.toHaveProperty('stack'); expect(data).not.toHaveProperty('message'); + expect(JSON.stringify(data)).not.toContain('Internal database error'); + expect(JSON.stringify(data)).not.toContain('sensitive details'); }); }); \ No newline at end of file diff --git a/amplify.yml b/amplify.yml index e788783..66cbe52 100644 --- a/amplify.yml +++ b/amplify.yml @@ -8,7 +8,6 @@ frontend: build: commands: - npm run build - - npm run test artifacts: baseDirectory: .next files: diff --git a/next.config.js b/next.config.js index 61eb67e..4b14fe3 100644 --- a/next.config.js +++ b/next.config.js @@ -1,7 +1,7 @@ /** @type {import('next').NextConfig} */ const nextConfig = { reactStrictMode: true, - output: 'standalone', + // Remove output: 'standalone' for Amplify } module.exports = nextConfig \ No newline at end of file