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.talent.v4; 18 19 import com.google.api.core.BetaApi; 20 import com.google.cloud.talent.v4.JobServiceGrpc.JobServiceImplBase; 21 import com.google.longrunning.Operation; 22 import com.google.protobuf.AbstractMessage; 23 import com.google.protobuf.Empty; 24 import io.grpc.stub.StreamObserver; 25 import java.util.ArrayList; 26 import java.util.LinkedList; 27 import java.util.List; 28 import java.util.Queue; 29 import javax.annotation.Generated; 30 31 @BetaApi 32 @Generated("by gapic-generator-java") 33 public class MockJobServiceImpl extends JobServiceImplBase { 34 private List<AbstractMessage> requests; 35 private Queue<Object> responses; 36 MockJobServiceImpl()37 public MockJobServiceImpl() { 38 requests = new ArrayList<>(); 39 responses = new LinkedList<>(); 40 } 41 getRequests()42 public List<AbstractMessage> getRequests() { 43 return requests; 44 } 45 addResponse(AbstractMessage response)46 public void addResponse(AbstractMessage response) { 47 responses.add(response); 48 } 49 setResponses(List<AbstractMessage> responses)50 public void setResponses(List<AbstractMessage> responses) { 51 this.responses = new LinkedList<Object>(responses); 52 } 53 addException(Exception exception)54 public void addException(Exception exception) { 55 responses.add(exception); 56 } 57 reset()58 public void reset() { 59 requests = new ArrayList<>(); 60 responses = new LinkedList<>(); 61 } 62 63 @Override createJob(CreateJobRequest request, StreamObserver<Job> responseObserver)64 public void createJob(CreateJobRequest request, StreamObserver<Job> responseObserver) { 65 Object response = responses.poll(); 66 if (response instanceof Job) { 67 requests.add(request); 68 responseObserver.onNext(((Job) response)); 69 responseObserver.onCompleted(); 70 } else if (response instanceof Exception) { 71 responseObserver.onError(((Exception) response)); 72 } else { 73 responseObserver.onError( 74 new IllegalArgumentException( 75 String.format( 76 "Unrecognized response type %s for method CreateJob, expected %s or %s", 77 response == null ? "null" : response.getClass().getName(), 78 Job.class.getName(), 79 Exception.class.getName()))); 80 } 81 } 82 83 @Override batchCreateJobs( BatchCreateJobsRequest request, StreamObserver<Operation> responseObserver)84 public void batchCreateJobs( 85 BatchCreateJobsRequest request, StreamObserver<Operation> responseObserver) { 86 Object response = responses.poll(); 87 if (response instanceof Operation) { 88 requests.add(request); 89 responseObserver.onNext(((Operation) response)); 90 responseObserver.onCompleted(); 91 } else if (response instanceof Exception) { 92 responseObserver.onError(((Exception) response)); 93 } else { 94 responseObserver.onError( 95 new IllegalArgumentException( 96 String.format( 97 "Unrecognized response type %s for method BatchCreateJobs, expected %s or %s", 98 response == null ? "null" : response.getClass().getName(), 99 Operation.class.getName(), 100 Exception.class.getName()))); 101 } 102 } 103 104 @Override getJob(GetJobRequest request, StreamObserver<Job> responseObserver)105 public void getJob(GetJobRequest request, StreamObserver<Job> responseObserver) { 106 Object response = responses.poll(); 107 if (response instanceof Job) { 108 requests.add(request); 109 responseObserver.onNext(((Job) response)); 110 responseObserver.onCompleted(); 111 } else if (response instanceof Exception) { 112 responseObserver.onError(((Exception) response)); 113 } else { 114 responseObserver.onError( 115 new IllegalArgumentException( 116 String.format( 117 "Unrecognized response type %s for method GetJob, expected %s or %s", 118 response == null ? "null" : response.getClass().getName(), 119 Job.class.getName(), 120 Exception.class.getName()))); 121 } 122 } 123 124 @Override updateJob(UpdateJobRequest request, StreamObserver<Job> responseObserver)125 public void updateJob(UpdateJobRequest request, StreamObserver<Job> responseObserver) { 126 Object response = responses.poll(); 127 if (response instanceof Job) { 128 requests.add(request); 129 responseObserver.onNext(((Job) response)); 130 responseObserver.onCompleted(); 131 } else if (response instanceof Exception) { 132 responseObserver.onError(((Exception) response)); 133 } else { 134 responseObserver.onError( 135 new IllegalArgumentException( 136 String.format( 137 "Unrecognized response type %s for method UpdateJob, expected %s or %s", 138 response == null ? "null" : response.getClass().getName(), 139 Job.class.getName(), 140 Exception.class.getName()))); 141 } 142 } 143 144 @Override batchUpdateJobs( BatchUpdateJobsRequest request, StreamObserver<Operation> responseObserver)145 public void batchUpdateJobs( 146 BatchUpdateJobsRequest request, StreamObserver<Operation> responseObserver) { 147 Object response = responses.poll(); 148 if (response instanceof Operation) { 149 requests.add(request); 150 responseObserver.onNext(((Operation) response)); 151 responseObserver.onCompleted(); 152 } else if (response instanceof Exception) { 153 responseObserver.onError(((Exception) response)); 154 } else { 155 responseObserver.onError( 156 new IllegalArgumentException( 157 String.format( 158 "Unrecognized response type %s for method BatchUpdateJobs, expected %s or %s", 159 response == null ? "null" : response.getClass().getName(), 160 Operation.class.getName(), 161 Exception.class.getName()))); 162 } 163 } 164 165 @Override deleteJob(DeleteJobRequest request, StreamObserver<Empty> responseObserver)166 public void deleteJob(DeleteJobRequest request, StreamObserver<Empty> responseObserver) { 167 Object response = responses.poll(); 168 if (response instanceof Empty) { 169 requests.add(request); 170 responseObserver.onNext(((Empty) response)); 171 responseObserver.onCompleted(); 172 } else if (response instanceof Exception) { 173 responseObserver.onError(((Exception) response)); 174 } else { 175 responseObserver.onError( 176 new IllegalArgumentException( 177 String.format( 178 "Unrecognized response type %s for method DeleteJob, expected %s or %s", 179 response == null ? "null" : response.getClass().getName(), 180 Empty.class.getName(), 181 Exception.class.getName()))); 182 } 183 } 184 185 @Override batchDeleteJobs( BatchDeleteJobsRequest request, StreamObserver<Operation> responseObserver)186 public void batchDeleteJobs( 187 BatchDeleteJobsRequest request, StreamObserver<Operation> responseObserver) { 188 Object response = responses.poll(); 189 if (response instanceof Operation) { 190 requests.add(request); 191 responseObserver.onNext(((Operation) response)); 192 responseObserver.onCompleted(); 193 } else if (response instanceof Exception) { 194 responseObserver.onError(((Exception) response)); 195 } else { 196 responseObserver.onError( 197 new IllegalArgumentException( 198 String.format( 199 "Unrecognized response type %s for method BatchDeleteJobs, expected %s or %s", 200 response == null ? "null" : response.getClass().getName(), 201 Operation.class.getName(), 202 Exception.class.getName()))); 203 } 204 } 205 206 @Override listJobs(ListJobsRequest request, StreamObserver<ListJobsResponse> responseObserver)207 public void listJobs(ListJobsRequest request, StreamObserver<ListJobsResponse> responseObserver) { 208 Object response = responses.poll(); 209 if (response instanceof ListJobsResponse) { 210 requests.add(request); 211 responseObserver.onNext(((ListJobsResponse) response)); 212 responseObserver.onCompleted(); 213 } else if (response instanceof Exception) { 214 responseObserver.onError(((Exception) response)); 215 } else { 216 responseObserver.onError( 217 new IllegalArgumentException( 218 String.format( 219 "Unrecognized response type %s for method ListJobs, expected %s or %s", 220 response == null ? "null" : response.getClass().getName(), 221 ListJobsResponse.class.getName(), 222 Exception.class.getName()))); 223 } 224 } 225 226 @Override searchJobs( SearchJobsRequest request, StreamObserver<SearchJobsResponse> responseObserver)227 public void searchJobs( 228 SearchJobsRequest request, StreamObserver<SearchJobsResponse> responseObserver) { 229 Object response = responses.poll(); 230 if (response instanceof SearchJobsResponse) { 231 requests.add(request); 232 responseObserver.onNext(((SearchJobsResponse) response)); 233 responseObserver.onCompleted(); 234 } else if (response instanceof Exception) { 235 responseObserver.onError(((Exception) response)); 236 } else { 237 responseObserver.onError( 238 new IllegalArgumentException( 239 String.format( 240 "Unrecognized response type %s for method SearchJobs, expected %s or %s", 241 response == null ? "null" : response.getClass().getName(), 242 SearchJobsResponse.class.getName(), 243 Exception.class.getName()))); 244 } 245 } 246 247 @Override searchJobsForAlert( SearchJobsRequest request, StreamObserver<SearchJobsResponse> responseObserver)248 public void searchJobsForAlert( 249 SearchJobsRequest request, StreamObserver<SearchJobsResponse> responseObserver) { 250 Object response = responses.poll(); 251 if (response instanceof SearchJobsResponse) { 252 requests.add(request); 253 responseObserver.onNext(((SearchJobsResponse) response)); 254 responseObserver.onCompleted(); 255 } else if (response instanceof Exception) { 256 responseObserver.onError(((Exception) response)); 257 } else { 258 responseObserver.onError( 259 new IllegalArgumentException( 260 String.format( 261 "Unrecognized response type %s for method SearchJobsForAlert, expected %s or %s", 262 response == null ? "null" : response.getClass().getName(), 263 SearchJobsResponse.class.getName(), 264 Exception.class.getName()))); 265 } 266 } 267 } 268