summaryrefslogtreecommitdiffstats
path: root/auth/cli-editor
diff options
context:
space:
mode:
Diffstat (limited to 'auth/cli-editor')
-rw-r--r--auth/cli-editor/src/main/java/org/onap/policy/apex/auth/clieditor/ApexCLIEditorMain.java8
-rw-r--r--auth/cli-editor/src/test/java/org/onap/policy/apex/auth/clieditor/TestCLIEditorEventsContext.java96
-rw-r--r--auth/cli-editor/src/test/resources/model/empty_commands.json3
3 files changed, 85 insertions, 22 deletions
diff --git a/auth/cli-editor/src/main/java/org/onap/policy/apex/auth/clieditor/ApexCLIEditorMain.java b/auth/cli-editor/src/main/java/org/onap/policy/apex/auth/clieditor/ApexCLIEditorMain.java
index 4a2635efa..cb1a92eaf 100644
--- a/auth/cli-editor/src/main/java/org/onap/policy/apex/auth/clieditor/ApexCLIEditorMain.java
+++ b/auth/cli-editor/src/main/java/org/onap/policy/apex/auth/clieditor/ApexCLIEditorMain.java
@@ -78,7 +78,6 @@ public class ApexCLIEditorMain {
// Read the command definitions
try {
commands = new JSONHandler<CLICommands>().read(CLICommands.class, parameters.getMetadataStream());
- LOGGER.debug("found " + commands.getCommandSet().size() + " commands");
} catch (final Exception e) {
LOGGER.error("start of Apex command line editor failed, error reading command metadata from "
+ parameters.getMetadataLocation());
@@ -88,18 +87,19 @@ public class ApexCLIEditorMain {
}
// The JSON processing returns null if there is an empty file
- if (null == commands) {
+ if (commands == null || commands.getCommandSet().isEmpty()) {
LOGGER.error("start of Apex command line editor failed, no commands found in "
+ parameters.getApexPropertiesLocation());
errorCount++;
return;
}
+ LOGGER.debug("found " + commands.getCommandSet().size() + " commands");
+
// Read the Apex properties
try {
apexModelProperties = new JSONHandler<ApexModelProperties>().read(ApexModelProperties.class,
parameters.getApexPropertiesStream());
- LOGGER.debug("model properties are: " + apexModelProperties.toString());
} catch (final Exception e) {
LOGGER.error("start of Apex command line editor failed, error reading Apex model properties from "
+ parameters.getApexPropertiesLocation());
@@ -116,6 +116,8 @@ public class ApexCLIEditorMain {
return;
}
+ LOGGER.debug("model properties are: " + apexModelProperties.toString());
+
// Find the system commands
final Set<KeywordNode> systemCommandNodes = new TreeSet<>();
for (final CLICommand command : commands.getCommandSet()) {
diff --git a/auth/cli-editor/src/test/java/org/onap/policy/apex/auth/clieditor/TestCLIEditorEventsContext.java b/auth/cli-editor/src/test/java/org/onap/policy/apex/auth/clieditor/TestCLIEditorEventsContext.java
index 43238d63d..4b8dbd23b 100644
--- a/auth/cli-editor/src/test/java/org/onap/policy/apex/auth/clieditor/TestCLIEditorEventsContext.java
+++ b/auth/cli-editor/src/test/java/org/onap/policy/apex/auth/clieditor/TestCLIEditorEventsContext.java
@@ -24,8 +24,12 @@ import static org.junit.Assert.assertEquals;
import java.io.File;
import java.io.IOException;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
import org.onap.policy.apex.model.basicmodel.handling.ApexModelException;
import org.onap.policy.apex.model.utilities.TextFileUtils;
@@ -35,6 +39,25 @@ import org.onap.policy.apex.model.utilities.TextFileUtils;
public class TestCLIEditorEventsContext {
// CHECKSTYLE:OFF: MagicNumber
+ private static final Path SRC_MAIN_FOLDER = Paths.get("src/main/resources/");
+ private static final Path SRC_TEST_FOLDER = Paths.get("src/test/resources/");
+
+ private static final Path SUB_FOLDER = SRC_MAIN_FOLDER.resolve("examples/scripts/");
+
+ private static final String SPACES = "\\s+";
+ private static final String EMPTY_STRING = "";
+
+ private static final Path APEX_AVRO_POLICY_FILE = SUB_FOLDER.resolve("TestPolicyAvroEventContext.apex");
+ private static final Path APEX_JAVA_POLICY_FILE = SUB_FOLDER.resolve("TestPolicyJavaEventContext.apex");
+
+ private static final String FILE_NAME = "TestPolicyJavaEventsAndContext";
+ private static final String JSON_FILE = FILE_NAME + ".json";
+ private static final String LOG_FILE = FILE_NAME + ".log";
+
+
+ @Rule
+ public TemporaryFolder temporaryFolder = new TemporaryFolder();
+
/**
* Test java context model.
*
@@ -43,12 +66,12 @@ public class TestCLIEditorEventsContext {
*/
@Test
public void testJavaContextModel() throws IOException, ApexModelException {
- final File tempLogFile = File.createTempFile("TestPolicyJavaEventsAndContext", ".log");
- final File tempModelFile = File.createTempFile("TestPolicyJavaEventsAndContext", ".json");
- final String[] cliArgs =
- new String[] {"-c", "src/main/resources/examples/scripts/TestPolicyJavaEventContext.apex", "-l",
- tempLogFile.getAbsolutePath(), "-o", tempModelFile.getAbsolutePath()};
+ final File tempLogFile = temporaryFolder.newFile(LOG_FILE);
+ final File tempModelFile = temporaryFolder.newFile(JSON_FILE);
+
+ final String[] cliArgs = new String[] {"-c", APEX_JAVA_POLICY_FILE.toString(), "-l",
+ tempLogFile.getAbsolutePath(), "-o", tempModelFile.getAbsolutePath()};
final ApexCLIEditorMain cliEditor = new ApexCLIEditorMain(cliArgs);
assertEquals(0, cliEditor.getErrorCount());
@@ -58,14 +81,11 @@ public class TestCLIEditorEventsContext {
final String modelString = TextFileUtils.getTextFileAsString(tempModelFile.getCanonicalPath());
// As a sanity check, count the number of non white space characters in log and model files
- final int logCharCount = logString.replaceAll("\\s+", "").length();
- final int modelCharCount = modelString.replaceAll("\\s+", "").length();
+ final int logCharCount = logString.replaceAll(SPACES, EMPTY_STRING).length();
+ final int modelCharCount = modelString.replaceAll(SPACES, EMPTY_STRING).length();
assertEquals(25911, logCharCount);
assertEquals(46138, modelCharCount);
-
- tempLogFile.delete();
- tempModelFile.delete();
}
/**
@@ -76,12 +96,12 @@ public class TestCLIEditorEventsContext {
*/
@Test
public void testAvroContextModel() throws IOException, ApexModelException {
- final File tempLogFile = File.createTempFile("TestPolicyAvroEventsAndContext", ".log");
- final File tempModelFile = File.createTempFile("TestPolicyAvroEventsAndContext", ".json");
- final String[] cliArgs =
- new String[] {"-c", "src/main/resources/examples/scripts/TestPolicyAvroEventContext.apex", "-l",
- tempLogFile.getAbsolutePath(), "-o", tempModelFile.getAbsolutePath()};
+ final File tempLogFile = temporaryFolder.newFile(LOG_FILE);
+ final File tempModelFile = temporaryFolder.newFile(JSON_FILE);
+
+ final String[] cliArgs = new String[] {"-c", APEX_AVRO_POLICY_FILE.toString(), "-l",
+ tempLogFile.getAbsolutePath(), "-o", tempModelFile.getAbsolutePath()};
final ApexCLIEditorMain cliEditor = new ApexCLIEditorMain(cliArgs);
assertEquals(0, cliEditor.getErrorCount());
@@ -91,13 +111,51 @@ public class TestCLIEditorEventsContext {
final String modelString = TextFileUtils.getTextFileAsString(tempModelFile.getCanonicalPath());
// As a sanity check, count the number of non white space characters in log and model files
- final int logCharCount = logString.replaceAll("\\s+", "").length();
- final int modelCharCount = modelString.replaceAll("\\s+", "").length();
+ final int logCharCount = logString.replaceAll(SPACES, EMPTY_STRING).length();
+ final int modelCharCount = modelString.replaceAll(SPACES, EMPTY_STRING).length();
assertEquals(30315, logCharCount);
assertEquals(52930, modelCharCount);
- tempLogFile.delete();
- tempModelFile.delete();
}
+
+ @Test
+ public void test_emptyMetadataCommandFileWithEmptyJsonTag_errorcountGreaterThanOne() throws IOException {
+
+ final File tempLogFile = temporaryFolder.newFile(LOG_FILE);
+ final File tempModelFile = temporaryFolder.newFile(JSON_FILE);
+
+ final String modelFile = SRC_TEST_FOLDER.resolve("model").resolve("empty_commands.json").toString();
+ final String apexPropertiesLocation =
+ SRC_MAIN_FOLDER.resolve("etc/editor").resolve("ApexModelProperties.json").toString();
+
+ final String[] cliArgs =
+ new String[] {"-c", APEX_AVRO_POLICY_FILE.toString(), "-l", tempLogFile.getAbsolutePath(), "-o",
+ tempModelFile.getAbsolutePath(), "-m", modelFile, "-a", apexPropertiesLocation};
+
+ final ApexCLIEditorMain objUnderTest = new ApexCLIEditorMain(cliArgs);
+ assertEquals(1, objUnderTest.getErrorCount());
+
+ }
+
+ @Test
+ public void test_emptyMetadataCommandFile_errorcountGreaterThanOne() throws IOException {
+
+ final File tempLogFile = temporaryFolder.newFile(LOG_FILE);
+ final File tempModelFile = temporaryFolder.newFile(JSON_FILE);
+
+ final File modelFile = temporaryFolder.newFile("empty_commands.json");
+
+ final String apexPropertiesLocation =
+ SRC_MAIN_FOLDER.resolve("etc/editor").resolve("ApexModelProperties.json").toString();
+
+ final String[] cliArgs = new String[] {"-c", APEX_AVRO_POLICY_FILE.toString(), "-l",
+ tempLogFile.getAbsolutePath(), "-o", tempModelFile.getAbsolutePath(), "-m", modelFile.getAbsolutePath(),
+ "-a", apexPropertiesLocation};
+
+ final ApexCLIEditorMain objUnderTest = new ApexCLIEditorMain(cliArgs);
+ assertEquals(1, objUnderTest.getErrorCount());
+
+ }
+
}
diff --git a/auth/cli-editor/src/test/resources/model/empty_commands.json b/auth/cli-editor/src/test/resources/model/empty_commands.json
new file mode 100644
index 000000000..49d1a202f
--- /dev/null
+++ b/auth/cli-editor/src/test/resources/model/empty_commands.json
@@ -0,0 +1,3 @@
+{
+
+}