Skip to content

Commit aebf103

Browse files
committed
refactor(cli): reorganize imports and remove unused test imports
Improve code organization and remove dead code from test files. Changes in env.mts: - Move build metadata imports to be grouped with other imports - Improve import organization for better readability Changes in test files: - Remove unused imports (isDebug, isDebugNs, etc.) - Clean up import statements across 80+ test files - No functional changes to tests
1 parent 54e9607 commit aebf103

File tree

80 files changed

+1059
-475
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+1059
-475
lines changed

packages/cli/src/constants/env.mts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,13 @@
66
import process, { env } from 'node:process'
77

88
// Import CLI-specific env modules.
9+
import { getCdxgenVersion } from '../env/cdxgen-version.mts'
910
import { CI } from '../env/ci.mts'
11+
import { getCliHomepage } from '../env/cli-homepage.mts'
12+
import { getCliName } from '../env/cli-name.mts'
13+
import { getCliVersionHash } from '../env/cli-version-hash.mts'
14+
import { getCliVersion } from '../env/cli-version.mts'
15+
import { getCoanaVersion } from '../env/coana-version.mts'
1016
import { DISABLE_GITHUB_CACHE } from '../env/disable-github-cache.mts'
1117
import { GITHUB_API_URL } from '../env/github-api-url.mts'
1218
import { GITHUB_BASE_REF } from '../env/github-base-ref.mts'
@@ -15,11 +21,17 @@ import { GITHUB_REF_TYPE } from '../env/github-ref-type.mts'
1521
import { GITHUB_REPOSITORY } from '../env/github-repository.mts'
1622
import { GITHUB_SERVER_URL } from '../env/github-server-url.mts'
1723
import { HOME } from '../env/home.mts'
24+
import { isLegacyBuild } from '../env/is-legacy-build.mts'
25+
import { isPublishedBuild } from '../env/is-published-build.mts'
26+
import { isSentryBuild } from '../env/is-sentry-build.mts'
1827
import { LOCALAPPDATA } from '../env/localappdata.mts'
1928
import { NODE_ENV } from '../env/node-env.mts'
2029
import { NODE_OPTIONS } from '../env/node-options.mts'
2130
import { npm_config_cache } from '../env/npm-config-cache.mts'
2231
import { npm_config_user_agent } from '../env/npm-config-user-agent.mts'
32+
import { getPyCliVersion } from '../env/pycli-version.mts'
33+
import { getPythonBuildTag } from '../env/python-build-tag.mts'
34+
import { getPythonVersion } from '../env/python-version.mts'
2335
import { RUN_E2E_TESTS } from '../env/run-e2e-tests.mts'
2436
import { SOCKET_CLI_ACCEPT_RISKS } from '../env/socket-cli-accept-risks.mts'
2537
import { SOCKET_CLI_API_BASE_URL } from '../env/socket-cli-api-base-url.mts'
@@ -50,6 +62,7 @@ import { SOCKET_CLI_PYCLI_LOCAL_PATH } from '../env/socket-cli-pycli-local-path.
5062
import { SOCKET_CLI_SEA_NODE_VERSION } from '../env/socket-cli-sea-node-version.mts'
5163
import { SOCKET_CLI_SFW_LOCAL_PATH } from '../env/socket-cli-sfw-local-path.mts'
5264
import { SOCKET_CLI_VIEW_ALL_RISKS } from '../env/socket-cli-view-all-risks.mts'
65+
import { getSynpVersion } from '../env/synp-version.mts'
5366
import { TEMP } from '../env/temp.mts'
5467
import { TERM } from '../env/term.mts'
5568
import { TMP } from '../env/tmp.mts'
@@ -59,19 +72,6 @@ import { XDG_CACHE_HOME } from '../env/xdg-cache-home.mts'
5972
import { XDG_DATA_HOME } from '../env/xdg-data-home.mts'
6073

