diff --git a/src/sdk/devbox.ts b/src/sdk/devbox.ts index 52183384a..df25963c9 100644 --- a/src/sdk/devbox.ts +++ b/src/sdk/devbox.ts @@ -130,19 +130,15 @@ export class DevboxNetOps { } /** - * @deprecated Only works with legacy tunnels created via {@link createTunnel}. - * V2 tunnels (from {@link enableTunnel}) remain active until devbox shutdown and cannot be removed. - * - * Remove a legacy tunnel from the devbox. + * Remove an existing V2 tunnel from the devbox. * * @example * ```typescript - * // Deprecated - only for legacy tunnels * await devbox.net.removeTunnel(); * ``` * * @param {Core.RequestOptions} [options] - Request options - * @returns {Promise} Tunnel removal result + * @returns {Promise} */ async removeTunnel(options?: Core.RequestOptions) { return this.client.devboxes.removeTunnel(this.devboxId, options); diff --git a/tests/objects/devbox.test.ts b/tests/objects/devbox.test.ts index 2dfc9f8f4..4a9fadfa9 100644 --- a/tests/objects/devbox.test.ts +++ b/tests/objects/devbox.test.ts @@ -378,7 +378,7 @@ describe('Devbox (New API)', () => { expect(result).toEqual(mockTunnel); }); - it('should remove legacy tunnel', async () => { + it('should remove tunnel', async () => { mockClient.devboxes.removeTunnel.mockResolvedValue(undefined); const result = await devbox.net.removeTunnel(); diff --git a/tests/smoketests/object-oriented/devbox.test.ts b/tests/smoketests/object-oriented/devbox.test.ts index 937537059..603128f30 100644 --- a/tests/smoketests/object-oriented/devbox.test.ts +++ b/tests/smoketests/object-oriented/devbox.test.ts @@ -282,6 +282,11 @@ describe('smoketest: object-oriented devbox', () => { const info = await devbox.getInfo(); expect(info.tunnel).toBeDefined(); expect(info.tunnel?.tunnel_key).toBe(tunnel.tunnel_key); + + await devbox.net.removeTunnel(); + + const tunnelAfterRemoval = await devbox.getTunnel(); + expect(tunnelAfterRemoval).toBeNull(); } finally { await devbox.shutdown(); }