TestNodeFileWriteFormat verifies that WriteNodeFile produces the expected JSON field names.
(t *testing.T)
| 83 | // TestNodeFileWriteFormat verifies that WriteNodeFile produces the expected |
| 84 | // JSON field names. |
| 85 | func TestNodeFileWriteFormat(t *testing.T) { |
| 86 | dir := t.TempDir() |
| 87 | path := filepath.Join(dir, "node.json") |
| 88 | |
| 89 | nf := NodeFile{ |
| 90 | NodeKey: key.NewNode(), |
| 91 | MachineKey: key.NewMachine(), |
| 92 | ServerInfo: ServerInfo{ |
| 93 | URL: "https://example.com", |
| 94 | Key: key.NewMachine().Public(), |
| 95 | }, |
| 96 | } |
| 97 | |
| 98 | if err := WriteNodeFile(path, nf); err != nil { |
| 99 | t.Fatalf("WriteNodeFile: %v", err) |
| 100 | } |
| 101 | |
| 102 | data, err := os.ReadFile(path) |
| 103 | if err != nil { |
| 104 | t.Fatal(err) |
| 105 | } |
| 106 | |
| 107 | var raw map[string]json.RawMessage |
| 108 | if err := json.Unmarshal(data, &raw); err != nil { |
| 109 | t.Fatalf("parsing written JSON: %v", err) |
| 110 | } |
| 111 | for _, field := range []string{"node_key", "machine_key", "server_url", "server_key"} { |
| 112 | if _, ok := raw[field]; !ok { |
| 113 | t.Errorf("missing JSON field %q in written file", field) |
| 114 | } |
| 115 | } |
| 116 | } |
nothing calls this directly
no test coverage detected
searching dependent graphs…