anchor.diff:  
     nodes = {
       cass0 = nodeCfg "192.168.1.1" {};
  -    cass1 = nodeCfg "192.168.1.2" { remoteJmx = true; inherit jmxRoles; };
  +    cass1 = nodeCfg "192.168.1.2" (lib.optionalAttrs testRemoteAuth { inherit jmxRoles; remoteJmx = true; });
       cass2 = nodeCfg "192.168.1.3" { jvmOpts = [ "-Dcassandra.replace_address=cass1" ]; };
     };
   
  
positive.code: import ./make-test.nix ({ pkgs, ...}:
  let
    # Change this to test a different version of Cassandra:
    testPackage = pkgs.cassandra;
    clusterName = "NixOS Automated-Test Cluster";
  
    jmxRoles = [{ username = "me"; password = "password"; }];
    jmxAuthArgs = "-u ${(builtins.elemAt jmxRoles 0).username} -pw ${(builtins.elemAt jmxRoles 0).password}";
    clusterName = "NixOS Test Cluster";
  
    # Would usually be assigned to 512M
    numMaxHeapSize = "400";
  
negative.code:       $cass1->waitUntilSucceeds("nc -z localhost 7199");
        $cass0->succeed("nodetool -h 192.168.1.2 ${jmxAuthArgs} status");
      };
    '' + ''
      subtest "Break and fix node", sub {
        $cass1->block;
        $cass0->waitUntilSucceeds("nodetool status --resolve-ip | egrep -c '^DN[[:space:]]+cass1'");
  