use crate::define_tool;
define_tool!(NSC, {
command: "nsc",
macos: { brew: "nats-io/nats-tools/nsc" },
linux: { brew: "nats-io/nats-tools/nsc" },
windows: { winget: "NATSAuthors.nsc" },
category: "messaging",
});
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn nsc_registration_shape() {
assert_eq!(NSC.command, "nsc");
assert_eq!(NSC.category, Some("messaging"));
let mac = NSC.macos.expect("nsc must support macOS");
assert_eq!(
mac.brew,
Some("nats-io/nats-tools/nsc"),
"macOS formula lives in the nats-io/nats-tools tap (verify upstream if this fails — formula may have promoted to homebrew-core)"
);
let linux = NSC.linux.expect("nsc must support Linux");
assert_eq!(linux.brew, Some("nats-io/nats-tools/nsc"));
let win = NSC.windows.expect("nsc must support Windows");
assert_eq!(
win.winget,
Some("NATSAuthors.nsc"),
"winget id verified against microsoft/winget-pkgs as NATSAuthors.nsc"
);
}
}