ArtifactRetrievalService extends ArtifactRetrievalServiceGrpc.ArtifactRetrievalServiceImplBase implements FnService { @Override public void resolveArtifacts( ArtifactApi.ResolveArtifactsRequest request, StreamObserver<ArtifactApi.ResolveArtifactsResponse> responseObserver) { responseObserver.onNext( ArtifactApi.ResolveArtifactsResponse.newBuilder() .addAllReplacements(resolver.resolveArtifacts(request.getArtifactsList())) .build()); responseObserver.onCompleted(); } ArtifactRetrievalService();  ArtifactRetrievalService(ArtifactResolver resolver);  ArtifactRetrievalService(int bufferSize);  ArtifactRetrievalService(ArtifactResolver resolver, int bufferSize); @Override void resolveArtifacts(
      ArtifactApi.ResolveArtifactsRequest request,
      StreamObserver<ArtifactApi.ResolveArtifactsResponse> responseObserver); @Override void getArtifact(
      ArtifactApi.GetArtifactRequest request,
      StreamObserver<ArtifactApi.GetArtifactResponse> responseObserver); static InputStream getArtifact(RunnerApi.ArtifactInformation artifact); @Override void close(); static final int DEFAULT_BUFFER_SIZE; static final String FILE_ARTIFACT_URN; static final String URL_ARTIFACT_URN; static final String EMBEDDED_ARTIFACT_URN; static final String STAGING_TO_ARTIFACT_URN; }
@Test public void testResolveArtifacts() throws IOException { RunnerApi.ArtifactInformation artifact = fileArtifact(Paths.get("somePath")); ArtifactApi.ResolveArtifactsResponse resolved = retrievalBlockingStub.resolveArtifacts( ArtifactApi.ResolveArtifactsRequest.newBuilder().addArtifacts(artifact).build()); assertEquals(1, resolved.getReplacementsCount()); assertEquals(artifact, resolved.getReplacements(0)); }