import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
-import java.io.File;
import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.StandardCopyOption;
import java.time.Duration;
import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.io.FileUtils;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
-import org.springframework.boot.test.web.server.LocalServerPort;
import org.springframework.boot.test.context.TestConfiguration;
+import org.springframework.boot.test.web.server.LocalServerPort;
import org.springframework.context.annotation.Bean;
import org.springframework.test.context.TestPropertySource;
+import org.springframework.util.FileSystemUtils;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
@SpringBootTest(webEnvironment = WebEnvironment.DEFINED_PORT)
-@TestPropertySource(properties = { //
+@TestPropertySource(
+ properties = { //
"app.ssl.key-store-password-file=./config/ftps_keystore.pass", //
"app.ssl.key-store=./config/ftps_keystore.p12", //
"app.ssl.trust-store-password-file=./config/truststore.pass", //
"app.s3.accessKeyId=minio", //
"app.s3.secretAccessKey=miniostorage", //
"app.s3.bucket=ropfiles", //
- "app.s3.locksBucket=locks" })
+ "app.s3.locksBucket=locks"})
@SuppressWarnings("squid:S3577") // Not containing any tests since it is a mock.
class MockDatafile {
private static final String PM_FILE_NAME = "PM_FILE_NAME";
// This can be any downloadable file on the net
- private static final String FTPES_LOCATION = "ftpes:// onap:pano@ftp-ftpes-6:2021/A20000626.2315+0200-2330+0200_GNODEB-15-4.xml.gz";
- private static final String LOCATION = "https://launchpad.net/ubuntu/+source/perf-tools-unstable/1.0+git7ffb3fd-1ubuntu1/+build/13630748/+files/perf-tools-unstable_1.0+git7ffb3fd-1ubuntu1_all.deb";
+ private static final String FTPES_LOCATION =
+ "ftpes:// onap:pano@ftp-ftpes-6:2021/A20000626.2315+0200-2330+0200_GNODEB-15-4.xml.gz";
+ private static final String LOCATION =
+ "https://launchpad.net/ubuntu/+source/perf-tools-unstable/1.0+git7ffb3fd-1ubuntu1/+build/13630748/+files/perf-tools-unstable_1.0+git7ffb3fd-1ubuntu1_all.deb";
private static final String GZIP_COMPRESSION = "gzip";
private static final String FILE_FORMAT_TYPE = "org.3GPP.32.435#measCollec";
private static final String FILE_FORMAT_VERSION = "V10";
private static final Logger logger = LoggerFactory.getLogger(MockDatafile.class);
private static Gson gson = new GsonBuilder() //
- .disableHtmlEscaping() //
- .create(); //
+ .disableHtmlEscaping() //
+ .create(); //
@LocalServerPort
private int port;
// Create a listener to the output topic. The KafkaTopicListener happens to be
// suitable for that,
- KafkaTopicListener topicListener = new KafkaTopicListener(applicationConfig.getKafkaBootStrapServers(),
- "MockDatafile", outputTopic);
+ KafkaTopicListener topicListener =
+ new KafkaTopicListener(applicationConfig.getKafkaBootStrapServers(), "MockDatafile", outputTopic);
topicListener.getFlux() //
- .doOnNext(this::set) //
- .doFinally(sig -> logger.info("Finally " + sig)) //
- .subscribe();
+ .doOnNext(this::set) //
+ .doFinally(sig -> logger.info("Finally " + sig)) //
+ .subscribe();
}
private void set(DataFromTopic receivedKafkaOutput) {
FilePublishInformation i = fc.createFilePublishInformation(fileData);
try {
- File from = new File("config/application.yaml");
- File to = new File(this.appConfig.collectedFilesPath + "/" + fileData.name());
- FileUtils.forceMkdirParent(to);
- com.google.common.io.Files.copy(from, to);
+ Path from = Path.of("config/application.yaml");
+ Path to = Path.of(this.appConfig.collectedFilesPath, fileData.name());
+ Files.createDirectories(to.getParent());
+ Files.copy(from, to, StandardCopyOption.REPLACE_EXISTING);
} catch (Exception e) {
logger.error("Could not copy file {}", e.getMessage());
}
}
private void deleteAllFiles() {
-
try {
- FileUtils.deleteDirectory(new File(this.appConfig.collectedFilesPath));
+ FileSystemUtils.deleteRecursively(Path.of(this.appConfig.collectedFilesPath));
} catch (IOException e) {
}
}
Instant startTime = Instant.now();
Flux.range(1, NO_OF_OBJECTS) //
- .map(i -> gson.toJson(fileReadyMessage("testS3Concurrency_" + i))) //
- .flatMap(fileReadyMessage -> scheduledTask.sendDataToStream(appConfig.fileReadyEventTopic, "key",
- fileReadyMessage)) //
- .blockLast(); //
+ .map(i -> gson.toJson(fileReadyMessage("testS3Concurrency_" + i))) //
+ .flatMap(fileReadyMessage -> scheduledTask.sendDataToStream(appConfig.fileReadyEventTopic, "key",
+ fileReadyMessage)) //
+ .blockLast(); //
while (kafkaReceiver.count < NO_OF_OBJECTS) {
logger.info("sleeping {}", kafkaReceiver.count);
FileReadyMessage.Event event(String fileName) {
MessageMetaData messageMetaData = MessageMetaData.builder() //
- .lastEpochMicrosec(LAST_EPOCH_MICROSEC) //
- .sourceName(SOURCE_NAME) //
- .startEpochMicrosec(START_EPOCH_MICROSEC) //
- .timeZoneOffset(TIME_ZONE_OFFSET) //
- .changeIdentifier(CHANGE_IDENTIFIER) //
- .eventName("Noti_RnNode-Ericsson_FileReady").build();
+ .lastEpochMicrosec(LAST_EPOCH_MICROSEC) //
+ .sourceName(SOURCE_NAME) //
+ .startEpochMicrosec(START_EPOCH_MICROSEC) //
+ .timeZoneOffset(TIME_ZONE_OFFSET) //
+ .changeIdentifier(CHANGE_IDENTIFIER) //
+ .eventName("Noti_RnNode-Ericsson_FileReady").build();
FileReadyMessage.FileInfo fileInfo = FileReadyMessage.FileInfo //
- .builder() //
- .fileFormatType(FILE_FORMAT_TYPE) //
- .location(LOCATION) //
- .fileFormatVersion(FILE_FORMAT_VERSION) //
- .compression(GZIP_COMPRESSION) //
- .build();
+ .builder() //
+ .fileFormatType(FILE_FORMAT_TYPE) //
+ .location(LOCATION) //
+ .fileFormatVersion(FILE_FORMAT_VERSION) //
+ .compression(GZIP_COMPRESSION) //
+ .build();
FileReadyMessage.ArrayOfNamedHashMap arrayOfNamedHashMap = FileReadyMessage.ArrayOfNamedHashMap //
- .builder() //
- .name(fileName) //
- .hashMap(fileInfo) //
- .build();
+ .builder() //
+ .name(fileName) //
+ .hashMap(fileInfo) //
+ .build();
List<FileReadyMessage.ArrayOfNamedHashMap> arrayOfNamedHashMapList = new ArrayList<>();
arrayOfNamedHashMapList.add(arrayOfNamedHashMap);
FileReadyMessage.NotificationFields notificationFields = FileReadyMessage.NotificationFields //
- .builder().notificationFieldsVersion("notificationFieldsVersion") //
- .changeType(CHANGE_TYPE).changeIdentifier(CHANGE_IDENTIFIER) //
- .arrayOfNamedHashMap(arrayOfNamedHashMapList) //
- .build();
+ .builder().notificationFieldsVersion("notificationFieldsVersion") //
+ .changeType(CHANGE_TYPE).changeIdentifier(CHANGE_IDENTIFIER) //
+ .arrayOfNamedHashMap(arrayOfNamedHashMapList) //
+ .build();
return FileReadyMessage.Event.builder() //
- .commonEventHeader(messageMetaData) //
- .notificationFields(notificationFields).build();
+ .commonEventHeader(messageMetaData) //
+ .notificationFields(notificationFields).build();
}
private FileReadyMessage fileReadyMessage(String fileName) {
FileReadyMessage message = FileReadyMessage.builder() //
- .event(event(fileName)) //
- .build();
+ .event(event(fileName)) //
+ .build();
return message;
}