summaryrefslogtreecommitdiffstats
path: root/nixos/tests/facter/default.nix
blob: 7083d5d8bd09b15535b7fd1b853260c4cc12074b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{ lib, pkgs, ... }:
{
  name = "facter";
  meta = with lib.maintainers; {
    maintainers = [ mic92 ];
  };

  nodes.machine = {
    hardware.facter.reportPath = ./facter.json;
    environment.systemPackages = [ pkgs.nixos-facter ];
  };

  testScript = ''
    from pprint import pprint

    machine.wait_for_unit("multi-user.target")

    with subtest("Run nixos-facter and verify it produces valid JSON"):
      import json
      # Run nixos-facter and check it produces valid output
      output = machine.succeed("nixos-facter")
      # Parse JSON to verify it's valid
      report = json.loads(output)
      pprint(report)
      assert "version" in report, "Expected version field in nixos-facter output"
      assert "system" in report, "Expected system field in nixos-facter output"
      assert report["version"] == 1, f"Expected version 1, got {report['version']}"
  '';
}