package main

import (
	"bytes"
	"github.com/stretchr/testify/assert"
	"testing"
)

func TestAllName(t *testing.T) {
	bs := bytes.NewBuffer([]byte(`{
  "header": {
    "cluster_id": 6727156085898407400
  },
  "members": [
    {
      "name": "pd1",
      "member_id": 708162861580590150,
      "peer_urls": [
        "http://127.0.0.1:2381"
      ],
      "client_urls": [
        "http://127.0.0.1:2371"
      ]
    },
    {
      "name": "pd2",
      "member_id": 11422760369413494203,
      "peer_urls": [
        "http://127.0.0.1:2382"
      ],
      "client_urls": [
        "http://127.0.0.1:2372"
      ]
    },
    {
      "name": "pd0",
      "member_id": 13195394291058371180,
      "peer_urls": [
        "http://127.0.0.1:2380"
      ],
      "client_urls": [
        "http://127.0.0.1:2370"
      ]
    }
  ],
  "leader": {
    "name": "pd2",
    "member_id": 11422760369413494203,
    "peer_urls": [
      "http://127.0.0.1:2382"
    ],
    "client_urls": [
      "http://127.0.0.1:2372"
    ]
  },
  "etcd_leader": {
    "name": "pd2",
    "member_id": 11422760369413494203,
    "peer_urls": [
      "http://127.0.0.1:2382"
    ],
    "client_urls": [
      "http://127.0.0.1:2372"
    ]
  }
}
`))
	m := allNames(bs)

	assert.Equal(t, 3, len(m))
	assert.Equal(t, "pd1", m[0])
	assert.Equal(t, "pd2", m[1])
	assert.Equal(t, "pd0", m[2])
}