200 lines
5.3 KiB
Java
200 lines
5.3 KiB
Java
package org.gcube.vremanagement;
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
|
|
import java.util.InputMismatchException;
|
|
import java.util.Scanner;
|
|
|
|
import org.junit.jupiter.api.Disabled;
|
|
import org.junit.jupiter.api.Test;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
/*
|
|
*
|
|
*/
|
|
class CsvUpdateTest {
|
|
|
|
private static Logger logger = LoggerFactory
|
|
.getLogger(CsvUpdateTest.class);
|
|
|
|
private String[] listVOs= {"D4Research","gCubeApps","FARM","ParthenosVO","OpenAIRE"};
|
|
private String scopeIn = "/d4science.research-infrastructures.eu";
|
|
int skipLines = 3;
|
|
private String InCsvFile="VREDecommisioned-240326.csv";
|
|
//Used for Google APIs remote update
|
|
private String vreSheet = "VREs";
|
|
private String missVreSheet="VREs-missing";
|
|
private String updateVreSheet = "VREs-extended-info";
|
|
//Used for GooGle APis;
|
|
String spreadID="1-_24RYwFHG5DuR-rrcmHDSz9pOqVHApBLhXiFLub9JA";
|
|
|
|
@Test
|
|
void QueryClientVREInfoTest(){
|
|
VREQueryService updaterCSV = new VREQueryService(InCsvFile,skipLines);
|
|
String voIn="D4Research";
|
|
String vreName="FoodborneOutbreak";
|
|
updaterCSV.getVREInfoFromClient(scopeIn,voIn, vreName);
|
|
}
|
|
|
|
|
|
@Test
|
|
void UpdateLocalCSVTest() {
|
|
VREQueryService updaterCSV = new VREQueryService(InCsvFile,skipLines);
|
|
logger.debug("Updating VREs in a LOCAL CSV file");
|
|
updaterCSV.updateCSVformCSVList(scopeIn);
|
|
logger.debug("Update CSV done");
|
|
}
|
|
|
|
@Test
|
|
void MissingLocalCSVTest(){
|
|
VREQueryService updaterCSV = new VREQueryService(InCsvFile,skipLines);
|
|
logger.debug("Getting missing VRE in a LOCAL CSV file");
|
|
updaterCSV.missingVREinCSV(scopeIn, listVOs);
|
|
logger.debug("Missing CSV done");
|
|
}
|
|
|
|
|
|
@Disabled
|
|
@Test
|
|
void UpdateEndTimeVRETest(){
|
|
|
|
String voTimeIn="D4Research";
|
|
String vreTimeName="FoodborneOutbreak";
|
|
int yearIn=2024;
|
|
int monthIn=2; //Months start from zero
|
|
int dayIn=21;
|
|
VREQueryService updaterCSV = new VREQueryService(InCsvFile,skipLines);
|
|
updaterCSV.updateEndTimeVRE(scopeIn, voTimeIn, vreTimeName, yearIn,monthIn, dayIn);
|
|
}
|
|
|
|
|
|
//Google remote APIs requires client_secret token
|
|
@Disabled
|
|
@Test
|
|
|
|
void UpdateRemoteVREInfoSheet()
|
|
{
|
|
try {
|
|
GoogleSheetsService.setup(spreadID);
|
|
GoogleSheetsService.updateVresInfoSheet(vreSheet, updateVreSheet, "A1:G", scopeIn);
|
|
}catch(Exception e)
|
|
{
|
|
e.printStackTrace();
|
|
}
|
|
|
|
}
|
|
|
|
@Disabled
|
|
@Test
|
|
|
|
void UpdateRemoteVREMissingSheet()
|
|
{
|
|
try {
|
|
GoogleSheetsService.setup(spreadID);
|
|
GoogleSheetsService.updateMissVREsGoogleSheet(scopeIn, listVOs, vreSheet, missVreSheet, "A1:Z");
|
|
}catch(Exception e)
|
|
{
|
|
e.printStackTrace();
|
|
}
|
|
|
|
}
|
|
|
|
@Disabled
|
|
@Test
|
|
void InteractiveTest() {
|
|
|
|
|
|
Scanner scanner = new Scanner(System.in);
|
|
|
|
|
|
int choice=0;
|
|
|
|
do {
|
|
VREQueryService updaterCSV = new VREQueryService(InCsvFile,skipLines);
|
|
|
|
logger.debug("Menu:");
|
|
logger.debug("1. Update VREs in a LOCAL CSV file");
|
|
logger.debug("2. Get missing VRE in a LOCAL CSV file");
|
|
logger.debug("3. Get VRE info from Service");
|
|
logger.debug("4. Update VRE EndTime");
|
|
logger.debug("5. Update VRES in a Remore Google Sheet");
|
|
logger.debug("6. Update Missing VRES in a Remore Google Sheet");
|
|
logger.debug("7. Exit");
|
|
logger.debug("Choice:");
|
|
try {
|
|
choice = scanner.nextInt();
|
|
scanner.nextLine();
|
|
|
|
switch (choice) {
|
|
case 1:
|
|
logger.debug("Updating VREs in a LOCAL CSV file");
|
|
updaterCSV.updateCSVformCSVList(scopeIn);
|
|
logger.debug("Update CSV done");
|
|
break;
|
|
case 2:
|
|
logger.debug("Getting missing VRE in a LOCAL CSV file");
|
|
updaterCSV.missingVREinCSV(scopeIn, listVOs);
|
|
logger.debug("Missing CSV done");
|
|
break;
|
|
case 3:
|
|
logger.debug("Getting VRE info from Service");
|
|
logger.debug("Insert VRE name (ignore case): ");
|
|
String vreName = scanner.nextLine();
|
|
logger.debug("Insert VO: ");
|
|
String voIn = scanner.nextLine();
|
|
updaterCSV.getVREInfoFromClient(scopeIn,voIn, vreName);
|
|
break;
|
|
case 4:
|
|
logger.debug("Updating VRE EndTime");
|
|
logger.debug("Insert VRE name (ignore case): ");
|
|
String vreTimeName = scanner.nextLine();
|
|
logger.debug("Insert VO: ");
|
|
String voTimeIn = scanner.nextLine();
|
|
if (updaterCSV.getVREInfoFromClient(scopeIn, voTimeIn, vreTimeName) >0)
|
|
{
|
|
logger.debug("Update year? (0=no, 1=yes)");
|
|
if (scanner.nextInt()>0)
|
|
{
|
|
logger.debug("Insert year: ");
|
|
int yearIn = scanner.nextInt();
|
|
logger.debug("Insert month num: ");
|
|
int monthIn = scanner.nextInt()-1;
|
|
logger.debug("Insert day: ");
|
|
int dayIn = scanner.nextInt();
|
|
updaterCSV.updateEndTimeVRE(scopeIn, voTimeIn, vreTimeName, yearIn,monthIn, dayIn);
|
|
}
|
|
}
|
|
break;
|
|
|
|
case 5:
|
|
GoogleSheetsService.setup(spreadID);
|
|
GoogleSheetsService.updateVresInfoSheet(vreSheet, updateVreSheet, "A1:G", scopeIn);
|
|
|
|
break;
|
|
case 6:
|
|
GoogleSheetsService.setup(spreadID);
|
|
GoogleSheetsService.updateMissVREsGoogleSheet(scopeIn, listVOs, vreSheet, missVreSheet, "A1:Z");
|
|
|
|
break;
|
|
case 7:
|
|
logger.debug("Exiting...");
|
|
break;
|
|
default:
|
|
logger.debug("Invalid choice - Try Again");
|
|
break;
|
|
}
|
|
}catch(InputMismatchException ime)
|
|
{
|
|
System.err.println("Input mismatch! Please use correct input type");
|
|
scanner.nextLine();
|
|
choice=0;
|
|
}catch(Exception e)
|
|
{
|
|
e.printStackTrace();
|
|
}
|
|
}while(choice !=7); //end do-while loop
|
|
scanner.close();
|
|
}
|
|
|
|
}
|