Skip to content

Commit 2e9a873

Browse files
committed
refactor
1 parent 701bcf7 commit 2e9a873

File tree

2 files changed

+11
-28
lines changed

2 files changed

+11
-28
lines changed

static/app/utils/gettingStartedDocs/python.spec.tsx

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,52 +16,48 @@ describe('getPythonInstallSnippet', () => {
1616
packageName: 'sentry-sdk',
1717
});
1818

19-
expect(result).toBe(`pip install "sentry-sdk"`);
19+
expect(result.pip).toBe(`pip install "sentry-sdk"`);
2020
});
2121

2222
it('generates pip install command with minimum version and extras', () => {
2323
const result = getPythonInstallSnippet({
2424
packageName: 'sentry-sdk[with-extras]',
2525
minimumVersion: '1.2.3',
2626
});
27-
expect(result).toBe(`pip install --upgrade "sentry-sdk[with-extras]>=1.2.3"`);
27+
expect(result.pip).toBe(`pip install --upgrade "sentry-sdk[with-extras]>=1.2.3"`);
2828
});
2929

3030
it('generates uv install command with default parameters', () => {
3131
const result = getPythonInstallSnippet({
3232
packageName: 'sentry-sdk',
33-
packageManager: 'uv',
3433
});
3534

36-
expect(result).toBe(`uv add "sentry-sdk"`);
35+
expect(result.uv).toBe(`uv add "sentry-sdk"`);
3736
});
3837

3938
it('generates uv install command with minimum version and extras', () => {
4039
const result = getPythonInstallSnippet({
4140
packageName: 'sentry-sdk[with-extras]',
42-
packageManager: 'uv',
4341
minimumVersion: '2.3.4',
4442
});
4543

46-
expect(result).toBe(`uv add --upgrade "sentry-sdk[with-extras]>=2.3.4"`);
44+
expect(result.uv).toBe(`uv add --upgrade "sentry-sdk[with-extras]>=2.3.4"`);
4745
});
4846

4947
it('generates poetry install command with default parameters', () => {
5048
const result = getPythonInstallSnippet({
5149
packageName: 'sentry-sdk',
52-
packageManager: 'poetry',
5350
});
5451

55-
expect(result).toBe(`poetry add "sentry-sdk"`);
52+
expect(result.poetry).toBe(`poetry add "sentry-sdk"`);
5653
});
5754

5855
it('generates poetry install command with minimum version and extras', () => {
5956
const result = getPythonInstallSnippet({
6057
packageName: 'sentry-sdk[with-extras]',
61-
packageManager: 'poetry',
6258
minimumVersion: '2.3.4',
6359
});
6460

65-
expect(result).toBe(`poetry add "sentry-sdk[with-extras]>=2.3.4"`);
61+
expect(result.poetry).toBe(`poetry add "sentry-sdk[with-extras]>=2.3.4"`);
6662
});
6763
});

static/app/utils/gettingStartedDocs/python.tsx

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,10 @@ import {t, tct} from 'sentry/locale';
1212

1313
export function getPythonInstallSnippet({
1414
packageName,
15-
packageManager = 'pip',
1615
minimumVersion,
1716
}: {
1817
packageName: string;
1918
minimumVersion?: string;
20-
packageManager?: 'pip' | 'uv' | 'poetry';
2119
}) {
2220
// We are using consistent double quotes here for all package managers after aligning with the Python SDK team.
2321
// Not using quotes may lead to some shells interpreting the square brackets, and using double quotes over single quotes is a convention.
@@ -33,7 +31,7 @@ export function getPythonInstallSnippet({
3331
poetry: `poetry add ${versionedPackage}`,
3432
};
3533

36-
return packageManagerCommands[packageManager].trim();
34+
return packageManagerCommands;
3735
}
3836

3937
export function getPythonInstallConfig({
@@ -45,6 +43,7 @@ export function getPythonInstallConfig({
4543
minimumVersion?: string;
4644
packageName?: string;
4745
} = {}): Configuration[] {
46+
const packageManagerCommands = getPythonInstallSnippet({packageName, minimumVersion});
4847
return [
4948
{
5049
description,
@@ -54,31 +53,19 @@ export function getPythonInstallConfig({
5453
label: 'pip',
5554
value: 'pip',
5655
language: 'bash',
57-
code: getPythonInstallSnippet({
58-
packageName,
59-
packageManager: 'pip',
60-
minimumVersion,
61-
}),
56+
code: packageManagerCommands.pip,
6257
},
6358
{
6459
label: 'uv',
6560
value: 'uv',
6661
language: 'bash',
67-
code: getPythonInstallSnippet({
68-
packageName,
69-
packageManager: 'uv',
70-
minimumVersion,
71-
}),
62+
code: packageManagerCommands.uv,
7263
},
7364
{
7465
label: 'poetry',
7566
value: 'poetry',
7667
language: 'bash',
77-
code: getPythonInstallSnippet({
78-
packageName,
79-
packageManager: 'poetry',
80-
minimumVersion,
81-
}),
68+
code: packageManagerCommands.poetry,
8269
},
8370
],
8471
},

0 commit comments

Comments
 (0)