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 2018 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. // AUTO-GENERATED CODE. 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. "flag"
  22. "fmt"
  23. "io"
  24. "log"
  25. "net"
  26. "os"
  27. "strings"
  28. "testing"
  29. "github.com/golang/protobuf/proto"
  30. "github.com/golang/protobuf/ptypes"
  31. "golang.org/x/net/context"
  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 mockDebugger2Server struct {
  43. // Embed for forward compatibility.
  44. // Tests will keep working if more methods are added
  45. // in the future.
  46. clouddebuggerpb.Debugger2Server
  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 *mockDebugger2Server) SetBreakpoint(ctx context.Context, req *clouddebuggerpb.SetBreakpointRequest) (*clouddebuggerpb.SetBreakpointResponse, 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.SetBreakpointResponse), nil
  63. }
  64. func (s *mockDebugger2Server) GetBreakpoint(ctx context.Context, req *clouddebuggerpb.GetBreakpointRequest) (*clouddebuggerpb.GetBreakpointResponse, 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.GetBreakpointResponse), nil
  74. }
  75. func (s *mockDebugger2Server) DeleteBreakpoint(ctx context.Context, req *clouddebuggerpb.DeleteBreakpointRequest) (*emptypb.Empty, 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].(*emptypb.Empty), nil
  85. }
  86. func (s *mockDebugger2Server) ListBreakpoints(ctx context.Context, req *clouddebuggerpb.ListBreakpointsRequest) (*clouddebuggerpb.ListBreakpointsResponse, error) {
  87. md, _ := metadata.FromIncomingContext(ctx)
  88. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  89. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  90. }
  91. s.reqs = append(s.reqs, req)
  92. if s.err != nil {
  93. return nil, s.err
  94. }
  95. return s.resps[0].(*clouddebuggerpb.ListBreakpointsResponse), nil
  96. }
  97. func (s *mockDebugger2Server) ListDebuggees(ctx context.Context, req *clouddebuggerpb.ListDebuggeesRequest) (*clouddebuggerpb.ListDebuggeesResponse, 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.ListDebuggeesResponse), nil
  107. }
  108. type mockController2Server struct {
  109. // Embed for forward compatibility.
  110. // Tests will keep working if more methods are added
  111. // in the future.
  112. clouddebuggerpb.Controller2Server
  113. reqs []proto.Message
  114. // If set, all calls return this error.
  115. err error
  116. // responses to return if err == nil
  117. resps []proto.Message
  118. }
  119. func (s *mockController2Server) RegisterDebuggee(ctx context.Context, req *clouddebuggerpb.RegisterDebuggeeRequest) (*clouddebuggerpb.RegisterDebuggeeResponse, 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].(*clouddebuggerpb.RegisterDebuggeeResponse), nil
  129. }
  130. func (s *mockController2Server) ListActiveBreakpoints(ctx context.Context, req *clouddebuggerpb.ListActiveBreakpointsRequest) (*clouddebuggerpb.ListActiveBreakpointsResponse, 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.ListActiveBreakpointsResponse), nil
  140. }
  141. func (s *mockController2Server) UpdateActiveBreakpoint(ctx context.Context, req *clouddebuggerpb.UpdateActiveBreakpointRequest) (*clouddebuggerpb.UpdateActiveBreakpointResponse, 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.UpdateActiveBreakpointResponse), 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. mockDebugger2 mockDebugger2Server
  157. mockController2 mockController2Server
  158. )
  159. func TestMain(m *testing.M) {
  160. flag.Parse()
  161. serv := grpc.NewServer()
  162. clouddebuggerpb.RegisterDebugger2Server(serv, &mockDebugger2)
  163. clouddebuggerpb.RegisterController2Server(serv, &mockController2)
  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 TestDebugger2SetBreakpoint(t *testing.T) {
  177. var expectedResponse *clouddebuggerpb.SetBreakpointResponse = &clouddebuggerpb.SetBreakpointResponse{}
  178. mockDebugger2.err = nil
  179. mockDebugger2.reqs = nil
  180. mockDebugger2.resps = append(mockDebugger2.resps[:0], expectedResponse)
  181. var debuggeeId string = "debuggeeId-997255898"
  182. var breakpoint *clouddebuggerpb.Breakpoint = &clouddebuggerpb.Breakpoint{}
  183. var clientVersion string = "clientVersion-1506231196"
  184. var request = &clouddebuggerpb.SetBreakpointRequest{
  185. DebuggeeId: debuggeeId,
  186. Breakpoint: breakpoint,
  187. ClientVersion: clientVersion,
  188. }
  189. c, err := NewDebugger2Client(context.Background(), clientOpt)
  190. if err != nil {
  191. t.Fatal(err)
  192. }
  193. resp, err := c.SetBreakpoint(context.Background(), request)
  194. if err != nil {
  195. t.Fatal(err)
  196. }
  197. if want, got := request, mockDebugger2.reqs[0]; !proto.Equal(want, got) {
  198. t.Errorf("wrong request %q, want %q", got, want)
  199. }
  200. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  201. t.Errorf("wrong response %q, want %q)", got, want)
  202. }
  203. }
  204. func TestDebugger2SetBreakpointError(t *testing.T) {
  205. errCode := codes.PermissionDenied
  206. mockDebugger2.err = gstatus.Error(errCode, "test error")
  207. var debuggeeId string = "debuggeeId-997255898"
  208. var breakpoint *clouddebuggerpb.Breakpoint = &clouddebuggerpb.Breakpoint{}
  209. var clientVersion string = "clientVersion-1506231196"
  210. var request = &clouddebuggerpb.SetBreakpointRequest{
  211. DebuggeeId: debuggeeId,
  212. Breakpoint: breakpoint,
  213. ClientVersion: clientVersion,
  214. }
  215. c, err := NewDebugger2Client(context.Background(), clientOpt)
  216. if err != nil {
  217. t.Fatal(err)
  218. }
  219. resp, err := c.SetBreakpoint(context.Background(), request)
  220. if st, ok := gstatus.FromError(err); !ok {
  221. t.Errorf("got error %v, expected grpc error", err)
  222. } else if c := st.Code(); c != errCode {
  223. t.Errorf("got error code %q, want %q", c, errCode)
  224. }
  225. _ = resp
  226. }
  227. func TestDebugger2GetBreakpoint(t *testing.T) {
  228. var expectedResponse *clouddebuggerpb.GetBreakpointResponse = &clouddebuggerpb.GetBreakpointResponse{}
  229. mockDebugger2.err = nil
  230. mockDebugger2.reqs = nil
  231. mockDebugger2.resps = append(mockDebugger2.resps[:0], expectedResponse)
  232. var debuggeeId string = "debuggeeId-997255898"
  233. var breakpointId string = "breakpointId498424873"
  234. var clientVersion string = "clientVersion-1506231196"
  235. var request = &clouddebuggerpb.GetBreakpointRequest{
  236. DebuggeeId: debuggeeId,
  237. BreakpointId: breakpointId,
  238. ClientVersion: clientVersion,
  239. }
  240. c, err := NewDebugger2Client(context.Background(), clientOpt)
  241. if err != nil {
  242. t.Fatal(err)
  243. }
  244. resp, err := c.GetBreakpoint(context.Background(), request)
  245. if err != nil {
  246. t.Fatal(err)
  247. }
  248. if want, got := request, mockDebugger2.reqs[0]; !proto.Equal(want, got) {
  249. t.Errorf("wrong request %q, want %q", got, want)
  250. }
  251. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  252. t.Errorf("wrong response %q, want %q)", got, want)
  253. }
  254. }
  255. func TestDebugger2GetBreakpointError(t *testing.T) {
  256. errCode := codes.PermissionDenied
  257. mockDebugger2.err = gstatus.Error(errCode, "test error")
  258. var debuggeeId string = "debuggeeId-997255898"
  259. var breakpointId string = "breakpointId498424873"
  260. var clientVersion string = "clientVersion-1506231196"
  261. var request = &clouddebuggerpb.GetBreakpointRequest{
  262. DebuggeeId: debuggeeId,
  263. BreakpointId: breakpointId,
  264. ClientVersion: clientVersion,
  265. }
  266. c, err := NewDebugger2Client(context.Background(), clientOpt)
  267. if err != nil {
  268. t.Fatal(err)
  269. }
  270. resp, err := c.GetBreakpoint(context.Background(), request)
  271. if st, ok := gstatus.FromError(err); !ok {
  272. t.Errorf("got error %v, expected grpc error", err)
  273. } else if c := st.Code(); c != errCode {
  274. t.Errorf("got error code %q, want %q", c, errCode)
  275. }
  276. _ = resp
  277. }
  278. func TestDebugger2DeleteBreakpoint(t *testing.T) {
  279. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  280. mockDebugger2.err = nil
  281. mockDebugger2.reqs = nil
  282. mockDebugger2.resps = append(mockDebugger2.resps[:0], expectedResponse)
  283. var debuggeeId string = "debuggeeId-997255898"
  284. var breakpointId string = "breakpointId498424873"
  285. var clientVersion string = "clientVersion-1506231196"
  286. var request = &clouddebuggerpb.DeleteBreakpointRequest{
  287. DebuggeeId: debuggeeId,
  288. BreakpointId: breakpointId,
  289. ClientVersion: clientVersion,
  290. }
  291. c, err := NewDebugger2Client(context.Background(), clientOpt)
  292. if err != nil {
  293. t.Fatal(err)
  294. }
  295. err = c.DeleteBreakpoint(context.Background(), request)
  296. if err != nil {
  297. t.Fatal(err)
  298. }
  299. if want, got := request, mockDebugger2.reqs[0]; !proto.Equal(want, got) {
  300. t.Errorf("wrong request %q, want %q", got, want)
  301. }
  302. }
  303. func TestDebugger2DeleteBreakpointError(t *testing.T) {
  304. errCode := codes.PermissionDenied
  305. mockDebugger2.err = gstatus.Error(errCode, "test error")
  306. var debuggeeId string = "debuggeeId-997255898"
  307. var breakpointId string = "breakpointId498424873"
  308. var clientVersion string = "clientVersion-1506231196"
  309. var request = &clouddebuggerpb.DeleteBreakpointRequest{
  310. DebuggeeId: debuggeeId,
  311. BreakpointId: breakpointId,
  312. ClientVersion: clientVersion,
  313. }
  314. c, err := NewDebugger2Client(context.Background(), clientOpt)
  315. if err != nil {
  316. t.Fatal(err)
  317. }
  318. err = c.DeleteBreakpoint(context.Background(), request)
  319. if st, ok := gstatus.FromError(err); !ok {
  320. t.Errorf("got error %v, expected grpc error", err)
  321. } else if c := st.Code(); c != errCode {
  322. t.Errorf("got error code %q, want %q", c, errCode)
  323. }
  324. }
  325. func TestDebugger2ListBreakpoints(t *testing.T) {
  326. var nextWaitToken string = "nextWaitToken1006864251"
  327. var expectedResponse = &clouddebuggerpb.ListBreakpointsResponse{
  328. NextWaitToken: nextWaitToken,
  329. }
  330. mockDebugger2.err = nil
  331. mockDebugger2.reqs = nil
  332. mockDebugger2.resps = append(mockDebugger2.resps[:0], expectedResponse)
  333. var debuggeeId string = "debuggeeId-997255898"
  334. var clientVersion string = "clientVersion-1506231196"
  335. var request = &clouddebuggerpb.ListBreakpointsRequest{
  336. DebuggeeId: debuggeeId,
  337. ClientVersion: clientVersion,
  338. }
  339. c, err := NewDebugger2Client(context.Background(), clientOpt)
  340. if err != nil {
  341. t.Fatal(err)
  342. }
  343. resp, err := c.ListBreakpoints(context.Background(), request)
  344. if err != nil {
  345. t.Fatal(err)
  346. }
  347. if want, got := request, mockDebugger2.reqs[0]; !proto.Equal(want, got) {
  348. t.Errorf("wrong request %q, want %q", got, want)
  349. }
  350. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  351. t.Errorf("wrong response %q, want %q)", got, want)
  352. }
  353. }
  354. func TestDebugger2ListBreakpointsError(t *testing.T) {
  355. errCode := codes.PermissionDenied
  356. mockDebugger2.err = gstatus.Error(errCode, "test error")
  357. var debuggeeId string = "debuggeeId-997255898"
  358. var clientVersion string = "clientVersion-1506231196"
  359. var request = &clouddebuggerpb.ListBreakpointsRequest{
  360. DebuggeeId: debuggeeId,
  361. ClientVersion: clientVersion,
  362. }
  363. c, err := NewDebugger2Client(context.Background(), clientOpt)
  364. if err != nil {
  365. t.Fatal(err)
  366. }
  367. resp, err := c.ListBreakpoints(context.Background(), request)
  368. if st, ok := gstatus.FromError(err); !ok {
  369. t.Errorf("got error %v, expected grpc error", err)
  370. } else if c := st.Code(); c != errCode {
  371. t.Errorf("got error code %q, want %q", c, errCode)
  372. }
  373. _ = resp
  374. }
  375. func TestDebugger2ListDebuggees(t *testing.T) {
  376. var expectedResponse *clouddebuggerpb.ListDebuggeesResponse = &clouddebuggerpb.ListDebuggeesResponse{}
  377. mockDebugger2.err = nil
  378. mockDebugger2.reqs = nil
  379. mockDebugger2.resps = append(mockDebugger2.resps[:0], expectedResponse)
  380. var project string = "project-309310695"
  381. var clientVersion string = "clientVersion-1506231196"
  382. var request = &clouddebuggerpb.ListDebuggeesRequest{
  383. Project: project,
  384. ClientVersion: clientVersion,
  385. }
  386. c, err := NewDebugger2Client(context.Background(), clientOpt)
  387. if err != nil {
  388. t.Fatal(err)
  389. }
  390. resp, err := c.ListDebuggees(context.Background(), request)
  391. if err != nil {
  392. t.Fatal(err)
  393. }
  394. if want, got := request, mockDebugger2.reqs[0]; !proto.Equal(want, got) {
  395. t.Errorf("wrong request %q, want %q", got, want)
  396. }
  397. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  398. t.Errorf("wrong response %q, want %q)", got, want)
  399. }
  400. }
  401. func TestDebugger2ListDebuggeesError(t *testing.T) {
  402. errCode := codes.PermissionDenied
  403. mockDebugger2.err = gstatus.Error(errCode, "test error")
  404. var project string = "project-309310695"
  405. var clientVersion string = "clientVersion-1506231196"
  406. var request = &clouddebuggerpb.ListDebuggeesRequest{
  407. Project: project,
  408. ClientVersion: clientVersion,
  409. }
  410. c, err := NewDebugger2Client(context.Background(), clientOpt)
  411. if err != nil {
  412. t.Fatal(err)
  413. }
  414. resp, err := c.ListDebuggees(context.Background(), request)
  415. if st, ok := gstatus.FromError(err); !ok {
  416. t.Errorf("got error %v, expected grpc error", err)
  417. } else if c := st.Code(); c != errCode {
  418. t.Errorf("got error code %q, want %q", c, errCode)
  419. }
  420. _ = resp
  421. }
  422. func TestController2RegisterDebuggee(t *testing.T) {
  423. var expectedResponse *clouddebuggerpb.RegisterDebuggeeResponse = &clouddebuggerpb.RegisterDebuggeeResponse{}
  424. mockController2.err = nil
  425. mockController2.reqs = nil
  426. mockController2.resps = append(mockController2.resps[:0], expectedResponse)
  427. var debuggee *clouddebuggerpb.Debuggee = &clouddebuggerpb.Debuggee{}
  428. var request = &clouddebuggerpb.RegisterDebuggeeRequest{
  429. Debuggee: debuggee,
  430. }
  431. c, err := NewController2Client(context.Background(), clientOpt)
  432. if err != nil {
  433. t.Fatal(err)
  434. }
  435. resp, err := c.RegisterDebuggee(context.Background(), request)
  436. if err != nil {
  437. t.Fatal(err)
  438. }
  439. if want, got := request, mockController2.reqs[0]; !proto.Equal(want, got) {
  440. t.Errorf("wrong request %q, want %q", got, want)
  441. }
  442. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  443. t.Errorf("wrong response %q, want %q)", got, want)
  444. }
  445. }
  446. func TestController2RegisterDebuggeeError(t *testing.T) {
  447. errCode := codes.PermissionDenied
  448. mockController2.err = gstatus.Error(errCode, "test error")
  449. var debuggee *clouddebuggerpb.Debuggee = &clouddebuggerpb.Debuggee{}
  450. var request = &clouddebuggerpb.RegisterDebuggeeRequest{
  451. Debuggee: debuggee,
  452. }
  453. c, err := NewController2Client(context.Background(), clientOpt)
  454. if err != nil {
  455. t.Fatal(err)
  456. }
  457. resp, err := c.RegisterDebuggee(context.Background(), request)
  458. if st, ok := gstatus.FromError(err); !ok {
  459. t.Errorf("got error %v, expected grpc error", err)
  460. } else if c := st.Code(); c != errCode {
  461. t.Errorf("got error code %q, want %q", c, errCode)
  462. }
  463. _ = resp
  464. }
  465. func TestController2ListActiveBreakpoints(t *testing.T) {
  466. var nextWaitToken string = "nextWaitToken1006864251"
  467. var waitExpired bool = false
  468. var expectedResponse = &clouddebuggerpb.ListActiveBreakpointsResponse{
  469. NextWaitToken: nextWaitToken,
  470. WaitExpired: waitExpired,
  471. }
  472. mockController2.err = nil
  473. mockController2.reqs = nil
  474. mockController2.resps = append(mockController2.resps[:0], expectedResponse)
  475. var debuggeeId string = "debuggeeId-997255898"
  476. var request = &clouddebuggerpb.ListActiveBreakpointsRequest{
  477. DebuggeeId: debuggeeId,
  478. }
  479. c, err := NewController2Client(context.Background(), clientOpt)
  480. if err != nil {
  481. t.Fatal(err)
  482. }
  483. resp, err := c.ListActiveBreakpoints(context.Background(), request)
  484. if err != nil {
  485. t.Fatal(err)
  486. }
  487. if want, got := request, mockController2.reqs[0]; !proto.Equal(want, got) {
  488. t.Errorf("wrong request %q, want %q", got, want)
  489. }
  490. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  491. t.Errorf("wrong response %q, want %q)", got, want)
  492. }
  493. }
  494. func TestController2ListActiveBreakpointsError(t *testing.T) {
  495. errCode := codes.PermissionDenied
  496. mockController2.err = gstatus.Error(errCode, "test error")
  497. var debuggeeId string = "debuggeeId-997255898"
  498. var request = &clouddebuggerpb.ListActiveBreakpointsRequest{
  499. DebuggeeId: debuggeeId,
  500. }
  501. c, err := NewController2Client(context.Background(), clientOpt)
  502. if err != nil {
  503. t.Fatal(err)
  504. }
  505. resp, err := c.ListActiveBreakpoints(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 TestController2UpdateActiveBreakpoint(t *testing.T) {
  514. var expectedResponse *clouddebuggerpb.UpdateActiveBreakpointResponse = &clouddebuggerpb.UpdateActiveBreakpointResponse{}
  515. mockController2.err = nil
  516. mockController2.reqs = nil
  517. mockController2.resps = append(mockController2.resps[:0], expectedResponse)
  518. var debuggeeId string = "debuggeeId-997255898"
  519. var breakpoint *clouddebuggerpb.Breakpoint = &clouddebuggerpb.Breakpoint{}
  520. var request = &clouddebuggerpb.UpdateActiveBreakpointRequest{
  521. DebuggeeId: debuggeeId,
  522. Breakpoint: breakpoint,
  523. }
  524. c, err := NewController2Client(context.Background(), clientOpt)
  525. if err != nil {
  526. t.Fatal(err)
  527. }
  528. resp, err := c.UpdateActiveBreakpoint(context.Background(), request)
  529. if err != nil {
  530. t.Fatal(err)
  531. }
  532. if want, got := request, mockController2.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 TestController2UpdateActiveBreakpointError(t *testing.T) {
  540. errCode := codes.PermissionDenied
  541. mockController2.err = gstatus.Error(errCode, "test error")
  542. var debuggeeId string = "debuggeeId-997255898"
  543. var breakpoint *clouddebuggerpb.Breakpoint = &clouddebuggerpb.Breakpoint{}
  544. var request = &clouddebuggerpb.UpdateActiveBreakpointRequest{
  545. DebuggeeId: debuggeeId,
  546. Breakpoint: breakpoint,
  547. }
  548. c, err := NewController2Client(context.Background(), clientOpt)
  549. if err != nil {
  550. t.Fatal(err)
  551. }
  552. resp, err := c.UpdateActiveBreakpoint(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. }