Skip to content

Commit 3faddf0

Browse files
Add mongodb.ts and initial refactor
1 parent d2ad07f commit 3faddf0

8 files changed

Lines changed: 147 additions & 12 deletions

File tree

src/cmap/auth/mongodb_oidc.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ import { type AuthContext, AuthProvider } from './auth_provider';
66
import type { MongoCredentials } from './mongo_credentials';
77
import { AutomatedCallbackWorkflow } from './mongodb_oidc/automated_callback_workflow';
88
import { callback as azureCallback } from './mongodb_oidc/azure_machine_workflow';
9-
import { callback as gcpCallback } from './mongodb_oidc/gcp_machine_workflow';
10-
import { callback as k8sCallback } from './mongodb_oidc/k8s_machine_workflow';
9+
import { gcpCallback as gcpCallback } from './mongodb_oidc/gcp_machine_workflow';
10+
import { k8sCallback as k8sCallback } from './mongodb_oidc/k8s_machine_workflow';
1111
import { TokenCache } from './mongodb_oidc/token_cache';
12-
import { callback as testCallback } from './mongodb_oidc/token_machine_workflow';
12+
import { tokenMachineCallback as testCallback } from './mongodb_oidc/token_machine_workflow';
1313

1414
/** Error when credentials are missing. */
1515
const MISSING_CREDENTIALS_ERROR = 'AuthContext must provide credentials.';

