You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

694 lines
20 KiB

  1. // Copyright 2019 Google LLC
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // https://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. // Code generated by gapic-generator. DO NOT EDIT.
  15. package debugger
  16. import (
  17. emptypb "github.com/golang/protobuf/ptypes/empty"
  18. clouddebuggerpb "google.golang.org/genproto/googleapis/devtools/clouddebugger/v2"
  19. )
  20. import (
  21. "context"
  22. "flag"
  23. "fmt"
  24. "io"
  25. "log"
  26. "net"
  27. "os"
  28. "strings"
  29. "testing"
  30. "github.com/golang/protobuf/proto"
  31. "github.com/golang/protobuf/ptypes"
  32. "google.golang.org/api/option"
  33. status "google.golang.org/genproto/googleapis/rpc/status"
  34. "google.golang.org/grpc"
  35. "google.golang.org/grpc/codes"
  36. "google.golang.org/grpc/metadata"
  37. gstatus "google.golang.org/grpc/status"
  38. )
  39. var _ = io.EOF
  40. var _ = ptypes.MarshalAny
  41. var _ status.Status
  42. type mockController2Server struct {
  43. // Embed for forward compatibility.
  44. // Tests will keep working if more methods are added
  45. // in the future.
  46. clouddebuggerpb.Controller2Server
  47. reqs []proto.Message
  48. // If set, all calls return this error.
  49. err error
  50. // responses to return if err == nil
  51. resps []proto.Message
  52. }
  53. func (s *mockController2Server) RegisterDebuggee(ctx context.Context, req *clouddebuggerpb.RegisterDebuggeeRequest) (*clouddebuggerpb.RegisterDebuggeeResponse, error) {
  54. md, _ := metadata.FromIncomingContext(ctx)
  55. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  56. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  57. }
  58. s.reqs = append(s.reqs, req)
  59. if s.err != nil {
  60. return nil, s.err
  61. }
  62. return s.resps[0].(*clouddebuggerpb.RegisterDebuggeeResponse), nil
  63. }
  64. func (s *mockController2Server) ListActiveBreakpoints(ctx context.Context, req *clouddebuggerpb.ListActiveBreakpointsRequest) (*clouddebuggerpb.ListActiveBreakpointsResponse, error) {
  65. md, _ := metadata.FromIncomingContext(ctx)
  66. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  67. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  68. }
  69. s.reqs = append(s.reqs, req)
  70. if s.err != nil {
  71. return nil, s.err
  72. }
  73. return s.resps[0].(*clouddebuggerpb.ListActiveBreakpointsResponse), nil
  74. }
  75. func (s *mockController2Server) UpdateActiveBreakpoint(ctx context.Context, req *clouddebuggerpb.UpdateActiveBreakpointRequest) (*clouddebuggerpb.UpdateActiveBreakpointResponse, error) {
  76. md, _ := metadata.FromIncomingContext(ctx)
  77. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  78. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  79. }
  80. s.reqs = append(s.reqs, req)
  81. if s.err != nil {
  82. return nil, s.err
  83. }
  84. return s.resps[0].(*clouddebuggerpb.UpdateActiveBreakpointResponse), nil
  85. }
  86. type mockDebugger2Server struct {
  87. // Embed for forward compatibility.
  88. // Tests will keep working if more methods are added
  89. // in the future.
  90. clouddebuggerpb.Debugger2Server
  91. reqs []proto.Message
  92. // If set, all calls return this error.
  93. err error
  94. // responses to return if err == nil
  95. resps []proto.Message
  96. }
  97. func (s *mockDebugger2Server) SetBreakpoint(ctx context.Context, req *clouddebuggerpb.SetBreakpointRequest) (*clouddebuggerpb.SetBreakpointResponse, error) {
  98. md, _ := metadata.FromIncomingContext(ctx)
  99. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  100. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  101. }
  102. s.reqs = append(s.reqs, req)
  103. if s.err != nil {
  104. return nil, s.err
  105. }
  106. return s.resps[0].(*clouddebuggerpb.SetBreakpointResponse), nil
  107. }
  108. func (s *mockDebugger2Server) GetBreakpoint(ctx context.Context, req *clouddebuggerpb.GetBreakpointRequest) (*clouddebuggerpb.GetBreakpointResponse, error) {
  109. md, _ := metadata.FromIncomingContext(ctx)
  110. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  111. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  112. }
  113. s.reqs = append(s.reqs, req)
  114. if s.err != nil {
  115. return nil, s.err
  116. }
  117. return s.resps[0].(*clouddebuggerpb.GetBreakpointResponse), nil
  118. }
  119. func (s *mockDebugger2Server) DeleteBreakpoint(ctx context.Context, req *clouddebuggerpb.DeleteBreakpointRequest) (*emptypb.Empty, error) {
  120. md, _ := metadata.FromIncomingContext(ctx)
  121. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  122. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  123. }
  124. s.reqs = append(s.reqs, req)
  125. if s.err != nil {
  126. return nil, s.err
  127. }
  128. return s.resps[0].(*emptypb.Empty), nil
  129. }
  130. func (s *mockDebugger2Server) ListBreakpoints(ctx context.Context, req *clouddebuggerpb.ListBreakpointsRequest) (*clouddebuggerpb.ListBreakpointsResponse, error) {
  131. md, _ := metadata.FromIncomingContext(ctx)
  132. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  133. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  134. }
  135. s.reqs = append(s.reqs, req)
  136. if s.err != nil {
  137. return nil, s.err
  138. }
  139. return s.resps[0].(*clouddebuggerpb.ListBreakpointsResponse), nil
  140. }
  141. func (s *mockDebugger2Server) ListDebuggees(ctx context.Context, req *clouddebuggerpb.ListDebuggeesRequest) (*clouddebuggerpb.ListDebuggeesResponse, error) {
  142. md, _ := metadata.FromIncomingContext(ctx)
  143. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  144. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  145. }
  146. s.reqs = append(s.reqs, req)
  147. if s.err != nil {
  148. return nil, s.err
  149. }
  150. return s.resps[0].(*clouddebuggerpb.ListDebuggeesResponse), nil
  151. }
  152. // clientOpt is the option tests should use to connect to the test server.
  153. // It is initialized by TestMain.
  154. var clientOpt option.ClientOption
  155. var (
  156. mockController2 mockController2Server
  157. mockDebugger2 mockDebugger2Server
  158. )
  159. func TestMain(m *testing.M) {
  160. flag.Parse()
  161. serv := grpc.NewServer()
  162. clouddebuggerpb.RegisterController2Server(serv, &mockController2)
  163. clouddebuggerpb.RegisterDebugger2Server(serv, &mockDebugger2)
  164. lis, err := net.Listen("tcp", "localhost:0")
  165. if err != nil {
  166. log.Fatal(err)
  167. }
  168. go serv.Serve(lis)
  169. conn, err := grpc.Dial(lis.Addr().String(), grpc.WithInsecure())
  170. if err != nil {
  171. log.Fatal(err)
  172. }
  173. clientOpt = option.WithGRPCConn(conn)
  174. os.Exit(m.Run())
  175. }
  176. func TestController2RegisterDebuggee(t *testing.T) {
  177. var expectedResponse *clouddebuggerpb.RegisterDebuggeeResponse = &clouddebuggerpb.RegisterDebuggeeResponse{}
  178. mockController2.err = nil
  179. mockController2.reqs = nil
  180. mockController2.resps = append(mockController2.resps[:0], expectedResponse)
  181. var debuggee *clouddebuggerpb.Debuggee = &clouddebuggerpb.Debuggee{}
  182. var request = &clouddebuggerpb.RegisterDebuggeeRequest{
  183. Debuggee: debuggee,
  184. }
  185. c, err := NewController2Client(context.Background(), clientOpt)
  186. if err != nil {
  187. t.Fatal(err)
  188. }
  189. resp, err := c.RegisterDebuggee(context.Background(), request)
  190. if err != nil {
  191. t.Fatal(err)
  192. }
  193. if want, got := request, mockController2.reqs[0]; !proto.Equal(want, got) {
  194. t.Errorf("wrong request %q, want %q", got, want)
  195. }
  196. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  197. t.Errorf("wrong response %q, want %q)", got, want)
  198. }
  199. }
  200. func TestController2RegisterDebuggeeError(t *testing.T) {
  201. errCode := codes.PermissionDenied
  202. mockController2.err = gstatus.Error(errCode, "test error")
  203. var debuggee *clouddebuggerpb.Debuggee = &clouddebuggerpb.Debuggee{}
  204. var request = &clouddebuggerpb.RegisterDebuggeeRequest{
  205. Debuggee: debuggee,
  206. }
  207. c, err := NewController2Client(context.Background(), clientOpt)
  208. if err != nil {
  209. t.Fatal(err)
  210. }
  211. resp, err := c.RegisterDebuggee(context.Background(), request)
  212. if st, ok := gstatus.FromError(err); !ok {
  213. t.Errorf("got error %v, expected grpc error", err)
  214. } else if c := st.Code(); c != errCode {
  215. t.Errorf("got error code %q, want %q", c, errCode)
  216. }
  217. _ = resp
  218. }
  219. func TestController2ListActiveBreakpoints(t *testing.T) {
  220. var nextWaitToken string = "nextWaitToken1006864251"
  221. var waitExpired bool = false
  222. var expectedResponse = &clouddebuggerpb.ListActiveBreakpointsResponse{
  223. NextWaitToken: nextWaitToken,
  224. WaitExpired: waitExpired,
  225. }
  226. mockController2.err = nil
  227. mockController2.reqs = nil
  228. mockController2.resps = append(mockController2.resps[:0], expectedResponse)
  229. var debuggeeId string = "debuggeeId-997255898"
  230. var request = &clouddebuggerpb.ListActiveBreakpointsRequest{
  231. DebuggeeId: debuggeeId,
  232. }
  233. c, err := NewController2Client(context.Background(), clientOpt)
  234. if err != nil {
  235. t.Fatal(err)
  236. }
  237. resp, err := c.ListActiveBreakpoints(context.Background(), request)
  238. if err != nil {
  239. t.Fatal(err)
  240. }
  241. if want, got := request, mockController2.reqs[0]; !proto.Equal(want, got) {
  242. t.Errorf("wrong request %q, want %q", got, want)
  243. }
  244. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  245. t.Errorf("wrong response %q, want %q)", got, want)
  246. }
  247. }
  248. func TestController2ListActiveBreakpointsError(t *testing.T) {
  249. errCode := codes.PermissionDenied
  250. mockController2.err = gstatus.Error(errCode, "test error")
  251. var debuggeeId string = "debuggeeId-997255898"
  252. var request = &clouddebuggerpb.ListActiveBreakpointsRequest{
  253. DebuggeeId: debuggeeId,
  254. }
  255. c, err := NewController2Client(context.Background(), clientOpt)
  256. if err != nil {
  257. t.Fatal(err)
  258. }
  259. resp, err := c.ListActiveBreakpoints(context.Background(), request)
  260. if st, ok := gstatus.FromError(err); !ok {
  261. t.Errorf("got error %v, expected grpc error", err)
  262. } else if c := st.Code(); c != errCode {
  263. t.Errorf("got error code %q, want %q", c, errCode)
  264. }
  265. _ = resp
  266. }
  267. func TestController2UpdateActiveBreakpoint(t *testing.T) {
  268. var expectedResponse *clouddebuggerpb.UpdateActiveBreakpointResponse = &clouddebuggerpb.UpdateActiveBreakpointResponse{}
  269. mockController2.err = nil
  270. mockController2.reqs = nil
  271. mockController2.resps = append(mockController2.resps[:0], expectedResponse)
  272. var debuggeeId string = "debuggeeId-997255898"
  273. var breakpoint *clouddebuggerpb.Breakpoint = &clouddebuggerpb.Breakpoint{}
  274. var request = &clouddebuggerpb.UpdateActiveBreakpointRequest{
  275. DebuggeeId: debuggeeId,
  276. Breakpoint: breakpoint,
  277. }
  278. c, err := NewController2Client(context.Background(), clientOpt)
  279. if err != nil {
  280. t.Fatal(err)
  281. }
  282. resp, err := c.UpdateActiveBreakpoint(context.Background(), request)
  283. if err != nil {
  284. t.Fatal(err)
  285. }
  286. if want, got := request, mockController2.reqs[0]; !proto.Equal(want, got) {
  287. t.Errorf("wrong request %q, want %q", got, want)
  288. }
  289. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  290. t.Errorf("wrong response %q, want %q)", got, want)
  291. }
  292. }
  293. func TestController2UpdateActiveBreakpointError(t *testing.T) {
  294. errCode := codes.PermissionDenied
  295. mockController2.err = gstatus.Error(errCode, "test error")
  296. var debuggeeId string = "debuggeeId-997255898"
  297. var breakpoint *clouddebuggerpb.Breakpoint = &clouddebuggerpb.Breakpoint{}
  298. var request = &clouddebuggerpb.UpdateActiveBreakpointRequest{
  299. DebuggeeId: debuggeeId,
  300. Breakpoint: breakpoint,
  301. }
  302. c, err := NewController2Client(context.Background(), clientOpt)
  303. if err != nil {
  304. t.Fatal(err)
  305. }
  306. resp, err := c.UpdateActiveBreakpoint(context.Background(), request)
  307. if st, ok := gstatus.FromError(err); !ok {
  308. t.Errorf("got error %v, expected grpc error", err)
  309. } else if c := st.Code(); c != errCode {
  310. t.Errorf("got error code %q, want %q", c, errCode)
  311. }
  312. _ = resp
  313. }
  314. func TestDebugger2SetBreakpoint(t *testing.T) {
  315. var expectedResponse *clouddebuggerpb.SetBreakpointResponse = &clouddebuggerpb.SetBreakpointResponse{}
  316. mockDebugger2.err = nil
  317. mockDebugger2.reqs = nil
  318. mockDebugger2.resps = append(mockDebugger2.resps[:0], expectedResponse)
  319. var debuggeeId string = "debuggeeId-997255898"
  320. var breakpoint *clouddebuggerpb.Breakpoint = &clouddebuggerpb.Breakpoint{}
  321. var clientVersion string = "clientVersion-1506231196"
  322. var request = &clouddebuggerpb.SetBreakpointRequest{
  323. DebuggeeId: debuggeeId,
  324. Breakpoint: breakpoint,
  325. ClientVersion: clientVersion,
  326. }
  327. c, err := NewDebugger2Client(context.Background(), clientOpt)
  328. if err != nil {
  329. t.Fatal(err)
  330. }
  331. resp, err := c.SetBreakpoint(context.Background(), request)
  332. if err != nil {
  333. t.Fatal(err)
  334. }
  335. if want, got := request, mockDebugger2.reqs[0]; !proto.Equal(want, got) {
  336. t.Errorf("wrong request %q, want %q", got, want)
  337. }
  338. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  339. t.Errorf("wrong response %q, want %q)", got, want)
  340. }
  341. }
  342. func TestDebugger2SetBreakpointError(t *testing.T) {
  343. errCode := codes.PermissionDenied
  344. mockDebugger2.err = gstatus.Error(errCode, "test error")
  345. var debuggeeId string = "debuggeeId-997255898"
  346. var breakpoint *clouddebuggerpb.Breakpoint = &clouddebuggerpb.Breakpoint{}
  347. var clientVersion string = "clientVersion-1506231196"
  348. var request = &clouddebuggerpb.SetBreakpointRequest{
  349. DebuggeeId: debuggeeId,
  350. Breakpoint: breakpoint,
  351. ClientVersion: clientVersion,
  352. }
  353. c, err := NewDebugger2Client(context.Background(), clientOpt)
  354. if err != nil {
  355. t.Fatal(err)
  356. }
  357. resp, err := c.SetBreakpoint(context.Background(), request)
  358. if st, ok := gstatus.FromError(err); !ok {
  359. t.Errorf("got error %v, expected grpc error", err)
  360. } else if c := st.Code(); c != errCode {
  361. t.Errorf("got error code %q, want %q", c, errCode)
  362. }
  363. _ = resp
  364. }
  365. func TestDebugger2GetBreakpoint(t *testing.T) {
  366. var expectedResponse *clouddebuggerpb.GetBreakpointResponse = &clouddebuggerpb.GetBreakpointResponse{}
  367. mockDebugger2.err = nil
  368. mockDebugger2.reqs = nil
  369. mockDebugger2.resps = append(mockDebugger2.resps[:0], expectedResponse)
  370. var debuggeeId string = "debuggeeId-997255898"
  371. var breakpointId string = "breakpointId498424873"
  372. var clientVersion string = "clientVersion-1506231196"
  373. var request = &clouddebuggerpb.GetBreakpointRequest{
  374. DebuggeeId: debuggeeId,
  375. BreakpointId: breakpointId,
  376. ClientVersion: clientVersion,
  377. }
  378. c, err := NewDebugger2Client(context.Background(), clientOpt)
  379. if err != nil {
  380. t.Fatal(err)
  381. }
  382. resp, err := c.GetBreakpoint(context.Background(), request)
  383. if err != nil {
  384. t.Fatal(err)
  385. }
  386. if want, got := request, mockDebugger2.reqs[0]; !proto.Equal(want, got) {
  387. t.Errorf("wrong request %q, want %q", got, want)
  388. }
  389. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  390. t.Errorf("wrong response %q, want %q)", got, want)
  391. }
  392. }
  393. func TestDebugger2GetBreakpointError(t *testing.T) {
  394. errCode := codes.PermissionDenied
  395. mockDebugger2.err = gstatus.Error(errCode, "test error")
  396. var debuggeeId string = "debuggeeId-997255898"
  397. var breakpointId string = "breakpointId498424873"
  398. var clientVersion string = "clientVersion-1506231196"
  399. var request = &clouddebuggerpb.GetBreakpointRequest{
  400. DebuggeeId: debuggeeId,
  401. BreakpointId: breakpointId,
  402. ClientVersion: clientVersion,
  403. }
  404. c, err := NewDebugger2Client(context.Background(), clientOpt)
  405. if err != nil {
  406. t.Fatal(err)
  407. }
  408. resp, err := c.GetBreakpoint(context.Background(), request)
  409. if st, ok := gstatus.FromError(err); !ok {
  410. t.Errorf("got error %v, expected grpc error", err)
  411. } else if c := st.Code(); c != errCode {
  412. t.Errorf("got error code %q, want %q", c, errCode)
  413. }
  414. _ = resp
  415. }
  416. func TestDebugger2DeleteBreakpoint(t *testing.T) {
  417. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  418. mockDebugger2.err = nil
  419. mockDebugger2.reqs = nil
  420. mockDebugger2.resps = append(mockDebugger2.resps[:0], expectedResponse)
  421. var debuggeeId string = "debuggeeId-997255898"
  422. var breakpointId string = "breakpointId498424873"
  423. var clientVersion string = "clientVersion-1506231196"
  424. var request = &clouddebuggerpb.DeleteBreakpointRequest{
  425. DebuggeeId: debuggeeId,
  426. BreakpointId: breakpointId,
  427. ClientVersion: clientVersion,
  428. }
  429. c, err := NewDebugger2Client(context.Background(), clientOpt)
  430. if err != nil {
  431. t.Fatal(err)
  432. }
  433. err = c.DeleteBreakpoint(context.Background(), request)
  434. if err != nil {
  435. t.Fatal(err)
  436. }
  437. if want, got := request, mockDebugger2.reqs[0]; !proto.Equal(want, got) {
  438. t.Errorf("wrong request %q, want %q", got, want)
  439. }
  440. }
  441. func TestDebugger2DeleteBreakpointError(t *testing.T) {
  442. errCode := codes.PermissionDenied
  443. mockDebugger2.err = gstatus.Error(errCode, "test error")
  444. var debuggeeId string = "debuggeeId-997255898"
  445. var breakpointId string = "breakpointId498424873"
  446. var clientVersion string = "clientVersion-1506231196"
  447. var request = &clouddebuggerpb.DeleteBreakpointRequest{
  448. DebuggeeId: debuggeeId,
  449. BreakpointId: breakpointId,
  450. ClientVersion: clientVersion,
  451. }
  452. c, err := NewDebugger2Client(context.Background(), clientOpt)
  453. if err != nil {
  454. t.Fatal(err)
  455. }
  456. err = c.DeleteBreakpoint(context.Background(), request)
  457. if st, ok := gstatus.FromError(err); !ok {
  458. t.Errorf("got error %v, expected grpc error", err)
  459. } else if c := st.Code(); c != errCode {
  460. t.Errorf("got error code %q, want %q", c, errCode)
  461. }
  462. }
  463. func TestDebugger2ListBreakpoints(t *testing.T) {
  464. var nextWaitToken string = "nextWaitToken1006864251"
  465. var expectedResponse = &clouddebuggerpb.ListBreakpointsResponse{
  466. NextWaitToken: nextWaitToken,
  467. }
  468. mockDebugger2.err = nil
  469. mockDebugger2.reqs = nil
  470. mockDebugger2.resps = append(mockDebugger2.resps[:0], expectedResponse)
  471. var debuggeeId string = "debuggeeId-997255898"
  472. var clientVersion string = "clientVersion-1506231196"
  473. var request = &clouddebuggerpb.ListBreakpointsRequest{
  474. DebuggeeId: debuggeeId,
  475. ClientVersion: clientVersion,
  476. }
  477. c, err := NewDebugger2Client(context.Background(), clientOpt)
  478. if err != nil {
  479. t.Fatal(err)
  480. }
  481. resp, err := c.ListBreakpoints(context.Background(), request)
  482. if err != nil {
  483. t.Fatal(err)
  484. }
  485. if want, got := request, mockDebugger2.reqs[0]; !proto.Equal(want, got) {
  486. t.Errorf("wrong request %q, want %q", got, want)
  487. }
  488. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  489. t.Errorf("wrong response %q, want %q)", got, want)
  490. }
  491. }
  492. func TestDebugger2ListBreakpointsError(t *testing.T) {
  493. errCode := codes.PermissionDenied
  494. mockDebugger2.err = gstatus.Error(errCode, "test error")
  495. var debuggeeId string = "debuggeeId-997255898"
  496. var clientVersion string = "clientVersion-1506231196"
  497. var request = &clouddebuggerpb.ListBreakpointsRequest{
  498. DebuggeeId: debuggeeId,
  499. ClientVersion: clientVersion,
  500. }
  501. c, err := NewDebugger2Client(context.Background(), clientOpt)
  502. if err != nil {
  503. t.Fatal(err)
  504. }
  505. resp, err := c.ListBreakpoints(context.Background(), request)
  506. if st, ok := gstatus.FromError(err); !ok {
  507. t.Errorf("got error %v, expected grpc error", err)
  508. } else if c := st.Code(); c != errCode {
  509. t.Errorf("got error code %q, want %q", c, errCode)
  510. }
  511. _ = resp
  512. }
  513. func TestDebugger2ListDebuggees(t *testing.T) {
  514. var expectedResponse *clouddebuggerpb.ListDebuggeesResponse = &clouddebuggerpb.ListDebuggeesResponse{}
  515. mockDebugger2.err = nil
  516. mockDebugger2.reqs = nil
  517. mockDebugger2.resps = append(mockDebugger2.resps[:0], expectedResponse)
  518. var project string = "project-309310695"
  519. var clientVersion string = "clientVersion-1506231196"
  520. var request = &clouddebuggerpb.ListDebuggeesRequest{
  521. Project: project,
  522. ClientVersion: clientVersion,
  523. }
  524. c, err := NewDebugger2Client(context.Background(), clientOpt)
  525. if err != nil {
  526. t.Fatal(err)
  527. }
  528. resp, err := c.ListDebuggees(context.Background(), request)
  529. if err != nil {
  530. t.Fatal(err)
  531. }
  532. if want, got := request, mockDebugger2.reqs[0]; !proto.Equal(want, got) {
  533. t.Errorf("wrong request %q, want %q", got, want)
  534. }
  535. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  536. t.Errorf("wrong response %q, want %q)", got, want)
  537. }
  538. }
  539. func TestDebugger2ListDebuggeesError(t *testing.T) {
  540. errCode := codes.PermissionDenied
  541. mockDebugger2.err = gstatus.Error(errCode, "test error")
  542. var project string = "project-309310695"
  543. var clientVersion string = "clientVersion-1506231196"
  544. var request = &clouddebuggerpb.ListDebuggeesRequest{
  545. Project: project,
  546. ClientVersion: clientVersion,
  547. }
  548. c, err := NewDebugger2Client(context.Background(), clientOpt)
  549. if err != nil {
  550. t.Fatal(err)
  551. }
  552. resp, err := c.ListDebuggees(context.Background(), request)
  553. if st, ok := gstatus.FromError(err); !ok {
  554. t.Errorf("got error %v, expected grpc error", err)
  555. } else if c := st.Code(); c != errCode {
  556. t.Errorf("got error code %q, want %q", c, errCode)
  557. }
  558. _ = resp
  559. }