001package org.hl7.fhir.utilities.tests; 002 003import lombok.Getter; 004import org.hl7.fhir.utilities.ToolingClientLogger; 005 006import java.nio.charset.StandardCharsets; 007import java.util.List; 008 009public class CacheVerificationLogger implements ToolingClientLogger { 010 011 @Getter 012 int requests = 0; 013 014 @Override 015 public void logRequest(String method, String url, List<String> headers, byte[] body) { 016 if (!TestConfig.getInstance().isRebuildCache()) { 017 System.err.println("Unexpected request to server"); 018 System.err.println(method); 019 System.err.println(url); 020 if (headers != null) { 021 for (String header : headers) { 022 System.err.println("Header: " + header); 023 } 024 } 025 System.err.println("Body"); 026 System.err.println("----"); 027 System.err.println(new String(body, StandardCharsets.UTF_8)); 028 } 029 requests++; 030 } 031 032 @Override 033 public void logResponse(String outcome, List<String> headers, byte[] body) { 034 035 } 036 037 @Override 038 public String getLastId() { 039 return null; 040 } 041 042 @Override 043 public void clearLastId() { 044 045 } 046 047 048 049 public boolean verifyHasNoRequests() { 050 if (TestConfig.getInstance().isRebuildCache()) { 051 return true; 052 } else { 053 if (requests != 0) { 054 System.err.println(requests + " unexpected TX server requests logged. If a new test has been added, you may need to " + 055 "rebuild the TX Cache for the test using the 'mvn test -D" + TestConfig.FHIR_TXCACHE_REBUILD + "=true' option"); 056 return false; 057 } else { 058 return true; 059 } 060 } 061 } 062}