ACT-02Command line: status, print-env, remove

What this test proves

The Activator command line activates, reports, prints the environment line and removes the license, and the library can use what it writes.

How it is tested

  1. the shipped dicomkit-activate.exe 1.0.1 activate - --output <temp>\license.lic --yes --json (key on standard input)
  2. status --file <license.lic> --json: expect status active, tier Pro, a licensee and an expiry date
  3. status --file <license.lic> --print-env: expect one line DICOMKIT_LICENSE_KEY=<signed token> (only the variable name is recorded)
  4. New processes open ct_mono16_64x64.dcm with that token in DICOMKIT_LICENSE_KEY, and with DICOMKIT_LICENSE_FILE naming the file: expect ActivePro
  5. remove --file <license.lic> --yes --json: expect removed=true and the file gone

Expected result for each license type

  • Pro: Works

Results

License Expected .NET 8.0 .NET 9.0 .NET 10.0 Result
Pro Works Pass
Worked
Pass
Worked
Pass
Worked
Pass

Recorded evidence

Captured by the automated test during the run, per license and .NET version.

License.NETCapturedTime
Pro .NET 8.0
dicomkit-activate activate - --yes --output <license.lic> --json -> exit 0 (1374 ms): ok, tier Pro, file written (542 bytes)
dicomkit-activate status --file <license.lic> --json -> exit 0 (123 ms): status active, tier Pro, licensee shown (22 chars), expires 2027-10-26, machine binding this-machine
dicomkit-activate status --file <license.lic> --print-env -> exit 0 (116 ms): printed one line DICOMKIT_LICENSE_KEY=[token]
probe child, token in DICOMKIT_LICENSE_KEY: ActivePro, tier Pro; DicomFile.OpenAsync succeeded on the first call
probe child, DICOMKIT_LICENSE_FILE=<license.lic>: license file from DICOMKIT_LICENSE_FILE used: ActivePro, tier Pro
dicomkit-activate remove --file <license.lic> --yes --json -> exit 0 (77 ms): removed=true, file gone
Test: DicomKit.ReleaseTests.ReleaseMatrix.Case "ACT-02 [pro] [net8.0] Command line: status, print-env, remove(caseId: "ACT-02", license: "pro")"
50.2 s
Pro .NET 9.0
dicomkit-activate activate - --yes --output <license.lic> --json -> exit 0 (1326 ms): ok, tier Pro, file written (542 bytes)
dicomkit-activate status --file <license.lic> --json -> exit 0 (118 ms): status active, tier Pro, licensee shown (22 chars), expires 2027-10-26, machine binding this-machine
dicomkit-activate status --file <license.lic> --print-env -> exit 0 (115 ms): printed one line DICOMKIT_LICENSE_KEY=[token]
probe child, token in DICOMKIT_LICENSE_KEY: ActivePro, tier Pro; DicomFile.OpenAsync succeeded on the first call
probe child, DICOMKIT_LICENSE_FILE=<license.lic>: license file from DICOMKIT_LICENSE_FILE used: ActivePro, tier Pro
dicomkit-activate remove --file <license.lic> --yes --json -> exit 0 (77 ms): removed=true, file gone
Test: DicomKit.ReleaseTests.ReleaseMatrix.Case "ACT-02 [pro] [net9.0] Command line: status, print-env, remove(caseId: "ACT-02", license: "pro")"
1.9 s
Pro .NET 10.0
dicomkit-activate activate - --yes --output <license.lic> --json -> exit 0 (1376 ms): ok, tier Pro, file written (542 bytes)
dicomkit-activate status --file <license.lic> --json -> exit 0 (124 ms): status active, tier Pro, licensee shown (22 chars), expires 2027-10-26, machine binding this-machine
dicomkit-activate status --file <license.lic> --print-env -> exit 0 (121 ms): printed one line DICOMKIT_LICENSE_KEY=[token]
probe child, token in DICOMKIT_LICENSE_KEY: ActivePro, tier Pro; DicomFile.OpenAsync succeeded on the first call
probe child, DICOMKIT_LICENSE_FILE=<license.lic>: license file from DICOMKIT_LICENSE_FILE used: ActivePro, tier Pro
dicomkit-activate remove --file <license.lic> --yes --json -> exit 0 (79 ms): removed=true, file gone
Test: DicomKit.ReleaseTests.ReleaseMatrix.Case "ACT-02 [pro] [net10.0] Command line: status, print-env, remove(caseId: "ACT-02", license: "pro")"
57.2 s

Test run

Run
2ce13edc-f525-4ffb-ae07-648e5221cef9
Started (UTC)
2026-10-26 21:15:23, finished 21:21:01
Source commit
b804fb7
Environment
Microsoft Windows 11 Pro 10.0.26200 build 26200; Microsoft.AspNetCore.App 8.0.29, Microsoft.AspNetCore.App 9.0.18, Microsoft.AspNetCore.App 10.0.12, Microsoft.NETCore.App 3.1.32, Microsoft.NETCore.App 8.0.3, Microsoft.NETCore.App 8.0.29, Microsoft.NETCore.App 9.0.18, Microsoft.NETCore.App 10.0.12, Microsoft.WindowsDesktop.App 8.0.3, Microsoft.WindowsDesktop.App 8.0.29, Microsoft.WindowsDesktop.App 9.0.18, Microsoft.WindowsDesktop.App 10.0.12; Visual Studio Community 2026 18.10.3 (18.10.12224.181)
DicomKit
1.0.0 SHA-256 96ada39062c07bca37511abfb6baac0a44d914fb705bac01d77cb02146fdac0e
DicomKit.Cli
1.0.0 SHA-256 f8ffe70dc375cfe0d60881027e7cedb2502bc78ec5f5037f1d41b6c2481e1c84
DicomKit.Imaging
1.0.0 SHA-256 015b51ea833039d934ba153cae50d393fb77846430ca3fc3d65b4fb8cf4346ed
DicomKit.Web
1.0.0 SHA-256 2a2f4f7f02e1849929294062bee7dd8f3a24449428469c1fddb6982e77218a7b
DicomKit.Web.AspNetCore
1.0.0 SHA-256 daa1105881f1c0b60ca9c788d52d41445bd653a9d190c8862a2b2b1386d5e37c