• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2022 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.google.cloud.trace.v1;
18 
19 import com.google.api.core.BetaApi;
20 import com.google.devtools.cloudtrace.v1.GetTraceRequest;
21 import com.google.devtools.cloudtrace.v1.ListTracesRequest;
22 import com.google.devtools.cloudtrace.v1.ListTracesResponse;
23 import com.google.devtools.cloudtrace.v1.PatchTracesRequest;
24 import com.google.devtools.cloudtrace.v1.Trace;
25 import com.google.devtools.cloudtrace.v1.TraceServiceGrpc.TraceServiceImplBase;
26 import com.google.protobuf.AbstractMessage;
27 import com.google.protobuf.Empty;
28 import io.grpc.stub.StreamObserver;
29 import java.util.ArrayList;
30 import java.util.LinkedList;
31 import java.util.List;
32 import java.util.Queue;
33 import javax.annotation.Generated;
34 
35 @BetaApi
36 @Generated("by gapic-generator-java")
37 public class MockTraceServiceImpl extends TraceServiceImplBase {
38   private List<AbstractMessage> requests;
39   private Queue<Object> responses;
40 
MockTraceServiceImpl()41   public MockTraceServiceImpl() {
42     requests = new ArrayList<>();
43     responses = new LinkedList<>();
44   }
45 
getRequests()46   public List<AbstractMessage> getRequests() {
47     return requests;
48   }
49 
addResponse(AbstractMessage response)50   public void addResponse(AbstractMessage response) {
51     responses.add(response);
52   }
53 
setResponses(List<AbstractMessage> responses)54   public void setResponses(List<AbstractMessage> responses) {
55     this.responses = new LinkedList<Object>(responses);
56   }
57 
addException(Exception exception)58   public void addException(Exception exception) {
59     responses.add(exception);
60   }
61 
reset()62   public void reset() {
63     requests = new ArrayList<>();
64     responses = new LinkedList<>();
65   }
66 
67   @Override
listTraces( ListTracesRequest request, StreamObserver<ListTracesResponse> responseObserver)68   public void listTraces(
69       ListTracesRequest request, StreamObserver<ListTracesResponse> responseObserver) {
70     Object response = responses.poll();
71     if (response instanceof ListTracesResponse) {
72       requests.add(request);
73       responseObserver.onNext(((ListTracesResponse) response));
74       responseObserver.onCompleted();
75     } else if (response instanceof Exception) {
76       responseObserver.onError(((Exception) response));
77     } else {
78       responseObserver.onError(
79           new IllegalArgumentException(
80               String.format(
81                   "Unrecognized response type %s for method ListTraces, expected %s or %s",
82                   response == null ? "null" : response.getClass().getName(),
83                   ListTracesResponse.class.getName(),
84                   Exception.class.getName())));
85     }
86   }
87 
88   @Override
getTrace(GetTraceRequest request, StreamObserver<Trace> responseObserver)89   public void getTrace(GetTraceRequest request, StreamObserver<Trace> responseObserver) {
90     Object response = responses.poll();
91     if (response instanceof Trace) {
92       requests.add(request);
93       responseObserver.onNext(((Trace) response));
94       responseObserver.onCompleted();
95     } else if (response instanceof Exception) {
96       responseObserver.onError(((Exception) response));
97     } else {
98       responseObserver.onError(
99           new IllegalArgumentException(
100               String.format(
101                   "Unrecognized response type %s for method GetTrace, expected %s or %s",
102                   response == null ? "null" : response.getClass().getName(),
103                   Trace.class.getName(),
104                   Exception.class.getName())));
105     }
106   }
107 
108   @Override
patchTraces(PatchTracesRequest request, StreamObserver<Empty> responseObserver)109   public void patchTraces(PatchTracesRequest request, StreamObserver<Empty> responseObserver) {
110     Object response = responses.poll();
111     if (response instanceof Empty) {
112       requests.add(request);
113       responseObserver.onNext(((Empty) response));
114       responseObserver.onCompleted();
115     } else if (response instanceof Exception) {
116       responseObserver.onError(((Exception) response));
117     } else {
118       responseObserver.onError(
119           new IllegalArgumentException(
120               String.format(
121                   "Unrecognized response type %s for method PatchTraces, expected %s or %s",
122                   response == null ? "null" : response.getClass().getName(),
123                   Empty.class.getName(),
124                   Exception.class.getName())));
125     }
126   }
127 }
128