github.com/google/cloudprober@v0.11.3/rds/server/server_test.go (about) 1 package server 2 3 import ( 4 "context" 5 "reflect" 6 "testing" 7 8 "github.com/golang/protobuf/proto" 9 pb "github.com/google/cloudprober/rds/proto" 10 ) 11 12 type testProvider struct { 13 resources []*pb.Resource 14 } 15 16 func (tp *testProvider) ListResources(*pb.ListResourcesRequest) (*pb.ListResourcesResponse, error) { 17 return &pb.ListResourcesResponse{ 18 Resources: tp.resources, 19 }, nil 20 } 21 22 func TestListResources(t *testing.T) { 23 testResources := []*pb.Resource{ 24 &pb.Resource{ 25 Name: proto.String("testR1"), 26 Ip: proto.String("IP1"), 27 }, 28 &pb.Resource{ 29 Name: proto.String("testR2"), 30 Ip: proto.String("IP2"), 31 }, 32 } 33 srv := &Server{ 34 providers: map[string]Provider{ 35 "test_provider": &testProvider{ 36 resources: testResources, 37 }, 38 }, 39 } 40 res, err := srv.ListResources(context.Background(), &pb.ListResourcesRequest{ 41 Provider: proto.String("test_provider"), 42 ResourcePath: proto.String("rp"), 43 }) 44 if err != nil { 45 t.Errorf("Got unexpected error while listing test resources: %v", err) 46 } 47 if !reflect.DeepEqual(res.Resources, testResources) { 48 t.Errorf("Didn't get expected resource. Got=%v, Want=%v", res.Resources, testResources) 49 } 50 }