@superblocksteam/sdk 2.0.162 → 2.0.163-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,6 +14,7 @@ import * as path from "node:path";
14
14
  import { describe, it, expect, beforeEach, vi } from "vitest";
15
15
  import { buildGlobalInstallArgs, buildInstallEnv, checkVersionsAndWritePackageJson, } from "./automatic-upgrades.js";
16
16
  import { UpgradeFailed } from "./dependency-install-classifier.mjs";
17
+ import { getCurrentCliVersion } from "./version-detection.js";
17
18
  // ---------------------------------------------------------------------------
18
19
  // Mocks
19
20
  // ---------------------------------------------------------------------------
@@ -115,10 +116,8 @@ vi.mock("@superblocksteam/shared", async (importOriginal) => {
115
116
  // and the test can assert on the recorded calls. Callbacks that
116
117
  // ignore the parameter are unaffected.
117
118
  //
118
- // ASSUMPTION (APPS-4544, scout F6): the SAME `spanSetAttributeMock` is
119
- // handed to every nested `traceFunction` callback (`upgradeCli`,
120
- // `upgradeCliWithOclif`, `upgradePackageWithPackageManager - cli`,
121
- // `stripUpgradedCliLockfiles`, …). Today only the outer `upgradeCli`
119
+ // The SAME `spanSetAttributeMock` is handed to every nested
120
+ // `traceFunction` callback. Today only the outer `upgradeCli`
122
121
  // callback calls `span.setAttribute`, so assertions like
123
122
  // `toHaveBeenCalledWith("outcome", "success")` are unambiguous. If a
124
123
  // future inner fn starts setting span attributes, give it a dedicated
@@ -175,6 +174,10 @@ beforeEach(() => {
175
174
  "npm.registry_host": "unknown",
176
175
  "npm.outcome": "success",
177
176
  }));
177
+ vi.mocked(getCurrentCliVersion).mockResolvedValue({
178
+ version: "2.0.0",
179
+ alias: undefined,
180
+ });
178
181
  // Mock global fetch used by getRemoteVersions
179
182
  global.fetch = vi.fn(async () => ({
180
183
  ok: true,
@@ -208,10 +211,8 @@ describe("checkVersionsAndWritePackageJson", () => {
208
211
  const parsed = JSON.parse(writtenContent);
209
212
  expect(parsed.dependencies["@superblocksteam/library"]).toBe(TARGET_LIBRARY_VERSION);
210
213
  });
211
- it("does NOT call the oclif CLI upgrader even when CLI is stale", async () => {
214
+ it("does not run the CLI upgrader even when CLI is stale", async () => {
212
215
  const { exec } = await import("node:child_process");
213
- // If an upgrade were attempted, upgradeCliWithOclif would exec
214
- // `which superblocks`. We assert that does not happen.
215
216
  await checkVersionsAndWritePackageJson(mockLockService, mockConfig, false, true);
216
217
  expect(exec).not.toHaveBeenCalled();
217
218
  });
@@ -230,6 +231,11 @@ describe("checkVersionsAndWritePackageJson", () => {
230
231
  });
231
232
  describe("skipCliUpgrade=false (default)", () => {
232
233
  it("writes package.json with the target library version", async () => {
234
+ const versionDetection = await import("./version-detection.js");
235
+ vi.mocked(versionDetection.getCurrentCliVersion).mockResolvedValue({
236
+ version: TARGET_CLI_VERSION,
237
+ alias: undefined,
238
+ });
233
239
  await checkVersionsAndWritePackageJson(mockLockService, mockConfig, false, false);
234
240
  expect(fs.writeFile).toHaveBeenCalledTimes(1);
235
241
  const [, writtenContent] = vi.mocked(fs.writeFile).mock.calls[0];
@@ -238,6 +244,11 @@ describe("checkVersionsAndWritePackageJson", () => {
238
244
  });
239
245
  it("defaults to false when omitted (backward compat)", async () => {
240
246
  // 3-arg call (pre-warm-pool signature) should behave as skipCliUpgrade=false
247
+ const versionDetection = await import("./version-detection.js");
248
+ vi.mocked(versionDetection.getCurrentCliVersion).mockResolvedValue({
249
+ version: TARGET_CLI_VERSION,
250
+ alias: undefined,
251
+ });
241
252
  const result = await checkVersionsAndWritePackageJson(mockLockService, mockConfig, false);
242
253
  // Still writes package.json
243
254
  expect(fs.writeFile).toHaveBeenCalledTimes(1);
@@ -317,7 +328,7 @@ describe("checkVersionsAndWritePackageJson", () => {
317
328
  // -----------------------------------------------------------------
318
329
  // APPS-4324: classifyNpmExecStderr wiring for `upgradeCliWithPackageManager`
319
330
  //
320
- // The CLI auto-upgrade pod's npm fallback exec used to surface a
331
+ // The CLI auto-upgrade pod's npm exec used to surface a
321
332
  // perimeter-block (air-gapped customer with public-npm egress denied)
322
333
  // as a generic `"Failed to upgrade packages"` log, leaving the operator
323
334
  // no signal as to whether the cause was a transient registry blip, a
@@ -344,37 +355,17 @@ describe("checkVersionsAndWritePackageJson", () => {
344
355
  * internally) carries the npm output. The classifier must fall back to
345
356
  * that — otherwise the structured `[npm-install-blocked]` line goes
346
357
  * missing on exactly the failure mode this PR exists to diagnose. */
347
- async function mockNpmFallbackExec(stderr, cbError, opts = {}) {
358
+ async function mockNpmUpgradeExec(stderr, cbError, opts = {}) {
348
359
  const stdout = new EventEmitter();
349
360
  const stderrEmitter = new EventEmitter();
350
361
  const chunks = Array.isArray(stderr) ? stderr : [stderr];
351
- // The exec call we care about is the third positional invocation
352
- // (after `which superblocks` for upgradeCliWithOclif and the oclif
353
- // `update` subprocess). Make `which` succeed (returns a path) and
354
- // `superblocks update` return "not updatable" so the package-manager
355
- // fallback path runs.
356
362
  const { exec } = await import("node:child_process");
357
363
  const execMock = vi.mocked(exec);
358
- execMock.mockImplementation(((cmd, ...rest) => {
364
+ execMock.mockImplementation(((_cmd, ...rest) => {
359
365
  const cb = (typeof rest[rest.length - 1] === "function"
360
366
  ? rest[rest.length - 1]
361
367
  : undefined);
362
- // Promisified consumers (upgradeCliWithOclif) destructure `{stdout,
363
- // stderr}` from the awaited result. Real Node has a
364
- // `util.promisify.custom` symbol that produces that shape; our vi.fn
365
- // mock doesn't, so we pass the destructured object as the callback's
366
- // single value-arg (default promisify behaviour resolves to that).
367
- if (cmd === "which superblocks" || cmd === "where superblocks") {
368
- cb?.(null, { stdout: "/usr/local/bin/superblocks\n", stderr: "" });
369
- return {};
370
- }
371
- if (cmd.includes("superblocks update")) {
372
- // Make oclif report "not updatable" so the fallback fires.
373
- cb?.(null, { stdout: "this version is not updatable\n", stderr: "" });
374
- return {};
375
- }
376
- // The npm install fallback uses the callback-style API directly (not
377
- // promisified), so the callback signature is just (error). Schedule
368
+ // The package-manager install uses the callback-style API. Schedule
378
369
  // the stderr emit + callback so the caller has time to register
379
370
  // listeners on cp.stdout/cp.stderr.
380
371
  const errArg = cbError;
@@ -397,13 +388,13 @@ describe("checkVersionsAndWritePackageJson", () => {
397
388
  async function runAndAwaitUpgrade() {
398
389
  const result = await checkVersionsAndWritePackageJson(mockLockService, mockConfig, false, false);
399
390
  // The CLI upgrade promise was pushed to upgradePromises and is the
400
- // promise that rejects when the npm fallback fails. The caller in
391
+ // promise that rejects when the npm upgrade fails. The caller in
401
392
  // dev.mts joins it via Promise.all; here we await it directly so the
402
393
  // test can assert on rejection + log shape.
403
394
  await Promise.all(result.upgradePromises);
404
395
  }
405
396
  it("APPS-4324: logs NpmInstallBlocked with reason=registry_unreachable on ECONNREFUSED stderr", async () => {
406
- await mockNpmFallbackExec([
397
+ await mockNpmUpgradeExec([
407
398
  "npm error code ECONNREFUSED",
408
399
  "npm error errno ECONNREFUSED",
409
400
  "npm error network request to https://registry.npmjs.org/@superblocksteam%2fcli failed, reason: connect ECONNREFUSED 127.0.0.1:443",
@@ -431,7 +422,7 @@ describe("checkVersionsAndWritePackageJson", () => {
431
422
  // text to the classifier; without it the upgrade failure reads as the
432
423
  // bare "Command failed".
433
424
  it("keeps pnpm's stdout-only error text in the upgrade failure", async () => {
434
- await mockNpmFallbackExec("", new Error("Command failed: pnpm add -g"), {
425
+ await mockNpmUpgradeExec("", new Error("Command failed: pnpm add -g"), {
435
426
  stdout: [
436
427
  "Scope: all 3 workspace projects",
437
428
  '[ERR_PNPM_OUTDATED_LOCKFILE] Cannot install with "frozen-lockfile" because pnpm-lock.yaml is not up to date',
@@ -446,7 +437,7 @@ describe("checkVersionsAndWritePackageJson", () => {
446
437
  });
447
438
  it("keeps a max-buffer process failure alongside partial stdout", async () => {
448
439
  const error = Object.assign(new RangeError("stdout maxBuffer length exceeded"), { code: "ERR_CHILD_PROCESS_STDIO_MAXBUFFER" });
449
- await mockNpmFallbackExec("", error, {
440
+ await mockNpmUpgradeExec("", error, {
450
441
  stdout: "partial package-manager output",
451
442
  });
452
443
  await expect(runAndAwaitUpgrade()).rejects.toMatchObject({
@@ -457,7 +448,7 @@ describe("checkVersionsAndWritePackageJson", () => {
457
448
  });
458
449
  });
459
450
  it("APPS-4324: logs reason=registry_auth_failed on E401 stderr", async () => {
460
- await mockNpmFallbackExec([
451
+ await mockNpmUpgradeExec([
461
452
  "npm error code E401",
462
453
  "npm error 401 Unauthorized - GET https://npm.private.example.com/@superblocksteam%2fcli",
463
454
  ].join("\n"), new Error("Command failed: pnpm install ..."));
@@ -481,7 +472,7 @@ describe("checkVersionsAndWritePackageJson", () => {
481
472
  // below. The structured-facet bucketing pinned here is the
482
473
  // `registryHost=` field only.
483
474
  const privateHost = "customer.jfrog.io";
484
- await mockNpmFallbackExec([
475
+ await mockNpmUpgradeExec([
485
476
  "npm error code E401",
486
477
  `npm error 401 Unauthorized - GET https://${privateHost}/@superblocksteam%2fcli`,
487
478
  ].join("\n"), new Error("Command failed: pnpm install ..."));
@@ -498,7 +489,7 @@ describe("checkVersionsAndWritePackageJson", () => {
498
489
  it("APPS-4381: buckets registry.npmjs.org as public_npm", async () => {
499
490
  // Pin the other side of the bucket so a future refactor that breaks
500
491
  // the public-vs-private split also breaks this test.
501
- await mockNpmFallbackExec([
492
+ await mockNpmUpgradeExec([
502
493
  "npm error code ECONNREFUSED",
503
494
  "npm error network request to https://registry.npmjs.org/@superblocksteam%2fcli failed",
504
495
  ].join("\n"), new Error("Command failed: pnpm install ..."));
@@ -531,7 +522,7 @@ describe("checkVersionsAndWritePackageJson", () => {
531
522
  // raw `NpmInstallBlocked`, we assert the call has exactly one arg
532
523
  // below.
533
524
  const privateHost = "registry-leak-sentinel.acme-corp.internal";
534
- await mockNpmFallbackExec([
525
+ await mockNpmUpgradeExec([
535
526
  "npm error code E401",
536
527
  `npm error 401 Unauthorized - GET https://${privateHost}:4873/@superblocksteam%2fcli`,
537
528
  `npm error request to https://${privateHost}/foo failed, reason: getaddrinfo ENOTFOUND ${privateHost}`,
@@ -559,7 +550,7 @@ describe("checkVersionsAndWritePackageJson", () => {
559
550
  expect(message).toContain("<private>");
560
551
  });
561
552
  it("APPS-4324: logs reason=not_in_registry on E404 stderr", async () => {
562
- await mockNpmFallbackExec([
553
+ await mockNpmUpgradeExec([
563
554
  "npm error code E404",
564
555
  "npm error 404 Not Found - GET https://npm.private.example.com/@superblocksteam%2fcli - Not found",
565
556
  ].join("\n"), new Error("Command failed: pnpm install ..."));
@@ -567,7 +558,7 @@ describe("checkVersionsAndWritePackageJson", () => {
567
558
  expect(loggerMock.error).toHaveBeenCalledWith(expect.stringMatching(/\[npm-install-blocked\] reason=not_in_registry/));
568
559
  });
569
560
  it("APPS-4324: falls through to the existing generic error path for ERESOLVE (no false-positive)", async () => {
570
- await mockNpmFallbackExec([
561
+ await mockNpmUpgradeExec([
571
562
  "npm error code ERESOLVE",
572
563
  "npm error ERESOLVE unable to resolve dependency tree",
573
564
  ].join("\n"), new Error("Command failed: pnpm install ..."));
@@ -583,10 +574,10 @@ describe("checkVersionsAndWritePackageJson", () => {
583
574
  // can emit and exit before our `cp.stderr.on('data', …)` listener
584
575
  // attaches, leaving `stderrBuffer` empty. The exec wrapper still
585
576
  // aggregates the output onto `error.stderr`, so the classifier must
586
- // read that as the fallback or the structured diagnostic this PR
577
+ // read that as a fallback or the structured diagnostic this PR
587
578
  // exists to guarantee goes missing exactly when it's needed most.
588
579
  const errWithStderr = new Error("Command failed: pnpm install ...");
589
- await mockNpmFallbackExec("", errWithStderr, {
580
+ await mockNpmUpgradeExec("", errWithStderr, {
590
581
  skipEmit: true,
591
582
  errorStderr: [
592
583
  "npm error code ECONNREFUSED",
@@ -602,7 +593,7 @@ describe("checkVersionsAndWritePackageJson", () => {
602
593
  // `npm error code ECONNREFUSED` line so the classifier only succeeds
603
594
  // if `automatic-upgrades.ts` concatenates the buffer instead of
604
595
  // matching per-chunk.
605
- await mockNpmFallbackExec([
596
+ await mockNpmUpgradeExec([
606
597
  "npm error code ECONNR",
607
598
  "EFUSED\nnpm error network request to https://registry.npmjs.org/foo failed",
608
599
  ], new Error("Command failed: pnpm install ..."));
@@ -621,21 +612,12 @@ describe("checkVersionsAndWritePackageJson", () => {
621
612
  it("APPS-4544: emits recordNpmInstall on the happy path with runner=auto_upgrade, outcome=success", async () => {
622
613
  const { exec } = await import("node:child_process");
623
614
  const execMock = vi.mocked(exec);
624
- // Drive the same flow as `mockNpmFallbackExec` but with a clean
615
+ // Drive the same flow as `mockNpmUpgradeExec` but with a clean
625
616
  // (no-error) exit so the metric records outcome="success".
626
- execMock.mockImplementation(((cmd, ...rest) => {
617
+ execMock.mockImplementation(((_cmd, ...rest) => {
627
618
  const cb = (typeof rest[rest.length - 1] === "function"
628
619
  ? rest[rest.length - 1]
629
620
  : undefined);
630
- if (cmd === "which superblocks" || cmd === "where superblocks") {
631
- cb?.(null, { stdout: "/usr/local/bin/superblocks\n", stderr: "" });
632
- return {};
633
- }
634
- if (cmd.includes("superblocks update")) {
635
- // Force fallback to the package-manager path.
636
- cb?.(null, { stdout: "this version is not updatable\n", stderr: "" });
637
- return {};
638
- }
639
621
  // Successful install — no error.
640
622
  queueMicrotask(() => cb?.(null));
641
623
  return { stdout: new EventEmitter(), stderr: new EventEmitter() };
@@ -669,7 +651,7 @@ describe("checkVersionsAndWritePackageJson", () => {
669
651
  expect(args.registryHost).toBeUndefined();
670
652
  });
671
653
  it("APPS-4544: emits outcome=registry_unreachable on ECONNREFUSED so the auto_upgrade runner is alertable separately from happy upgrades", async () => {
672
- await mockNpmFallbackExec([
654
+ await mockNpmUpgradeExec([
673
655
  "npm error code ECONNREFUSED",
674
656
  "npm error errno ECONNREFUSED",
675
657
  "npm error network request to https://registry.npmjs.org/@superblocksteam%2fcli failed, reason: connect ECONNREFUSED 127.0.0.1:443",
@@ -692,7 +674,7 @@ describe("checkVersionsAndWritePackageJson", () => {
692
674
  });
693
675
  it("APPS-4544: emits outcome=registry_auth_failed and the private registry host on E401 (the emitter buckets host at the emit boundary)", async () => {
694
676
  const privateHost = "customer.jfrog.io";
695
- await mockNpmFallbackExec([
677
+ await mockNpmUpgradeExec([
696
678
  "npm error code E401",
697
679
  `npm error 401 Unauthorized - GET https://${privateHost}/@superblocksteam%2fcli`,
698
680
  ].join("\n"), new Error("Command failed: pnpm install ..."));
@@ -714,7 +696,7 @@ describe("checkVersionsAndWritePackageJson", () => {
714
696
  // hasAnyRegistryConfigured=true and forwards it here; without the
715
697
  // threading both the overlay copy and the metric would wrongly read
716
698
  // "no registry configured".
717
- await mockNpmFallbackExec([
699
+ await mockNpmUpgradeExec([
718
700
  "npm error code E404",
719
701
  "npm error 404 Not Found - GET https://npm.private.example.com/@superblocksteam%2fcli - Not found",
720
702
  ].join("\n"), new Error("Command failed: pnpm install ..."));
@@ -734,7 +716,7 @@ describe("checkVersionsAndWritePackageJson", () => {
734
716
  expect(recordNpmInstallMock.mock.calls[0][0].configured).toBe(true);
735
717
  });
736
718
  it("APPS-4544: emits outcome=other for an unclassified failure (ERESOLVE) so the metric reflects the failure even without a NpmInstallBlocked match", async () => {
737
- await mockNpmFallbackExec([
719
+ await mockNpmUpgradeExec([
738
720
  "npm error code ERESOLVE",
739
721
  "npm error ERESOLVE unable to resolve dependency tree",
740
722
  ].join("\n"), new Error("Command failed: pnpm install ..."));
@@ -761,20 +743,10 @@ describe("checkVersionsAndWritePackageJson", () => {
761
743
  it("APPS-4544: emits outcome=other when the exec succeeds but post-install version validation fails", async () => {
762
744
  const { exec } = await import("node:child_process");
763
745
  const execMock = vi.mocked(exec);
764
- execMock.mockImplementation(((cmd, ...rest) => {
746
+ execMock.mockImplementation(((_cmd, ...rest) => {
765
747
  const cb = (typeof rest[rest.length - 1] === "function"
766
748
  ? rest[rest.length - 1]
767
749
  : undefined);
768
- if (cmd === "which superblocks" || cmd === "where superblocks") {
769
- cb?.(null, { stdout: "/usr/local/bin/superblocks\n", stderr: "" });
770
- return {};
771
- }
772
- if (cmd.includes("superblocks update")) {
773
- // Force the package-manager fallback (where post-install
774
- // validation runs).
775
- cb?.(null, { stdout: "this version is not updatable\n", stderr: "" });
776
- return {};
777
- }
778
750
  // Install exec SUCCEEDS (no error) — so the classifier never runs
779
751
  // and `outcome` stays `success` until post-install validation. It
780
752
  // prints a transcript first, which must not become the error text of
@@ -809,90 +781,6 @@ describe("checkVersionsAndWritePackageJson", () => {
809
781
  expect(args.runner).toBe("auto_upgrade");
810
782
  expect(args.outcome).toBe("other");
811
783
  });
812
- // APPS-4544: ticket explicitly calls out "emit from both
813
- // `upgradeCliWithPackageManager` and the oclif path". Without an
814
- // oclif-success emission, dashboards undercount successful upgrades
815
- // whenever the binary was installed via the oclif tarball channel —
816
- // that path skips the pnpm fallback entirely, so there is no other
817
- // call site that could fire the metric.
818
- it("APPS-4544: emits recordNpmInstall on oclif success without falling back to the package manager", async () => {
819
- const { exec } = await import("node:child_process");
820
- const execMock = vi.mocked(exec);
821
- execMock.mockImplementation(((cmd, ...rest) => {
822
- const cb = (typeof rest[rest.length - 1] === "function"
823
- ? rest[rest.length - 1]
824
- : undefined);
825
- if (cmd === "which superblocks" || cmd === "where superblocks") {
826
- cb?.(null, { stdout: "/usr/local/bin/superblocks\n", stderr: "" });
827
- return {};
828
- }
829
- if (cmd.includes("superblocks update")) {
830
- // No "not updatable" in the output → oclif considers itself
831
- // the canonical upgrader and the package-manager fallback does
832
- // NOT run.
833
- cb?.(null, { stdout: "Upgraded to 2.1.0\n", stderr: "" });
834
- return {};
835
- }
836
- // Any other exec call is unexpected for the oclif-only path.
837
- cb?.(new Error(`unexpected exec: ${cmd}`));
838
- return {};
839
- }));
840
- const versionDetection = await import("./version-detection.js");
841
- vi.mocked(versionDetection.getCurrentCliVersion).mockResolvedValue({
842
- version: "2.0.0",
843
- alias: undefined,
844
- });
845
- const result = await checkVersionsAndWritePackageJson(mockLockService, mockConfig, false, false);
846
- // The oclif `recordNpmInstall` fires inside the `upgradeCli`
847
- // promise, which is pushed to `upgradePromises` and NOT awaited by
848
- // `checkVersionsAndWritePackageJson`. Await it explicitly (matching
849
- // the happy-path test) so the assertion can't race the microtask that
850
- // emits the metric if the fixture's I/O ordering ever changes.
851
- await Promise.all(result.upgradePromises);
852
- expect(recordNpmInstallMock).toHaveBeenCalledTimes(1);
853
- const args = recordNpmInstallMock.mock.calls[0][0];
854
- expect(args).toMatchObject({
855
- runner: "auto_upgrade",
856
- outcome: "success",
857
- });
858
- });
859
- // APPS-4554: a successful oclif upgrade replaces the on-disk CLI tarball
860
- // but the running process keeps the OLD code, so the dev server must
861
- // restart to pick it up. `dev.mts` gates that restart on
862
- // `result.cliUpdated` (`hasCliUpdated`). Before this fix `cliUpdated` was
863
- // only set in the package-manager fallback branch, so an oclif-only
864
- // upgrade left the dev server running stale code until a manual restart.
865
- // This test pins that the oclif-success branch flips the flag too, so the
866
- // two upgrade paths stay symmetric.
867
- it("APPS-4554: sets cliUpdated=true on oclif success so the dev server restarts", async () => {
868
- const { exec } = await import("node:child_process");
869
- const execMock = vi.mocked(exec);
870
- execMock.mockImplementation(((cmd, ...rest) => {
871
- const cb = (typeof rest[rest.length - 1] === "function"
872
- ? rest[rest.length - 1]
873
- : undefined);
874
- if (cmd === "which superblocks" || cmd === "where superblocks") {
875
- cb?.(null, { stdout: "/usr/local/bin/superblocks\n", stderr: "" });
876
- return {};
877
- }
878
- if (cmd.includes("superblocks update")) {
879
- // No "not updatable" in the output → oclif succeeds outright and
880
- // the package-manager fallback (which historically set the flag)
881
- // never runs.
882
- cb?.(null, { stdout: "Upgraded to 2.1.0\n", stderr: "" });
883
- return {};
884
- }
885
- cb?.(new Error(`unexpected exec: ${cmd}`));
886
- return {};
887
- }));
888
- const versionDetection = await import("./version-detection.js");
889
- vi.mocked(versionDetection.getCurrentCliVersion).mockResolvedValue({
890
- version: "2.0.0",
891
- alias: undefined,
892
- });
893
- const result = await checkVersionsAndWritePackageJson(mockLockService, mockConfig, false, false);
894
- expect(result.cliUpdated).toBe(true);
895
- });
896
784
  // APPS-4544: the ticket calls for an `outcome` attribute on the
897
785
  // existing `upgradeCli` span so traces carry the upgrade result.
898
786
  // This is the trace-side complement to the install metric — a
@@ -902,21 +790,20 @@ describe("checkVersionsAndWritePackageJson", () => {
902
790
  it("APPS-4544: sets outcome=success on the upgradeCli span when the upgrade completes", async () => {
903
791
  const { exec } = await import("node:child_process");
904
792
  const execMock = vi.mocked(exec);
905
- execMock.mockImplementation(((cmd, ...rest) => {
793
+ execMock.mockImplementation(((_cmd, ...rest) => {
906
794
  const cb = (typeof rest[rest.length - 1] === "function"
907
795
  ? rest[rest.length - 1]
908
796
  : undefined);
909
- if (cmd === "which superblocks" || cmd === "where superblocks") {
910
- cb?.(null, { stdout: "/usr/local/bin/superblocks\n", stderr: "" });
911
- return {};
912
- }
913
- if (cmd.includes("superblocks update")) {
914
- cb?.(null, { stdout: "Upgraded to 2.1.0\n", stderr: "" });
915
- return {};
916
- }
917
797
  cb?.(null);
918
798
  return { stdout: new EventEmitter(), stderr: new EventEmitter() };
919
799
  }));
800
+ const versionDetection = await import("./version-detection.js");
801
+ vi.mocked(versionDetection.getCurrentCliVersion)
802
+ .mockResolvedValueOnce({ version: "2.0.0", alias: undefined })
803
+ .mockResolvedValueOnce({
804
+ version: TARGET_CLI_VERSION,
805
+ alias: undefined,
806
+ });
920
807
  const result = await checkVersionsAndWritePackageJson(mockLockService, mockConfig, false, false);
921
808
  // The `upgradeCli` span callback runs inside one of the
922
809
  // `upgradePromises` (the per-package upgrade futures pushed
@@ -925,12 +812,13 @@ describe("checkVersionsAndWritePackageJson", () => {
925
812
  // those finish — match the product call site that consumes
926
813
  // `result.upgradePromises` directly.
927
814
  await Promise.all(result.upgradePromises);
815
+ expect(execMock).toHaveBeenCalledTimes(1);
928
816
  expect(spanSetAttributeMock).toHaveBeenCalledWith("outcome", "success");
929
817
  });
930
818
  it("APPS-4544: sets outcome=failure on the upgradeCli span when the package manager throws", async () => {
931
- await mockNpmFallbackExec(["npm error code ECONNREFUSED", "npm error errno ECONNREFUSED"].join("\n"), new Error("Command failed: pnpm install ..."));
819
+ await mockNpmUpgradeExec(["npm error code ECONNREFUSED", "npm error errno ECONNREFUSED"].join("\n"), new Error("Command failed: pnpm install ..."));
932
820
  const result = await checkVersionsAndWritePackageJson(mockLockService, mockConfig, false, false);
933
- // The pkg-manager fallback rejects the upgrade promise; capture
821
+ // The package manager rejects the upgrade promise; capture
934
822
  // it so the test doesn't surface as an unhandled rejection,
935
823
  // then assert on the span attribute the `catch` set.
936
824
  await expect(Promise.all(result.upgradePromises)).rejects.toThrow(UpgradeFailed);
@@ -945,26 +833,6 @@ describe("checkVersionsAndWritePackageJson", () => {
945
833
  // version) — NOT `process.exit(1)` — and the rejection also stops the
946
834
  // `cliUpdated=true` enqueue from triggering a pointless restart loop.
947
835
  it("emits outcome=other, fails the span, and rejects with UpgradeFailed when no global install command can be resolved", async () => {
948
- const { exec } = await import("node:child_process");
949
- const execMock = vi.mocked(exec);
950
- execMock.mockImplementation(((cmd, ...rest) => {
951
- const cb = (typeof rest[rest.length - 1] === "function"
952
- ? rest[rest.length - 1]
953
- : undefined);
954
- if (cmd === "which superblocks" || cmd === "where superblocks") {
955
- cb?.(null, { stdout: "/usr/local/bin/superblocks\n", stderr: "" });
956
- return {};
957
- }
958
- if (cmd.includes("superblocks update")) {
959
- // "not updatable" → oclif defers to the package-manager fallback,
960
- // where `resolveCommand` is consulted.
961
- cb?.(null, { stdout: "this version is not updatable\n", stderr: "" });
962
- return {};
963
- }
964
- // The install exec must never run: `resolveCommand` fails first.
965
- cb?.(new Error(`unexpected exec: ${cmd}`));
966
- return {};
967
- }));
968
836
  // Force the single source-side `resolveCommand` call (the global
969
837
  // install command builder) to fail to resolve a command. `*Once`
970
838
  // takes precedence over the default mock implementation for the next
@@ -1 +1 @@
1
- {"version":3,"file":"automatic-upgrades.test.js","sourceRoot":"","sources":["../../src/cli-replacement/automatic-upgrades.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"automatic-upgrades.test.js","sourceRoot":"","sources":["../../src/cli-replacement/automatic-upgrades.test.ts"],"names":[],"mappings":"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"}