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.webrisk.v1; 18 19 import com.google.api.core.BetaApi; 20 import com.google.protobuf.AbstractMessage; 21 import com.google.webrisk.v1.ComputeThreatListDiffRequest; 22 import com.google.webrisk.v1.ComputeThreatListDiffResponse; 23 import com.google.webrisk.v1.CreateSubmissionRequest; 24 import com.google.webrisk.v1.SearchHashesRequest; 25 import com.google.webrisk.v1.SearchHashesResponse; 26 import com.google.webrisk.v1.SearchUrisRequest; 27 import com.google.webrisk.v1.SearchUrisResponse; 28 import com.google.webrisk.v1.Submission; 29 import com.google.webrisk.v1.WebRiskServiceGrpc.WebRiskServiceImplBase; 30 import io.grpc.stub.StreamObserver; 31 import java.util.ArrayList; 32 import java.util.LinkedList; 33 import java.util.List; 34 import java.util.Queue; 35 import javax.annotation.Generated; 36 37 @BetaApi 38 @Generated("by gapic-generator-java") 39 public class MockWebRiskServiceImpl extends WebRiskServiceImplBase { 40 private List<AbstractMessage> requests; 41 private Queue<Object> responses; 42 MockWebRiskServiceImpl()43 public MockWebRiskServiceImpl() { 44 requests = new ArrayList<>(); 45 responses = new LinkedList<>(); 46 } 47 getRequests()48 public List<AbstractMessage> getRequests() { 49 return requests; 50 } 51 addResponse(AbstractMessage response)52 public void addResponse(AbstractMessage response) { 53 responses.add(response); 54 } 55 setResponses(List<AbstractMessage> responses)56 public void setResponses(List<AbstractMessage> responses) { 57 this.responses = new LinkedList<Object>(responses); 58 } 59 addException(Exception exception)60 public void addException(Exception exception) { 61 responses.add(exception); 62 } 63 reset()64 public void reset() { 65 requests = new ArrayList<>(); 66 responses = new LinkedList<>(); 67 } 68 69 @Override computeThreatListDiff( ComputeThreatListDiffRequest request, StreamObserver<ComputeThreatListDiffResponse> responseObserver)70 public void computeThreatListDiff( 71 ComputeThreatListDiffRequest request, 72 StreamObserver<ComputeThreatListDiffResponse> responseObserver) { 73 Object response = responses.poll(); 74 if (response instanceof ComputeThreatListDiffResponse) { 75 requests.add(request); 76 responseObserver.onNext(((ComputeThreatListDiffResponse) response)); 77 responseObserver.onCompleted(); 78 } else if (response instanceof Exception) { 79 responseObserver.onError(((Exception) response)); 80 } else { 81 responseObserver.onError( 82 new IllegalArgumentException( 83 String.format( 84 "Unrecognized response type %s for method ComputeThreatListDiff, expected %s or %s", 85 response == null ? "null" : response.getClass().getName(), 86 ComputeThreatListDiffResponse.class.getName(), 87 Exception.class.getName()))); 88 } 89 } 90 91 @Override searchUris( SearchUrisRequest request, StreamObserver<SearchUrisResponse> responseObserver)92 public void searchUris( 93 SearchUrisRequest request, StreamObserver<SearchUrisResponse> responseObserver) { 94 Object response = responses.poll(); 95 if (response instanceof SearchUrisResponse) { 96 requests.add(request); 97 responseObserver.onNext(((SearchUrisResponse) response)); 98 responseObserver.onCompleted(); 99 } else if (response instanceof Exception) { 100 responseObserver.onError(((Exception) response)); 101 } else { 102 responseObserver.onError( 103 new IllegalArgumentException( 104 String.format( 105 "Unrecognized response type %s for method SearchUris, expected %s or %s", 106 response == null ? "null" : response.getClass().getName(), 107 SearchUrisResponse.class.getName(), 108 Exception.class.getName()))); 109 } 110 } 111 112 @Override searchHashes( SearchHashesRequest request, StreamObserver<SearchHashesResponse> responseObserver)113 public void searchHashes( 114 SearchHashesRequest request, StreamObserver<SearchHashesResponse> responseObserver) { 115 Object response = responses.poll(); 116 if (response instanceof SearchHashesResponse) { 117 requests.add(request); 118 responseObserver.onNext(((SearchHashesResponse) response)); 119 responseObserver.onCompleted(); 120 } else if (response instanceof Exception) { 121 responseObserver.onError(((Exception) response)); 122 } else { 123 responseObserver.onError( 124 new IllegalArgumentException( 125 String.format( 126 "Unrecognized response type %s for method SearchHashes, expected %s or %s", 127 response == null ? "null" : response.getClass().getName(), 128 SearchHashesResponse.class.getName(), 129 Exception.class.getName()))); 130 } 131 } 132 133 @Override createSubmission( CreateSubmissionRequest request, StreamObserver<Submission> responseObserver)134 public void createSubmission( 135 CreateSubmissionRequest request, StreamObserver<Submission> responseObserver) { 136 Object response = responses.poll(); 137 if (response instanceof Submission) { 138 requests.add(request); 139 responseObserver.onNext(((Submission) response)); 140 responseObserver.onCompleted(); 141 } else if (response instanceof Exception) { 142 responseObserver.onError(((Exception) response)); 143 } else { 144 responseObserver.onError( 145 new IllegalArgumentException( 146 String.format( 147 "Unrecognized response type %s for method CreateSubmission, expected %s or %s", 148 response == null ? "null" : response.getClass().getName(), 149 Submission.class.getName(), 150 Exception.class.getName()))); 151 } 152 } 153 } 154