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.area120.tables.v1alpha; 18 19 import com.google.api.core.BetaApi; 20 import com.google.area120.tables.v1alpha1.BatchCreateRowsRequest; 21 import com.google.area120.tables.v1alpha1.BatchCreateRowsResponse; 22 import com.google.area120.tables.v1alpha1.BatchDeleteRowsRequest; 23 import com.google.area120.tables.v1alpha1.BatchUpdateRowsRequest; 24 import com.google.area120.tables.v1alpha1.BatchUpdateRowsResponse; 25 import com.google.area120.tables.v1alpha1.CreateRowRequest; 26 import com.google.area120.tables.v1alpha1.DeleteRowRequest; 27 import com.google.area120.tables.v1alpha1.GetRowRequest; 28 import com.google.area120.tables.v1alpha1.GetTableRequest; 29 import com.google.area120.tables.v1alpha1.GetWorkspaceRequest; 30 import com.google.area120.tables.v1alpha1.ListRowsRequest; 31 import com.google.area120.tables.v1alpha1.ListRowsResponse; 32 import com.google.area120.tables.v1alpha1.ListTablesRequest; 33 import com.google.area120.tables.v1alpha1.ListTablesResponse; 34 import com.google.area120.tables.v1alpha1.ListWorkspacesRequest; 35 import com.google.area120.tables.v1alpha1.ListWorkspacesResponse; 36 import com.google.area120.tables.v1alpha1.Row; 37 import com.google.area120.tables.v1alpha1.Table; 38 import com.google.area120.tables.v1alpha1.TablesServiceGrpc.TablesServiceImplBase; 39 import com.google.area120.tables.v1alpha1.UpdateRowRequest; 40 import com.google.area120.tables.v1alpha1.Workspace; 41 import com.google.protobuf.AbstractMessage; 42 import com.google.protobuf.Empty; 43 import io.grpc.stub.StreamObserver; 44 import java.util.ArrayList; 45 import java.util.LinkedList; 46 import java.util.List; 47 import java.util.Queue; 48 import javax.annotation.Generated; 49 50 @BetaApi 51 @Generated("by gapic-generator-java") 52 public class MockTablesServiceImpl extends TablesServiceImplBase { 53 private List<AbstractMessage> requests; 54 private Queue<Object> responses; 55 MockTablesServiceImpl()56 public MockTablesServiceImpl() { 57 requests = new ArrayList<>(); 58 responses = new LinkedList<>(); 59 } 60 getRequests()61 public List<AbstractMessage> getRequests() { 62 return requests; 63 } 64 addResponse(AbstractMessage response)65 public void addResponse(AbstractMessage response) { 66 responses.add(response); 67 } 68 setResponses(List<AbstractMessage> responses)69 public void setResponses(List<AbstractMessage> responses) { 70 this.responses = new LinkedList<Object>(responses); 71 } 72 addException(Exception exception)73 public void addException(Exception exception) { 74 responses.add(exception); 75 } 76 reset()77 public void reset() { 78 requests = new ArrayList<>(); 79 responses = new LinkedList<>(); 80 } 81 82 @Override getTable(GetTableRequest request, StreamObserver<Table> responseObserver)83 public void getTable(GetTableRequest request, StreamObserver<Table> responseObserver) { 84 Object response = responses.poll(); 85 if (response instanceof Table) { 86 requests.add(request); 87 responseObserver.onNext(((Table) response)); 88 responseObserver.onCompleted(); 89 } else if (response instanceof Exception) { 90 responseObserver.onError(((Exception) response)); 91 } else { 92 responseObserver.onError( 93 new IllegalArgumentException( 94 String.format( 95 "Unrecognized response type %s for method GetTable, expected %s or %s", 96 response == null ? "null" : response.getClass().getName(), 97 Table.class.getName(), 98 Exception.class.getName()))); 99 } 100 } 101 102 @Override listTables( ListTablesRequest request, StreamObserver<ListTablesResponse> responseObserver)103 public void listTables( 104 ListTablesRequest request, StreamObserver<ListTablesResponse> responseObserver) { 105 Object response = responses.poll(); 106 if (response instanceof ListTablesResponse) { 107 requests.add(request); 108 responseObserver.onNext(((ListTablesResponse) response)); 109 responseObserver.onCompleted(); 110 } else if (response instanceof Exception) { 111 responseObserver.onError(((Exception) response)); 112 } else { 113 responseObserver.onError( 114 new IllegalArgumentException( 115 String.format( 116 "Unrecognized response type %s for method ListTables, expected %s or %s", 117 response == null ? "null" : response.getClass().getName(), 118 ListTablesResponse.class.getName(), 119 Exception.class.getName()))); 120 } 121 } 122 123 @Override getWorkspace( GetWorkspaceRequest request, StreamObserver<Workspace> responseObserver)124 public void getWorkspace( 125 GetWorkspaceRequest request, StreamObserver<Workspace> responseObserver) { 126 Object response = responses.poll(); 127 if (response instanceof Workspace) { 128 requests.add(request); 129 responseObserver.onNext(((Workspace) 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 GetWorkspace, expected %s or %s", 138 response == null ? "null" : response.getClass().getName(), 139 Workspace.class.getName(), 140 Exception.class.getName()))); 141 } 142 } 143 144 @Override listWorkspaces( ListWorkspacesRequest request, StreamObserver<ListWorkspacesResponse> responseObserver)145 public void listWorkspaces( 146 ListWorkspacesRequest request, StreamObserver<ListWorkspacesResponse> responseObserver) { 147 Object response = responses.poll(); 148 if (response instanceof ListWorkspacesResponse) { 149 requests.add(request); 150 responseObserver.onNext(((ListWorkspacesResponse) 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 ListWorkspaces, expected %s or %s", 159 response == null ? "null" : response.getClass().getName(), 160 ListWorkspacesResponse.class.getName(), 161 Exception.class.getName()))); 162 } 163 } 164 165 @Override getRow(GetRowRequest request, StreamObserver<Row> responseObserver)166 public void getRow(GetRowRequest request, StreamObserver<Row> responseObserver) { 167 Object response = responses.poll(); 168 if (response instanceof Row) { 169 requests.add(request); 170 responseObserver.onNext(((Row) 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 GetRow, expected %s or %s", 179 response == null ? "null" : response.getClass().getName(), 180 Row.class.getName(), 181 Exception.class.getName()))); 182 } 183 } 184 185 @Override listRows(ListRowsRequest request, StreamObserver<ListRowsResponse> responseObserver)186 public void listRows(ListRowsRequest request, StreamObserver<ListRowsResponse> responseObserver) { 187 Object response = responses.poll(); 188 if (response instanceof ListRowsResponse) { 189 requests.add(request); 190 responseObserver.onNext(((ListRowsResponse) response)); 191 responseObserver.onCompleted(); 192 } else if (response instanceof Exception) { 193 responseObserver.onError(((Exception) response)); 194 } else { 195 responseObserver.onError( 196 new IllegalArgumentException( 197 String.format( 198 "Unrecognized response type %s for method ListRows, expected %s or %s", 199 response == null ? "null" : response.getClass().getName(), 200 ListRowsResponse.class.getName(), 201 Exception.class.getName()))); 202 } 203 } 204 205 @Override createRow(CreateRowRequest request, StreamObserver<Row> responseObserver)206 public void createRow(CreateRowRequest request, StreamObserver<Row> responseObserver) { 207 Object response = responses.poll(); 208 if (response instanceof Row) { 209 requests.add(request); 210 responseObserver.onNext(((Row) response)); 211 responseObserver.onCompleted(); 212 } else if (response instanceof Exception) { 213 responseObserver.onError(((Exception) response)); 214 } else { 215 responseObserver.onError( 216 new IllegalArgumentException( 217 String.format( 218 "Unrecognized response type %s for method CreateRow, expected %s or %s", 219 response == null ? "null" : response.getClass().getName(), 220 Row.class.getName(), 221 Exception.class.getName()))); 222 } 223 } 224 225 @Override batchCreateRows( BatchCreateRowsRequest request, StreamObserver<BatchCreateRowsResponse> responseObserver)226 public void batchCreateRows( 227 BatchCreateRowsRequest request, StreamObserver<BatchCreateRowsResponse> responseObserver) { 228 Object response = responses.poll(); 229 if (response instanceof BatchCreateRowsResponse) { 230 requests.add(request); 231 responseObserver.onNext(((BatchCreateRowsResponse) response)); 232 responseObserver.onCompleted(); 233 } else if (response instanceof Exception) { 234 responseObserver.onError(((Exception) response)); 235 } else { 236 responseObserver.onError( 237 new IllegalArgumentException( 238 String.format( 239 "Unrecognized response type %s for method BatchCreateRows, expected %s or %s", 240 response == null ? "null" : response.getClass().getName(), 241 BatchCreateRowsResponse.class.getName(), 242 Exception.class.getName()))); 243 } 244 } 245 246 @Override updateRow(UpdateRowRequest request, StreamObserver<Row> responseObserver)247 public void updateRow(UpdateRowRequest request, StreamObserver<Row> responseObserver) { 248 Object response = responses.poll(); 249 if (response instanceof Row) { 250 requests.add(request); 251 responseObserver.onNext(((Row) response)); 252 responseObserver.onCompleted(); 253 } else if (response instanceof Exception) { 254 responseObserver.onError(((Exception) response)); 255 } else { 256 responseObserver.onError( 257 new IllegalArgumentException( 258 String.format( 259 "Unrecognized response type %s for method UpdateRow, expected %s or %s", 260 response == null ? "null" : response.getClass().getName(), 261 Row.class.getName(), 262 Exception.class.getName()))); 263 } 264 } 265 266 @Override batchUpdateRows( BatchUpdateRowsRequest request, StreamObserver<BatchUpdateRowsResponse> responseObserver)267 public void batchUpdateRows( 268 BatchUpdateRowsRequest request, StreamObserver<BatchUpdateRowsResponse> responseObserver) { 269 Object response = responses.poll(); 270 if (response instanceof BatchUpdateRowsResponse) { 271 requests.add(request); 272 responseObserver.onNext(((BatchUpdateRowsResponse) response)); 273 responseObserver.onCompleted(); 274 } else if (response instanceof Exception) { 275 responseObserver.onError(((Exception) response)); 276 } else { 277 responseObserver.onError( 278 new IllegalArgumentException( 279 String.format( 280 "Unrecognized response type %s for method BatchUpdateRows, expected %s or %s", 281 response == null ? "null" : response.getClass().getName(), 282 BatchUpdateRowsResponse.class.getName(), 283 Exception.class.getName()))); 284 } 285 } 286 287 @Override deleteRow(DeleteRowRequest request, StreamObserver<Empty> responseObserver)288 public void deleteRow(DeleteRowRequest request, StreamObserver<Empty> responseObserver) { 289 Object response = responses.poll(); 290 if (response instanceof Empty) { 291 requests.add(request); 292 responseObserver.onNext(((Empty) response)); 293 responseObserver.onCompleted(); 294 } else if (response instanceof Exception) { 295 responseObserver.onError(((Exception) response)); 296 } else { 297 responseObserver.onError( 298 new IllegalArgumentException( 299 String.format( 300 "Unrecognized response type %s for method DeleteRow, expected %s or %s", 301 response == null ? "null" : response.getClass().getName(), 302 Empty.class.getName(), 303 Exception.class.getName()))); 304 } 305 } 306 307 @Override batchDeleteRows( BatchDeleteRowsRequest request, StreamObserver<Empty> responseObserver)308 public void batchDeleteRows( 309 BatchDeleteRowsRequest request, StreamObserver<Empty> responseObserver) { 310 Object response = responses.poll(); 311 if (response instanceof Empty) { 312 requests.add(request); 313 responseObserver.onNext(((Empty) response)); 314 responseObserver.onCompleted(); 315 } else if (response instanceof Exception) { 316 responseObserver.onError(((Exception) response)); 317 } else { 318 responseObserver.onError( 319 new IllegalArgumentException( 320 String.format( 321 "Unrecognized response type %s for method BatchDeleteRows, expected %s or %s", 322 response == null ? "null" : response.getClass().getName(), 323 Empty.class.getName(), 324 Exception.class.getName()))); 325 } 326 } 327 } 328