### Question:
SchemaUtils { public static String getGcsFileAsString(String filePath) { MatchResult result; try { result = FileSystems.match(filePath); checkArgument( result.status() == MatchResult.Status.OK && !result.metadata().isEmpty(), "Failed to match any files with the pattern: " + filePath); List<ResourceId> rId = result.metadata().stream() .map(MatchResult.Metadata::resourceId) .collect(Collectors.toList()); checkArgument(rId.size() == 1, "Expected exactly 1 file, but got " + rId.size() + " files."); Reader reader = Channels.newReader(FileSystems.open(rId.get(0)), StandardCharsets.UTF_8.name()); return CharStreams.toString(reader); } catch (IOException ioe) { LOG.error("File system i/o error: " + ioe.getMessage()); throw new RuntimeException(ioe); } }  static String getGcsFileAsString(String filePath); static Schema getAvroSchema(String schemaLocation); static final String DEADLETTER_SCHEMA; }### Answer:
@Test public void testGetGcsFileAsString() { String expectedContent = "{\n" + " \"type\" : \"record\",\n" + " \"name\" : \"test_file\",\n" + " \"namespace\" : \"com.test\",\n" + " \"fields\" : [\n" + " {\n" + " \"name\": \"id\",\n" + " \"type\": \"string\"\n" + " },\n" + " {\n" + " \"name\": \"price\",\n" + " \"type\": \"double\"\n" + " }\n" + " ]\n" + "}\n"; String actualContent = SchemaUtils.getGcsFileAsString(AVRO_SCHEMA_FILE_PATH); assertEquals(expectedContent, actualContent); }