Skip to content

Commit d98f261

Browse files
feat: add support for loading sample data
1 parent 0fa8388 commit d98f261

File tree

7 files changed

+34
-91
lines changed

7 files changed

+34
-91
lines changed

Cargo.lock

Lines changed: 17 additions & 82 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ crate-type = ["cdylib"]
1111

1212
[dependencies]
1313
anyhow = "1.0.99"
14-
atlas-local = { git = "https://github.com/mongodb/atlas-local-lib.git", rev = "9b582845ebf2e4ca4f6543fa5bb1262920e2fbe6" }
14+
atlas-local = { git = "https://github.com/mongodb/atlas-local-lib.git", rev = "493fb78eb2f38228d486c8537274ab752f1eac04" }
1515
bollard = "0.19.4"
1616
napi = { version = "^3.5.2", features = ["async", "anyhow"] }
1717
napi-derive = "^3.3.3"

__test__/index.spec.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ test('smoke test', async (t) => {
3333
// Create deployment
3434
let createDeploymentOptions = {
3535
name: "test_deployment",
36+
doNotTrack: true,
3637
}
3738
let deployment = await client.createDeployment(createDeploymentOptions)
3839
t.is(deployment.name, createDeploymentOptions.name)

index.d.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export interface CreateDeploymentOptions {
2222
waitUntilHealthyTimeout?: number
2323
creationSource?: CreationSource
2424
localSeedLocation?: string
25+
loadSampleData?: boolean
2526
mongodbInitdbDatabase?: string
2627
mongodbInitdbRootPasswordFile?: string
2728
mongodbInitdbRootPassword?: string
@@ -58,9 +59,10 @@ export interface Deployment {
5859
mongodbInitdbRootPassword?: string
5960
mongodbInitdbRootUsernameFile?: string
6061
mongodbInitdbRootUsername?: string
62+
mongodbLoadSampleData?: boolean
6163
mongotLogFile?: string
6264
runnerLogFile?: string
63-
doNotTrack?: string
65+
doNotTrack: boolean
6466
telemetryBaseUrl?: string
6567
}
6668

index.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@
33
// @ts-nocheck
44
/* auto-generated by NAPI-RS */
55

6-
const { createRequire } = require('node:module')
7-
require = createRequire(__filename)
8-
96
const { readFileSync } = require('node:fs')
107
let nativeBinding = null
118
const loadErrors = []
@@ -108,7 +105,7 @@ function requireNative() {
108105
}
109106
} else if (process.platform === 'win32') {
110107
if (process.arch === 'x64') {
111-
if (process.report?.getReport?.()?.header?.osName?.startsWith?.('MINGW')) {
108+
if (process.config?.variables?.shlib_suffix === 'dll.a' || process.config?.variables?.node_target_type === 'shared_library') {
112109
try {
113110
return require('./atlas-local.win32-x64-gnu.node')
114111
} catch (e) {

src/models/create_deployment.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ pub struct CreateDeploymentOptions {
1919

2020
// Initial database configuration
2121
pub local_seed_location: Option<String>,
22+
pub load_sample_data: Option<bool>,
2223
pub mongodb_initdb_database: Option<String>,
2324
pub mongodb_initdb_root_password_file: Option<String>,
2425
pub mongodb_initdb_root_password: Option<String>,
@@ -60,6 +61,7 @@ impl From<CreateDeploymentOptions> for atlas_local::models::CreateDeploymentOpti
6061
.creation_source
6162
.map(atlas_local::models::CreationSource::from),
6263
local_seed_location: source.local_seed_location,
64+
load_sample_data: source.load_sample_data,
6365
mongodb_initdb_database: source.mongodb_initdb_database,
6466
mongodb_initdb_root_password_file: source.mongodb_initdb_root_password_file,
6567
mongodb_initdb_root_password: source.mongodb_initdb_root_password,
@@ -95,6 +97,7 @@ mod tests {
9597
source: "MCPSERVER".to_string(),
9698
}),
9799
local_seed_location: Some("/host/seed-data".to_string()),
100+
load_sample_data: Some(true),
98101
mongodb_initdb_database: Some("testdb".to_string()),
99102
mongodb_initdb_root_password_file: Some("/run/secrets/password".to_string()),
100103
mongodb_initdb_root_password: Some("password123".to_string()),
@@ -137,6 +140,7 @@ mod tests {
137140
lib_create_deployment_options.local_seed_location,
138141
Some("/host/seed-data".to_string())
139142
);
143+
assert_eq!(lib_create_deployment_options.load_sample_data, Some(true));
140144
assert_eq!(
141145
lib_create_deployment_options.mongodb_initdb_database,
142146
Some("testdb".to_string())

src/models/list_deployments.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,14 @@ pub struct Deployment {
2626
pub mongodb_initdb_root_password: Option<String>,
2727
pub mongodb_initdb_root_username_file: Option<String>,
2828
pub mongodb_initdb_root_username: Option<String>,
29+
pub mongodb_load_sample_data: Option<bool>,
2930

3031
// Logging
3132
pub mongot_log_file: Option<String>,
3233
pub runner_log_file: Option<String>,
3334

3435
// Telemetry
35-
pub do_not_track: Option<String>,
36+
pub do_not_track: bool,
3637
pub telemetry_base_url: Option<String>,
3738
}
3839

@@ -105,6 +106,7 @@ impl From<atlas_local::models::Deployment> for Deployment {
105106
mongodb_initdb_root_password: source.mongodb_initdb_root_password,
106107
mongodb_initdb_root_username_file: source.mongodb_initdb_root_username_file,
107108
mongodb_initdb_root_username: source.mongodb_initdb_root_username,
109+
mongodb_load_sample_data: source.mongodb_load_sample_data,
108110
mongot_log_file: source.mongot_log_file,
109111
runner_log_file: source.runner_log_file,
110112
do_not_track: source.do_not_track,
@@ -242,9 +244,10 @@ mod tests {
242244
mongodb_initdb_root_password: Some("password123".to_string()),
243245
mongodb_initdb_root_username_file: Some("/run/secrets/username".to_string()),
244246
mongodb_initdb_root_username: Some("admin".to_string()),
247+
mongodb_load_sample_data: Some(false),
245248
mongot_log_file: Some("/tmp/mongot.log".to_string()),
246249
runner_log_file: Some("/tmp/runner.log".to_string()),
247-
do_not_track: Some("false".to_string()),
250+
do_not_track: false,
248251
telemetry_base_url: Some("https://telemetry.example.com".to_string()),
249252
};
250253

@@ -291,6 +294,7 @@ mod tests {
291294
deployment.mongodb_initdb_root_username,
292295
Some("admin".to_string())
293296
);
297+
assert_eq!(deployment.mongodb_load_sample_data, Some(false));
294298
assert_eq!(
295299
deployment.mongot_log_file,
296300
Some("/tmp/mongot.log".to_string())
@@ -299,7 +303,7 @@ mod tests {
299303
deployment.runner_log_file,
300304
Some("/tmp/runner.log".to_string())
301305
);
302-
assert_eq!(deployment.do_not_track, Some("false".to_string()));
306+
assert_eq!(deployment.do_not_track, false);
303307
assert_eq!(
304308
deployment.telemetry_base_url,
305309
Some("https://telemetry.example.com".to_string())

0 commit comments

Comments
 (0)