Сервис облачных хранилищ Google Junit for Files - PullRequest
1 голос
/ 17 марта 2020

Я пытаюсь читать файлы из GCS. Следующий метод, который я создал. Я использую этот метод в некотором слое обслуживания. Поскольку некоторые вызовы в этом методе являются stati c и окончательными, из-за этого мои модульные тесты не выполняются.

Ниже приведен код для хранилища GCS:

private Map<String, List<fclass>> getBulkFiles() throws IOException {
    Map<String, List<fclass>> mapOfFiles = new HashMap<>();
    List<fclass> validRecords = new ArrayList<>();
    List<fclass> invalidRecords= new ArrayList<>();
    // Get storage options in GCS for the project provided
    StorageOptions options = StorageOptions.newBuilder().setProjectId(gcsConfig.getProjectId())
                                   .setCredentials(gcsConfig.getCredentials()).build();
    // Loop through the cloud storage and store the file details
    try (FileSystem fs = CloudStorageFileSystem.forBucket(gcsConfig.getBucketName(), CloudStorageConfiguration.DEFAULT, options)) {
        try (DirectoryStream<Path> ds = Files.newDirectoryStream(fs.getPath(gcsConfig.getFeedFilePath()))) {
            for (Path path : ds) {
                prepareValidInvalidAsset(path, validRecords, invalidRecords);
            }
        }
    }
    mapOfFiles.put("VALID_RECORDS", validRecords);
    mapOfFiles.put("INVALID_RECORDS", invalidRecords);
    return mapOfFiles;
}

Я пытаюсь написать тесты Junit для того же. Но Files.class является окончательным, и для Files.newDirectoryStream(fs.getPath(gcsConfig.getFeedFilePath())) я получаю исключение для нулевого указателя.

Жду от вас ответа в ближайшее время.

...