6174
// Import build metadata getter functions.
62-
import { getCdxgenVersion } from '../env/cdxgen-version.mts'
63-
import { getCliHomepage } from '../env/cli-homepage.mts'
64-
import { getCliName } from '../env/cli-name.mts'
65-
import { getCliVersion } from '../env/cli-version.mts'
66-
import { getCliVersionHash } from '../env/cli-version-hash.mts'
67-
import { getCoanaVersion } from '../env/coana-version.mts'
68-
import { isLegacyBuild } from '../env/is-legacy-build.mts'
69-
import { isPublishedBuild } from '../env/is-published-build.mts'
70-
import { isSentryBuild } from '../env/is-sentry-build.mts'
71-
import { getPyCliVersion } from '../env/pycli-version.mts'
72-
import { getPythonBuildTag } from '../env/python-build-tag.mts'
73-
import { getPythonVersion } from '../env/python-version.mts'
74-
import { getSynpVersion } from '../env/synp-version.mts'
7575

7676
// Re-export CLI-specific env variables.
7777
export {

packages/cli/test/integration/binary/helpers.mts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,12 +108,14 @@ export async function prepareBinary(
108108
}
109109

110110
if (!binaryExists) {
111-
logger.log(` ✗ Build failed`)
112-
logger.log(` To build manually: ${binary.buildCommand?.join(' ') ?? 'N/A'}`)
111+
logger.log(' ✗ Build failed')
112+
logger.log(
113+
` To build manually: ${binary.buildCommand?.join(' ') ?? 'N/A'}`,
114+
)
113115
return false
114116
}
115117

116-
logger.log(` ✓ Build complete`)
118+
logger.log(' ✓ Build complete')
117119
} else {
118120
// Binary exists.
119121
logger.log(`✓ ${binary.name}`)

packages/cli/test/integration/binary/js.test.mts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,15 @@ import path from 'node:path'
44

55
import { beforeAll, describe, expect, it } from 'vitest'
66

7+
import {
8+
ROOT_DIR,
9+
logger,
10+
prepareBinary,
11+
type BinaryConfig,
12+
} from './helpers.mts'
713
import ENV from '../../../src/constants/env.mts'
814
import { getDefaultApiToken } from '../../../src/utils/socket/sdk.mts'
915
import { executeCliCommand } from '../../helpers/cli-execution.mts'
10-
import { ROOT_DIR, logger, prepareBinary, type BinaryConfig } from './helpers.mts'
1116

1217
const BINARY: BinaryConfig = {
1318
buildCommand: null,

packages/cli/test/integration/binary/sea.test.mts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,15 @@ import path from 'node:path'
44

55
import { beforeAll, describe, expect, it } from 'vitest'
66

7+
import {
8+
MONOREPO_ROOT,
9+
logger,
10+
prepareBinary,
11+
type BinaryConfig,
12+
} from './helpers.mts'
713
import ENV from '../../../src/constants/env.mts'
814
import { getDefaultApiToken } from '../../../src/utils/socket/sdk.mts'
915
import { executeCliCommand } from '../../helpers/cli-execution.mts'
10-
import { MONOREPO_ROOT, logger, prepareBinary, type BinaryConfig } from './helpers.mts'
1116

1217
const BINARY: BinaryConfig = {
1318
buildCommand: [

packages/cli/test/integration/binary/smol.test.mts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,15 @@ import path from 'node:path'
44

55
import { beforeAll, describe, expect, it } from 'vitest'
66

7+
import {
8+
MONOREPO_ROOT,
9+
logger,
10+
prepareBinary,
11+
type BinaryConfig,
12+
} from './helpers.mts'
713
import ENV from '../../../src/constants/env.mts'
814
import { getDefaultApiToken } from '../../../src/utils/socket/sdk.mts'
915
import { executeCliCommand } from '../../helpers/cli-execution.mts'
10-
import { MONOREPO_ROOT, logger, prepareBinary, type BinaryConfig } from './helpers.mts'
1116

1217
const BINARY: BinaryConfig = {
1318
buildCommand: [
@@ -20,10 +25,7 @@ const BINARY: BinaryConfig = {
2025
// In CI: always enabled. Locally: only if TEST_SMOL_BINARY is set.
2126
enabled: process.env.CI ? true : !!process.env.TEST_SMOL_BINARY,
2227
name: 'Smol Binary',
23-
path: path.join(
24-
MONOREPO_ROOT,
25-
'packages/node-smol-builder/dist/socket-smol',
26-
),
28+
path: path.join(MONOREPO_ROOT, 'packages/node-smol-builder/dist/socket-smol'),
2729
}
2830

2931
if (BINARY.enabled) {

packages/cli/test/unit/commands/analytics/handle-analytics.test.mts

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,14 @@
3131

3232
import { beforeEach, describe, expect, it, vi } from 'vitest'
3333

34+
import { fetchOrgAnalyticsData } from '../../../../src/commands/analytics/fetch-org-analytics.mts'
35+
import { fetchRepoAnalyticsData } from '../../../../src/commands/analytics/fetch-repo-analytics.mts'
36+
import { handleAnalytics } from '../../../../src/commands/analytics/handle-analytics.mts'
37+
import { outputAnalytics } from '../../../../src/commands/analytics/output-analytics.mts'
3438
import {
3539
createErrorResult,
3640
createSuccessResult,
3741
} from '../../../helpers/mocks.mts'
38-
import { handleAnalytics } from '../../../../src/commands/analytics/handle-analytics.mts'
39-
import { fetchOrgAnalyticsData } from '../../../../src/commands/analytics/fetch-org-analytics.mts'
40-
import { fetchRepoAnalyticsData } from '../../../../src/commands/analytics/fetch-repo-analytics.mts'
41-
import { outputAnalytics } from '../../../../src/commands/analytics/output-analytics.mts'
4242

4343
// Mock the dependencies.
4444
const mockFetchOrgAnalyticsData = vi.hoisted(() => vi.fn())
@@ -62,9 +62,7 @@ describe('handleAnalytics', () => {
6262

6363
it('fetches org analytics when scope is org', async () => {
6464
const mockData = [{ packages: 10, vulnerabilities: 2 }]
65-
mockFetchOrgAnalyticsData.mockResolvedValue(
66-
createSuccessResult(mockData),
67-
)
65+
mockFetchOrgAnalyticsData.mockResolvedValue(createSuccessResult(mockData))
6866

6967
await handleAnalytics({
7068
filepath: '/tmp/analytics.json',
@@ -89,9 +87,7 @@ describe('handleAnalytics', () => {
8987

9088
it('fetches repo analytics when repo is provided', async () => {
9189
const mockData = [{ packages: 5, vulnerabilities: 1 }]
92-
mockFetchRepoAnalyticsData.mockResolvedValue(
93-
createSuccessResult(mockData),
94-
)
90+
mockFetchRepoAnalyticsData.mockResolvedValue(createSuccessResult(mockData))
9591

9692
await handleAnalytics({
9793
filepath: '/tmp/analytics.json',
@@ -201,9 +197,7 @@ describe('handleAnalytics', () => {
201197

202198
it('handles markdown output kind', async () => {
203199
const mockData = [{ packages: 10, vulnerabilities: 2 }]
204-
mockFetchOrgAnalyticsData.mockResolvedValue(
205-
createSuccessResult(mockData),
206-
)
200+
mockFetchOrgAnalyticsData.mockResolvedValue(createSuccessResult(mockData))
207201

208202
await handleAnalytics({
209203
filepath: '',
@@ -227,9 +221,7 @@ describe('handleAnalytics', () => {
227221

228222
it('handles text output kind', async () => {
229223
const mockData = [{ packages: 10, vulnerabilities: 2 }]
230-
mockFetchOrgAnalyticsData.mockResolvedValue(
231-
createSuccessResult(mockData),
232-
)
224+
mockFetchOrgAnalyticsData.mockResolvedValue(createSuccessResult(mockData))
233225

234226
await handleAnalytics({
235227
filepath: '',

packages/cli/test/unit/commands/audit-log/handle-audit-log.test.mts

Lines changed: 40 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -28,22 +28,22 @@
2828

2929
import { beforeEach, describe, expect, it, vi } from 'vitest'
3030

31+
import { handleAuditLog } from '../../../../src/commands/audit-log/handle-audit-log.mts'
3132
import {
3233
createErrorResult,
3334
createSuccessResult,
3435
} from '../../../helpers/mocks.mts'
35-
import { handleAuditLog } from '../../../../src/commands/audit-log/handle-audit-log.mts'
3636

3737
// Mock the dependencies.
3838
const mockFetchAuditLog = vi.hoisted(() => vi.fn())
3939
const mockOutputAuditLog = vi.hoisted(() => vi.fn())
4040
const mockGetDefaultLogger = vi.hoisted(() => vi.fn())
41-
const mockLog = vi.hoisted(() => vi.fn())
42-
const mockInfo = vi.hoisted(() => vi.fn())
43-
const mockWarn = vi.hoisted(() => vi.fn())
44-
const mockError = vi.hoisted(() => vi.fn())
45-
const mockFail = vi.hoisted(() => vi.fn())
46-
const mockSuccess = vi.hoisted(() => vi.fn())
41+
const _mockLog = vi.hoisted(() => vi.fn())
42+
const _mockInfo = vi.hoisted(() => vi.fn())
43+
const _mockWarn = vi.hoisted(() => vi.fn())
44+
const _mockError = vi.hoisted(() => vi.fn())
45+
const _mockFail = vi.hoisted(() => vi.fn())
46+
const _mockSuccess = vi.hoisted(() => vi.fn())
4747

4848
vi.mock('../../../../src/commands/audit-log/fetch-audit-log.mts', () => ({
4949
fetchAuditLog: mockFetchAuditLog,
@@ -61,8 +61,12 @@ describe('handleAuditLog', () => {
6161
})
6262

6363
it('fetches and outputs audit logs', async () => {
64-
const { fetchAuditLog } = await import('../../../../src/commands/audit-log/fetch-audit-log.mts')
65-
const { outputAuditLog } = await import('../../../../src/commands/audit-log/output-audit-log.mts')
64+
const { fetchAuditLog } = await import(
65+
'../../../../src/commands/audit-log/fetch-audit-log.mts'
66+
)
67+
const { outputAuditLog } = await import(
68+
'../../../../src/commands/audit-log/output-audit-log.mts'
69+
)
6670

6771
const mockLogs = createSuccessResult([
6872
{ id: 1, type: 'security', message: 'Security event' },
@@ -95,8 +99,12 @@ describe('handleAuditLog', () => {
9599
})
96100

97101
it('handles pagination', async () => {
98-
const { fetchAuditLog } = await import('../../../../src/commands/audit-log/fetch-audit-log.mts')
99-
const { outputAuditLog } = await import('../../../../src/commands/audit-log/output-audit-log.mts')
102+
const { fetchAuditLog } = await import(
103+
'../../../../src/commands/audit-log/fetch-audit-log.mts'
104+
)
105+
const { outputAuditLog } = await import(
106+
'../../../../src/commands/audit-log/output-audit-log.mts'
107+
)
100108

101109
const mockLogs = createSuccessResult([])
102110
mockFetchAuditLog.mockResolvedValue(mockLogs)
@@ -126,8 +134,12 @@ describe('handleAuditLog', () => {
126134
})
127135

128136
it('handles markdown output', async () => {
129-
const { fetchAuditLog } = await import('../../../../src/commands/audit-log/fetch-audit-log.mts')
130-
const { outputAuditLog } = await import('../../../../src/commands/audit-log/output-audit-log.mts')
137+
const { fetchAuditLog } = await import(
138+
'../../../../src/commands/audit-log/fetch-audit-log.mts'
139+
)
140+
const { outputAuditLog } = await import(
141+
'../../../../src/commands/audit-log/output-audit-log.mts'
142+
)
131143

132144
const mockLogs = createSuccessResult([
133145
{ id: 1, type: 'config', message: 'Config change' },
@@ -159,8 +171,12 @@ describe('handleAuditLog', () => {
159171
})
160172

161173
it('handles empty audit logs', async () => {
162-
const { fetchAuditLog } = await import('../../../../src/commands/audit-log/fetch-audit-log.mts')
163-
const { outputAuditLog } = await import('../../../../src/commands/audit-log/output-audit-log.mts')
174+
const { fetchAuditLog } = await import(
175+
'../../../../src/commands/audit-log/fetch-audit-log.mts'
176+
)
177+
const { outputAuditLog } = await import(
178+
'../../../../src/commands/audit-log/output-audit-log.mts'
179+
)
164180

165181
const mockLogs = createSuccessResult([])
166182
mockFetchAuditLog.mockResolvedValue(mockLogs)
@@ -177,8 +193,12 @@ describe('handleAuditLog', () => {
177193
})
178194

179195
it('handles fetch errors', async () => {
180-
const { fetchAuditLog } = await import('../../../../src/commands/audit-log/fetch-audit-log.mts')
181-
const { outputAuditLog } = await import('../../../../src/commands/audit-log/output-audit-log.mts')
196+
const { fetchAuditLog } = await import(
197+
'../../../../src/commands/audit-log/fetch-audit-log.mts'
198+
)
199+
const { outputAuditLog } = await import(
200+
'../../../../src/commands/audit-log/output-audit-log.mts'
201+
)
182202

183203
const mockError = createErrorResult('API error')
184204
mockFetchAuditLog.mockResolvedValue(mockError)
@@ -195,7 +215,9 @@ describe('handleAuditLog', () => {
195215
})
196216

197217
it('handles different log types', async () => {
198-
const { fetchAuditLog } = await import('../../../../src/commands/audit-log/fetch-audit-log.mts')
218+
const { fetchAuditLog } = await import(
219+
'../../../../src/commands/audit-log/fetch-audit-log.mts'
220+
)
199221

200222
const logTypes = ['all', 'security', 'access', 'config', 'data']
201223

packages/cli/test/unit/commands/audit-log/output-audit-log.test.mts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,14 @@
2828

2929
import { describe, expect, it } from 'vitest'
3030

31-
import { createSuccessResult } from '../../../helpers/mocks.mts'
3231
import FIXTURE from '../../../../src/commands/audit-log/audit-fixture.json' with {
3332
type: 'json',
3433
}
3534
import {
3635
outputAsJson,
3736
outputAsMarkdown,
3837
} from '../../../../src/commands/audit-log/output-audit-log.mts'
38+
import { createSuccessResult } from '../../../helpers/mocks.mts'
3939

4040
import type { SocketSdkSuccessResult } from '@socketsecurity/sdk'
4141

@@ -53,7 +53,9 @@ describe('output-audit-log', () => {
5353
perPage: 10,
5454
},
5555
)
56-
expect(r).toMatchInlineSnapshot(`"{"ok":true,"data":{"desc":"Audit logs for given query","generated":"<redacted>","logType":"","nextPage":"2","org":"noorgslug","page":1,"perPage":10,"logs":[{"event_id":"123112","created_at":"2025-04-02T01:47:26.914Z","ip_address":"","type":"updateOrganizationSetting","user_agent":"","user_email":"person@socket.dev"},{"event_id":"122421","created_at":"2025-03-31T15:19:55.299Z","ip_address":"123.123.321.213","type":"createApiToken","user_agent":"","user_email":"person@socket.dev"},{"event_id":"121392","created_at":"2025-03-27T16:24:36.344Z","ip_address":"","type":"updateOrganizationSetting","user_agent":"super ai .com","user_email":"person@socket.dev"},{"event_id":"121391","created_at":"2025-03-27T16:24:33.912Z","ip_address":"","type":"updateOrganizationSetting","user_agent":"","user_email":"person@socket.dev"},{"event_id":"120287","created_at":"2025-03-24T21:52:12.879Z","ip_address":"","type":"updateAlertTriage","user_agent":"","user_email":"person@socket.dev"},{"event_id":"118431","created_at":"2025-03-17T15:57:29.885Z","ip_address":"","type":"updateOrganizationSetting","user_agent":"","user_email":"person@socket.dev"},{"event_id":"116928","created_at":"2025-03-10T22:53:35.734Z","ip_address":"","type":"updateApiTokenScopes","user_agent":"","user_email":"person@socket.dev"}]}}"`)
56+
expect(r).toMatchInlineSnapshot(
57+
`"{"ok":true,"data":{"desc":"Audit logs for given query","generated":"<redacted>","logType":"","nextPage":"2","org":"noorgslug","page":1,"perPage":10,"logs":[{"event_id":"123112","created_at":"2025-04-02T01:47:26.914Z","ip_address":"","type":"updateOrganizationSetting","user_agent":"","user_email":"person@socket.dev"},{"event_id":"122421","created_at":"2025-03-31T15:19:55.299Z","ip_address":"123.123.321.213","type":"createApiToken","user_agent":"","user_email":"person@socket.dev"},{"event_id":"121392","created_at":"2025-03-27T16:24:36.344Z","ip_address":"","type":"updateOrganizationSetting","user_agent":"super ai .com","user_email":"person@socket.dev"},{"event_id":"121391","created_at":"2025-03-27T16:24:33.912Z","ip_address":"","type":"updateOrganizationSetting","user_agent":"","user_email":"person@socket.dev"},{"event_id":"120287","created_at":"2025-03-24T21:52:12.879Z","ip_address":"","type":"updateAlertTriage","user_agent":"","user_email":"person@socket.dev"},{"event_id":"118431","created_at":"2025-03-17T15:57:29.885Z","ip_address":"","type":"updateOrganizationSetting","user_agent":"","user_email":"person@socket.dev"},{"event_id":"116928","created_at":"2025-03-10T22:53:35.734Z","ip_address":"","type":"updateApiTokenScopes","user_agent":"","user_email":"person@socket.dev"}]}}"`,
58+
)
5759
})
5860

5961
it('should return empty object string on error', async () => {

packages/cli/test/unit/commands/ci/fetch-default-org-slug.test.mts

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,17 @@ import { beforeEach, describe, expect, it, vi } from 'vitest'
2929
import { getDefaultOrgSlug } from '../../../../src/commands/ci/fetch-default-org-slug.mts'
3030

3131
// Create mock functions with hoisting.
32-
const { mockGetConfigValueOrUndef, mockFetchOrganization, mockEnv } = vi.hoisted(() => {
33-
const env = {
34-
SOCKET_CLI_ORG_SLUG: undefined,
35-
}
36-
return {
37-
mockGetConfigValueOrUndef: vi.fn(),
38-
mockFetchOrganization: vi.fn(),
39-
mockEnv: env,
40-
}
41-
})
32+
const { mockEnv, mockFetchOrganization, mockGetConfigValueOrUndef } =
33+
vi.hoisted(() => {
34+
const env = {
35+
SOCKET_CLI_ORG_SLUG: undefined,
36+
}
37+
return {
38+
mockGetConfigValueOrUndef: vi.fn(),
39+
mockFetchOrganization: vi.fn(),
40+
mockEnv: env,
41+
}
42+
})
4243

4344
// Mock the dependencies.
4445
vi.mock('../../../../src/utils/config.mts', () => ({
@@ -49,9 +50,12 @@ vi.mock('../../../../src/constants/env.mts', () => ({
4950
default: mockEnv,
5051
}))
5152

52-
vi.mock('../../../../src/commands/organization/fetch-organization-list.mts', () => ({
53-
fetchOrganization: mockFetchOrganization,
54-
}))
53+
vi.mock(
54+
'../../../../src/commands/organization/fetch-organization-list.mts',
55+
() => ({
56+
fetchOrganization: mockFetchOrganization,
57+
}),
58+
)
5559

5660
describe('getDefaultOrgSlug', () => {
5761
const mockFn = mockGetConfigValueOrUndef

0 commit comments

Comments
 (0)