github.com/qiniu/go-sdk/v7@v7.27.0/storagev2/chooser/chooser_test.go (about)

     1  //go:build unit
     2  // +build unit
     3  
     4  package chooser_test
     5  
     6  import (
     7  	"context"
     8  	"net"
     9  	"testing"
    10  
    11  	"github.com/qiniu/go-sdk/v7/storagev2/chooser"
    12  )
    13  
    14  func TestDirectChooser(t *testing.T) {
    15  	cs := chooser.NewDirectChooser()
    16  	ips := cs.Choose(context.Background(), []net.IP{net.IPv4(1, 2, 3, 4), net.IPv4(5, 6, 7, 8)}, &chooser.ChooseOptions{
    17  		Domain: "www.qiniu.com",
    18  	})
    19  	assertIPs(t, ips, []net.IP{net.IPv4(1, 2, 3, 4), net.IPv4(5, 6, 7, 8)})
    20  }
    21  
    22  func assertIPs(t *testing.T, ips []net.IP, expected []net.IP) {
    23  	if len(ips) != len(expected) {
    24  		t.Fatalf("unexpected ips count: actual=%v, expected=%v", ips, expected)
    25  	}
    26  	for i := range ips {
    27  		if !ips[i].Equal(expected[i]) {
    28  			t.Fatalf("unexpected ip: actual=%v, expected=%v", ips, expected)
    29  		}
    30  	}
    31  }