2019-11-13 15:38:49 +01:00
|
|
|
package org.gcube.accounting.datamodel.validations.validators;
|
|
|
|
|
|
|
|
import java.io.BufferedReader;
|
|
|
|
import java.io.File;
|
|
|
|
import java.io.FileReader;
|
|
|
|
import java.io.InputStream;
|
|
|
|
import java.net.URL;
|
|
|
|
import java.util.regex.Matcher;
|
|
|
|
|
|
|
|
import org.gcube.documentstore.records.DSMapper;
|
|
|
|
import org.junit.Test;
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
|
|
|
|
|
public class TestRegexReplaceRules {
|
|
|
|
|
|
|
|
private static final Logger logger = LoggerFactory.getLogger(TestRegexReplaceRules.class);
|
|
|
|
|
|
|
|
@Test
|
|
|
|
public void testAuthorizationServiceGenerate() throws Exception {
|
|
|
|
|
|
|
|
String[] aggregationTests = new String[]{
|
|
|
|
"AuthorizationService-generate", "AuthorizationService-retrieve", "AuthorizationService-scopes",
|
2019-11-13 16:58:40 +01:00
|
|
|
"TagMe-tag", "GeoNetwork-login", "CkanConnector-connect", "CkanConnector-disconnect"
|
2019-11-13 15:38:49 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
for(String aggregationTest : aggregationTests) {
|
|
|
|
ObjectMapper mapper = DSMapper.getObjectMapper();
|
|
|
|
InputStream regexInputStream = TestRegexReplaceRules.class.getClassLoader().getResourceAsStream(aggregationTest + "-rule.json");
|
|
|
|
RegexReplace regexReplace = mapper.readValue(regexInputStream, RegexReplace.class);
|
|
|
|
|
|
|
|
URL url = TestRegexReplaceRules.class.getClassLoader().getResource(aggregationTest + "-values.csv");
|
|
|
|
File elaborationFile = new File(url.toURI());
|
|
|
|
try(BufferedReader br = new BufferedReader(new FileReader(elaborationFile))) {
|
|
|
|
for(String line; (line = br.readLine()) != null;) {
|
|
|
|
Matcher matcher = regexReplace.regexPattern.matcher(line);
|
|
|
|
if(matcher.matches()) {
|
|
|
|
logger.info("{} -> {}", line, regexReplace.getReplace());
|
|
|
|
} else {
|
|
|
|
logger.error("{} does not match {}. This MUST not occur.", line, regexReplace.getRegex());
|
|
|
|
throw new Exception(line + "does not match "+ regexReplace.getRegex() + ". This MUST not occur.");
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
} catch(Exception e) {
|
|
|
|
throw e;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|