diff --git a/__test__/index.spec.ts b/__test__/index.spec.ts index e7323be..83a47ac 100644 --- a/__test__/index.spec.ts +++ b/__test__/index.spec.ts @@ -2,7 +2,7 @@ import test from 'ava' import { Client } from '../index' -test('smoke test: list deployments', async (t) => { +test('smoke test', async (t) => { let client: Client | null = null try { @@ -20,8 +20,16 @@ test('smoke test: list deployments', async (t) => { return } + // TODO: Implement once createDeployment is added + // let deploymentName = "test_deployment" + // await client.createDeployment(...) + // List deployments // We don't care about the number, we're just testing that the method doesn't fail await client.listDeployments() + + // TODO: Uncommment when createDeployment is added + // await client.deleteDeployment(deploymentName) + t.pass() }) diff --git a/index.d.ts b/index.d.ts index 762713c..151af5a 100644 --- a/index.d.ts +++ b/index.d.ts @@ -3,12 +3,13 @@ export declare class Client { static connect(): Client listDeployments(): Promise> + deleteDeployment(deploymentName: string): Promise } export declare const enum BindingType { Loopback = 'Loopback', AnyInterface = 'AnyInterface', - Specific = 'Specific', + Specific = 'Specific' } export interface CreationSource { @@ -19,7 +20,8 @@ export interface CreationSource { export declare const enum CreationSourceType { AtlasCLI = 'AtlasCLI', Container = 'Container', - Other = 'Other', + MCP = 'MCP', + Other = 'Other' } export interface Deployment { @@ -50,7 +52,7 @@ export interface MongoDbPortBinding { export declare const enum MongodbType { Community = 'Community', - Enterprise = 'Enterprise', + Enterprise = 'Enterprise' } export declare const enum State { @@ -60,5 +62,5 @@ export declare const enum State { Paused = 'Paused', Removing = 'Removing', Restarting = 'Restarting', - Running = 'Running', + Running = 'Running' } diff --git a/src/lib.rs b/src/lib.rs index 6d669cf..4b3b33b 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -36,4 +36,13 @@ impl Client { .context("list deployments") .map(|deployments| deployments.into_iter().map(|d| d.into()).collect()) } + + #[napi] + pub async fn delete_deployment(&self, deployment_name: String) -> Result<()> { + self + .client + .delete_deployment(&deployment_name) + .await + .context("delete deployments") + } } diff --git a/src/models/list_deployments.rs b/src/models/list_deployments.rs index 19bb851..5d29c5d 100644 --- a/src/models/list_deployments.rs +++ b/src/models/list_deployments.rs @@ -77,6 +77,7 @@ pub struct CreationSource { pub enum CreationSourceType { AtlasCLI, Container, + MCP, Other, }