1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- package targets
- import (
- "net/url"
- "testing"
- "github.com/stretchr/testify/assert"
- "google.golang.org/grpc/resolver"
- )
- func TestGetAuthority(t *testing.T) {
- tests := []struct {
- name string
- url string
- want string
- }{
- {
- name: "test",
- url: "direct://my_authority/localhost",
- want: "my_authority",
- },
- {
- name: "test with port",
- url: "direct://my_authority/localhost:8080",
- want: "my_authority",
- },
- {
- name: "test with multiple hosts",
- url: "direct://my_authority1,my_authority2/localhost,localhost",
- want: "my_authority1,my_authority2",
- },
- {
- name: "test with multiple hosts with port",
- url: "direct://my_authority1:3000,my_authority2:3001/localhost:8080,localhost:8081",
- want: "my_authority1:3000,my_authority2:3001",
- },
- }
- for _, test := range tests {
- t.Run(test.name, func(t *testing.T) {
- uri, err := url.Parse(test.url)
- assert.Nil(t, err)
- target := resolver.Target{
- URL: *uri,
- }
- assert.Equal(t, test.want, GetAuthority(target))
- })
- }
- }
- func TestGetEndpoints(t *testing.T) {
- tests := []struct {
- name string
- url string
- want string
- }{
- {
- name: "test",
- url: "direct:///localhost",
- want: "localhost",
- },
- {
- name: "test with port",
- url: "direct:///localhost:8080",
- want: "localhost:8080",
- },
- {
- name: "test with multiple hosts",
- url: "direct:///localhost,localhost",
- want: "localhost,localhost",
- },
- {
- name: "test with multiple hosts with port",
- url: "direct:///localhost:8080,localhost:8081",
- want: "localhost:8080,localhost:8081",
- },
- }
- for _, test := range tests {
- t.Run(test.name, func(t *testing.T) {
- uri, err := url.Parse(test.url)
- assert.Nil(t, err)
- target := resolver.Target{
- URL: *uri,
- }
- assert.Equal(t, test.want, GetEndpoints(target))
- })
- }
- }
|