@@ -704,6 +704,40 @@ func TestBuildConsolePeersPayloadIncludesClientBuild(t *testing.T) {
704704 }
705705}
706706
707+ func TestBuildConsolePeersPayloadIncludesPeerIdentity (t * testing.T ) {
708+ t .Parallel ()
709+
710+ payload := buildConsolePeersPayload (
711+ []string {"a:1" , "b:2" },
712+ []PeerHealth {
713+ {Address : "a:1" , PeerID : "abc123" , State : "healthy" , Connected : true },
714+ {Address : "b:2" , PeerID : "" , State : "healthy" , Connected : true },
715+ },
716+ )
717+
718+ type peersPayload struct {
719+ Peers []ConsolePeerStatus `json:"peers"`
720+ }
721+ data , err := json .Marshal (payload )
722+ if err != nil {
723+ t .Fatalf ("Marshal returned error: %v" , err )
724+ }
725+ var result peersPayload
726+ if err := json .Unmarshal (data , & result ); err != nil {
727+ t .Fatalf ("Unmarshal returned error: %v" , err )
728+ }
729+
730+ if len (result .Peers ) != 2 {
731+ t .Fatalf ("expected 2 peers, got %d" , len (result .Peers ))
732+ }
733+ if result .Peers [0 ].Identity != "abc123" {
734+ t .Errorf ("peers[0]: expected identity='abc123', got %q" , result .Peers [0 ].Identity )
735+ }
736+ if result .Peers [1 ].Identity != "" {
737+ t .Errorf ("peers[1]: expected empty identity, got %q" , result .Peers [1 ].Identity )
738+ }
739+ }
740+
707741func TestConsolePingPayloadShape (t * testing.T ) {
708742 t .Parallel ()
709743
0 commit comments