src/cmap/auth/mongodb_oidc/gcp_machine_workflow.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ const TOKEN_RESOURCE_MISSING_ERROR =
1818
* @param params - The OIDC callback parameters.
1919
* @returns The OIDC response.
2020
*/
21-
export const callback: OIDCCallbackFunction = async (
21+
export const gcpCallback: OIDCCallbackFunction = async (
2222
params: OIDCCallbackParams
2323
): Promise<OIDCResponse> => {
2424
const tokenAudience = params.tokenAudience;

src/cmap/auth/mongodb_oidc/k8s_machine_workflow.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const AWS_FILENAME = 'AWS_WEB_IDENTITY_TOKEN_FILE';
1717
* @param params - The OIDC callback parameters.
1818
* @returns The OIDC response.
1919
*/
20-
export const callback: OIDCCallbackFunction = async (): Promise<OIDCResponse> => {
20+
export const k8sCallback: OIDCCallbackFunction = async (): Promise<OIDCResponse> => {
2121
let filename: string;
2222
if (process.env[AZURE_FILENAME]) {
2323
filename = process.env[AZURE_FILENAME];

src/cmap/auth/mongodb_oidc/token_machine_workflow.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const TOKEN_MISSING_ERROR = 'OIDC_TOKEN_FILE must be set in the environment.';
1212
* @param params - The OIDC callback parameters.
1313
* @returns The OIDC response.
1414
*/
15-
export const callback: OIDCCallbackFunction = async (): Promise<OIDCResponse> => {
15+
export const tokenMachineCallback: OIDCCallbackFunction = async (): Promise<OIDCResponse> => {
1616
const tokenFile = process.env.OIDC_TOKEN_FILE;
1717
if (!tokenFile) {
1818
throw new MongoAWSError(TOKEN_MISSING_ERROR);

test/mongodb.ts

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
/**
2+
* Auto-generated file that exports everything from src/
3+
* Generated on: 2026-02-03T22:38:18.484Z
4+
*/
5+
6+
export * from '../src/admin';
7+
export * from '../src/bson';
8+
export * from '../src/bulk/common';
9+
export * from '../src/bulk/ordered';
10+
export * from '../src/bulk/unordered';
11+
export * from '../src/change_stream';
12+
export * from '../src/client-side-encryption/auto_encrypter';
13+
export * from '../src/client-side-encryption/client_encryption';
14+
export * from '../src/client-side-encryption/errors';
15+
export * from '../src/client-side-encryption/mongocryptd_manager';
16+
export * from '../src/client-side-encryption/providers/aws';
17+
export * from '../src/client-side-encryption/providers/azure';
18+
export * from '../src/client-side-encryption/providers/gcp';
19+
export * from '../src/client-side-encryption/providers/index';
20+
export * from '../src/client-side-encryption/state_machine';
21+
export * from '../src/cmap/auth/auth_provider';
22+
export * from '../src/cmap/auth/aws4';
23+
export * from '../src/cmap/auth/aws_temporary_credentials';
24+
export * from '../src/cmap/auth/gssapi';
25+
export * from '../src/cmap/auth/mongo_credentials';
26+
export * from '../src/cmap/auth/mongodb_aws';
27+
export * from '../src/cmap/auth/mongodb_oidc';
28+
export * from '../src/cmap/auth/mongodb_oidc/automated_callback_workflow';
29+
export * from '../src/cmap/auth/mongodb_oidc/azure_machine_workflow';
30+
export * from '../src/cmap/auth/mongodb_oidc/callback_workflow';
31+
export * from '../src/cmap/auth/mongodb_oidc/command_builders';
32+
export * from '../src/cmap/auth/mongodb_oidc/gcp_machine_workflow';
33+
export * from '../src/cmap/auth/mongodb_oidc/human_callback_workflow';
34+
export * from '../src/cmap/auth/mongodb_oidc/k8s_machine_workflow';
35+
export * from '../src/cmap/auth/mongodb_oidc/token_cache';
36+
export * from '../src/cmap/auth/mongodb_oidc/token_machine_workflow';
37+
export * from '../src/cmap/auth/plain';
38+
export * from '../src/cmap/auth/providers';
39+
export * from '../src/cmap/auth/scram';
40+
export * from '../src/cmap/auth/x509';
41+
export * from '../src/cmap/command_monitoring_events';
42+
export * from '../src/cmap/commands';
43+
export * from '../src/cmap/connect';
44+
export * from '../src/cmap/connection';
45+
export * from '../src/cmap/connection_pool';
46+
export * from '../src/cmap/connection_pool_events';
47+
export * from '../src/cmap/errors';
48+
export * from '../src/cmap/handshake/client_metadata';
49+
export * from '../src/cmap/metrics';
50+
export * from '../src/cmap/stream_description';
51+
export * from '../src/cmap/wire_protocol/compression';
52+
export * from '../src/cmap/wire_protocol/constants';
53+
export * from '../src/cmap/wire_protocol/on_data';
54+
export * from '../src/cmap/wire_protocol/on_demand/document';
55+
export * from '../src/cmap/wire_protocol/responses';
56+
export * from '../src/cmap/wire_protocol/shared';
57+
export * from '../src/collection';
58+
export * from '../src/connection_string';
59+
export * from '../src/constants';
60+
export * from '../src/cursor/abstract_cursor';
61+
export * from '../src/cursor/aggregation_cursor';
62+
export * from '../src/cursor/change_stream_cursor';
63+
export * from '../src/cursor/client_bulk_write_cursor';
64+
export * from '../src/cursor/explainable_cursor';
65+
export * from '../src/cursor/find_cursor';
66+
export * from '../src/cursor/list_collections_cursor';
67+
export * from '../src/cursor/list_indexes_cursor';
68+
export * from '../src/cursor/list_search_indexes_cursor';
69+
export * from '../src/cursor/run_command_cursor';
70+
export * from '../src/db';
71+
export * from '../src/deps';
72+
export * from '../src/encrypter';
73+
export * from '../src/error';
74+
export * from '../src/explain';
75+
export * from '../src/gridfs/download';
76+
export * from '../src/gridfs/index';
77+
export * from '../src/gridfs/upload';
78+
export * from '../src/index';
79+
export * from '../src/mongo_client';
80+
export * from '../src/mongo_client_auth_providers';
81+
export * from '../src/mongo_logger';
82+
export * from '../src/mongo_types';
83+
export * from '../src/operations/aggregate';
84+
export * from '../src/operations/client_bulk_write/client_bulk_write';
85+
export * from '../src/operations/client_bulk_write/command_builder';
86+
export * from '../src/operations/client_bulk_write/common';
87+
export * from '../src/operations/client_bulk_write/executor';
88+
export * from '../src/operations/client_bulk_write/results_merger';
89+
export * from '../src/operations/command';
90+
export * from '../src/operations/count';
91+
export * from '../src/operations/create_collection';
92+
export * from '../src/operations/delete';
93+
export * from '../src/operations/distinct';
94+
export * from '../src/operations/drop';
95+
export * from '../src/operations/end_sessions';
96+
export * from '../src/operations/estimated_document_count';
97+
export * from '../src/operations/execute_operation';
98+
export * from '../src/operations/find';
99+
export * from '../src/operations/find_and_modify';
100+
export * from '../src/operations/get_more';
101+
export * from '../src/operations/indexes';
102+
export * from '../src/operations/insert';
103+
export * from '../src/operations/kill_cursors';
104+
export * from '../src/operations/list_collections';
105+
export * from '../src/operations/list_databases';
106+
export * from '../src/operations/operation';
107+
export * from '../src/operations/profiling_level';
108+
export * from '../src/operations/remove_user';
109+
export * from '../src/operations/rename';
110+
export * from '../src/operations/run_command';
111+
export * from '../src/operations/search_indexes/create';
112+
export * from '../src/operations/search_indexes/drop';
113+
export * from '../src/operations/search_indexes/update';
114+
export * from '../src/operations/set_profiling_level';
115+
export * from '../src/operations/stats';
116+
export * from '../src/operations/update';
117+
export * from '../src/operations/validate_collection';
118+
export * from '../src/read_concern';
119+
export * from '../src/read_preference';
120+
export * from '../src/sdam/common';
121+
export * from '../src/sdam/events';
122+
export * from '../src/sdam/monitor';
123+
export * from '../src/sdam/server';
124+
export * from '../src/sdam/server_description';
125+
export * from '../src/sdam/server_selection';
126+
export * from '../src/sdam/server_selection_events';
127+
export * from '../src/sdam/srv_polling';
128+
export * from '../src/sdam/topology';
129+
export * from '../src/sdam/topology_description';
130+
export * from '../src/sessions';
131+
export * from '../src/sort';
132+
export * from '../src/timeout';
133+
export * from '../src/transactions';
134+
export * from '../src/utils';
135+
export * from '../src/write_concern';

test/unit/cmap/auth/mongodb_oidc/automated_callback_workflow.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import * as sinon from 'sinon';
44
import { MongoCredentials } from '../../../../../src/cmap/auth/mongo_credentials';
55
import { AutomatedCallbackWorkflow } from '../../../../../src/cmap/auth/mongodb_oidc/automated_callback_workflow';
66
import { CallbackWorkflow } from '../../../../../src/cmap/auth/mongodb_oidc/callback_workflow';
7-
import { callback } from '../../../../../src/cmap/auth/mongodb_oidc/gcp_machine_workflow';
7+
import { gcpCallback } from '../../../../../src/cmap/auth/mongodb_oidc/gcp_machine_workflow';
88
import { TokenCache } from '../../../../../src/cmap/auth/mongodb_oidc/token_cache';
99
import { Connection } from '../../../../../src/cmap/connection';
1010

@@ -20,7 +20,7 @@ describe('AutomatedCallbackWorkflow', function () {
2020
const connection = sandbox.createStubInstance(Connection);
2121
const credentials = sandbox.createStubInstance(MongoCredentials);
2222
sandbox.stub(CallbackWorkflow.prototype, 'finishAuthentication').resolves();
23-
const workflow = new AutomatedCallbackWorkflow(cache, callback);
23+
const workflow = new AutomatedCallbackWorkflow(cache, gcpCallback);
2424

2525
beforeEach(function () {
2626
cache.put({ accessToken: 'test', expiresInSeconds: 7200 });

test/unit/cmap/auth/mongodb_oidc/gcp_machine_workflow.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { expect } from 'chai';
22

33
import { OIDC_VERSION, type OIDCCallbackParams } from '../../../../../src/cmap/auth/mongodb_oidc';
4-
import { callback } from '../../../../../src/cmap/auth/mongodb_oidc/gcp_machine_workflow';
4+
import { gcpCallback } from '../../../../../src/cmap/auth/mongodb_oidc/gcp_machine_workflow';
55

66
describe('GCP machine workflow', function () {
77
describe('#callback', function () {
@@ -13,7 +13,7 @@ describe('GCP machine workflow', function () {
1313
};
1414

1515
it('throws an error', async function () {
16-
const error = await callback(params).catch(error => error);
16+
const error = await gcpCallback(params).catch(error => error);
1717
expect(error.message).to.include('TOKEN_RESOURCE');
1818
});
1919
});

test/unit/cmap/auth/mongodb_oidc/token_machine_workflow.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { expect } from 'chai';
22
import * as process from 'process';
33

4-
import { callback } from '../../../../../src/cmap/auth/mongodb_oidc/token_machine_workflow';
4+
import { tokenMachineCallback } from '../../../../../src/cmap/auth/mongodb_oidc/token_machine_workflow';
55

66
describe('Token machine workflow', function () {
77
describe('#callback', function () {
@@ -20,7 +20,7 @@ describe('Token machine workflow', function () {
2020
});
2121

2222
it('throws an error', async function () {
23-
const error = await callback().catch(error => error);
23+
const error = await tokenMachineCallback().catch(error => error);
2424
expect(error.message).to.include('OIDC_TOKEN_FILE');
2525
});
2626
});

0 commit comments

Comments
 (0)