Skip to content

Commit 692b47d

Browse files
committed
added Configuration bug fixes, Added configuration Int tests
1 parent 2bb49c6 commit 692b47d

File tree

7 files changed

+96
-71
lines changed

7 files changed

+96
-71
lines changed

src/main/java/org/audit4j/core/ConfigUtil.java

Lines changed: 9 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -18,23 +18,15 @@
1818

1919
package org.audit4j.core;
2020

21-
import java.io.BufferedWriter;
22-
import java.io.File;
2321
import java.io.FileNotFoundException;
2422
import java.io.FileReader;
2523
import java.io.FileWriter;
2624
import java.io.IOException;
2725
import java.util.ArrayList;
28-
import java.util.HashMap;
2926
import java.util.List;
30-
import java.util.Map;
3127

3228
import org.audit4j.core.exception.ConfigurationException;
33-
import org.audit4j.core.exception.TroubleshootException;
34-
import org.audit4j.core.handler.ConsoleAuditHandler;
3529
import org.audit4j.core.handler.Handler;
36-
import org.audit4j.core.handler.file.FileAuditHandler;
37-
import org.audit4j.core.layout.SimpleLayout;
3830

3931
import com.esotericsoftware.yamlbeans.YamlException;
4032
import com.esotericsoftware.yamlbeans.YamlReader;
@@ -47,40 +39,14 @@
4739
*
4840
* @since 1.0.1
4941
*/
50-
public final class ConfigUtil {
42+
final class ConfigUtil {
5143

5244
/**
5345
* Instantiates a new config util.
5446
*/
5547
private ConfigUtil() {
5648
}
5749

58-
/**
59-
* Creates the dummy config.
60-
*
61-
* @return the configuration
62-
*/
63-
static Configuration createDummyConfig() {
64-
Configuration conf = new Configuration();
65-
List<Handler> handlers = new ArrayList<>();
66-
FileAuditHandler handler = new FileAuditHandler();
67-
handler.setArchive("true");
68-
handler.setCronPattern("1d1M");
69-
handlers.add(handler);
70-
//FileAuditHandler handler = new FileAuditHandler();
71-
//handlers.add(handler);
72-
ConsoleAuditHandler handler2 = new ConsoleAuditHandler();
73-
handlers.add(handler2);
74-
conf.setHandlers(handlers);
75-
conf.setLayout(new SimpleLayout());
76-
conf.setOptions("sd");
77-
Map<String,String> properties = new HashMap<String,String>();
78-
properties.put("log.file.location", "$user.dir");
79-
conf.setProperties(properties);
80-
//conf.setMetaData(new DummyMetaData());
81-
return conf;
82-
}
83-
8450
/**
8551
* Generate config from object.
8652
*/
@@ -89,43 +55,18 @@ static void generateConfigFromObject() {
8955
try {
9056
writer = new YamlWriter(new FileWriter("audit4j.conf.yml"));
9157
writer.getConfig().setClassTag("Configuration", Configuration.class);
92-
writer.write(createDummyConfig());
58+
writer.write(Configuration.DEFAULT);
9359
writer.close();
9460
} catch (IOException e) {
9561
// TODO Auto-generated catch block
9662
e.printStackTrace();
9763
}
9864
}
9965

100-
/**
101-
* Generate config from text.
102-
*/
103-
public static void generateConfigFromText() {
104-
StringBuffer yml = new StringBuffer("!Configuration\n");
105-
yml.append("released: ").append(CoreConstants.RELEASE_DATE).append("\n");
106-
yml.append("version: ").append(CoreConstants.RELEASE_VERSION).append("\n");
107-
yml.append("handlers:").append("\n");
108-
yml.append("- !org.audit4j.core.handler.ConsoleAuditHandler {}").append("\n");
109-
yml.append("- !org.audit4j.core.handler.file.FileAuditHandler {}").append("\n");
110-
yml.append("layout: !org.audit4j.core.layout.SimpleLayout {}").append("\n");
111-
yml.append("metaData: !org.audit4j.core.DummyMetaData {}").append("\n");
112-
yml.append("properties:").append("\n");
113-
yml.append(" log.file.location: user.dir").append("\n");
114-
115-
File file = new File(CoreConstants.CONFIG_FILE_NAME);
116-
try {
117-
FileWriter fw = new FileWriter(file.getAbsoluteFile());
118-
BufferedWriter bw = new BufferedWriter(fw);
119-
bw.write(yml.toString());
120-
bw.close();
121-
} catch (IOException e) {
122-
throw new TroubleshootException("Unable to create configuration file. ", e);
123-
}
124-
}
125-
12666
/**
12767
* Read config.
12868
*
69+
* @param filePath the file path
12970
* @return the configuration
13071
* @throws ConfigurationException the configuration exception
13172
*/
@@ -143,15 +84,17 @@ static Configuration readConfig(final String filePath) throws ConfigurationExcep
14384
}
14485
}
14586

87+
/**
88+
* Gets the handler class names.
89+
*
90+
* @param handlers the handlers
91+
* @return the handler class names
92+
*/
14693
static List<String> getHandlerClassNames(List<Handler> handlers){
14794
List<String> handlerClassNameList = new ArrayList<>();
14895
for (Handler handler : handlers) {
14996
handlerClassNameList.add(handler.getClass().getName());
15097
}
15198
return handlerClassNameList;
15299
}
153-
154-
public static void main(String[] args) {
155-
generateConfigFromObject();
156-
}
157100
}

src/main/java/org/audit4j/core/Context.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ final static void init() {
126126

127127
// Extract options.
128128
Map<String, String> options = processOptions(conf.getOptions());
129-
129+
130130
// Execute commands.
131131
if (options != null) {
132132
CommandProcessor.getInstance().process(options);
@@ -295,8 +295,9 @@ private final static void loadConfig() {
295295
if (null == configFilePath) {
296296
configFilePath = CoreConstants.CONFIG_FILE_NAME;
297297
} else {
298-
if (AuditUtil.isFileExists(configFilePath)) {
299-
throw new InitializationException("The given configuration file is not exists.");
298+
if (!AuditUtil.isFileExists(configFilePath)) {
299+
throw new InitializationException("The given configuration file does not exists."
300+
+ ErrorGuide.getGuide(ErrorGuide.CONFIG_NOT_EXISTS));
300301
}
301302
}
302303
try {

src/main/java/org/audit4j/core/ErrorGuide.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ public final class ErrorGuide {
3636
/** The Constant CONFIG_ERROR. */
3737
public static final String CONFIG_ERROR = ERROR_URL + "configfile";
3838

39+
/** The Constant CONFIG_NOT_EXISTS. */
40+
public static final String CONFIG_NOT_EXISTS = ERROR_URL + "configfileNotExists";
41+
3942
/** The Constant JAVA_VERSION_ERROR. */
4043
public static final String JAVA_VERSION_ERROR = ERROR_URL + "javaVersion";
4144

src/main/java/org/audit4j/core/TroubleshootManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public static void troubleshootConfiguration(ConfigurationException e) {
7979
if (e.getId().equals("CONF_001")) {
8080
Log.warn("Initial confguration file not found. Creating a new configuration file - ",
8181
CoreConstants.CONFIG_FILE_NAME);
82-
ConfigUtil.generateConfigFromText();
82+
ConfigUtil.generateConfigFromObject();
8383
} else if (e.getId().equals("CONF_002")) {
8484
Log.error("Configuration file currupted or invalid configuration. ",
8585
ErrorGuide.getGuide(ErrorGuide.CONFIG_ERROR));

src/test/java/org/audit4j/core/Int/IntTestSuite.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package org.audit4j.core.Int;
22

3+
import org.audit4j.core.Int.configuration.InjectConfigurationIntTest;
4+
import org.audit4j.core.Int.configuration.URLConfigurationIntTest;
35
import org.audit4j.core.Int.event.annotation.ClassAnnotationTest;
46
import org.audit4j.core.Int.event.annotation.DeIdentifyAnnotationTest;
57
import org.audit4j.core.Int.event.annotation.MethodAnnotationTest;
@@ -11,7 +13,8 @@
1113

1214
@RunWith(Suite.class)
1315
@SuiteClasses({ MethodAnnotationTest.class, ClassAnnotationTest.class, DeIdentifyAnnotationTest.class,
14-
AuditEventFilterIntTest.class, ScanAnnotationOptionIntTest.class })
16+
AuditEventFilterIntTest.class, ScanAnnotationOptionIntTest.class, InjectConfigurationIntTest.class,
17+
URLConfigurationIntTest.class })
1518
public class IntTestSuite {
1619

1720
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package org.audit4j.core.Int.configuration;
2+
3+
import org.audit4j.core.AuditManager;
4+
import org.audit4j.core.Configuration;
5+
import org.audit4j.core.Int.IntTestBase;
6+
import org.junit.After;
7+
import org.junit.Test;
8+
9+
public class InjectConfigurationIntTest extends IntTestBase{
10+
11+
@Test
12+
public void testStartWithConfiguration() {
13+
AuditManager.startWithConfiguration(Configuration.DEFAULT);
14+
AuditManager.getInstance().audit(getSampleAuditEvent());
15+
}
16+
17+
@After
18+
public void after() {
19+
AuditManager.getInstance().shutdown();
20+
}
21+
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package org.audit4j.core.Int.configuration;
2+
3+
import java.io.File;
4+
import java.io.FileWriter;
5+
import java.io.IOException;
6+
7+
import org.audit4j.core.AuditManager;
8+
import org.audit4j.core.Configuration;
9+
import org.audit4j.core.Int.IntTestBase;
10+
import org.junit.After;
11+
import org.junit.Before;
12+
import org.junit.Test;
13+
14+
import com.esotericsoftware.yamlbeans.YamlWriter;
15+
16+
public class URLConfigurationIntTest extends IntTestBase {
17+
18+
private String configFileLocation;
19+
20+
@Before
21+
public void before() {
22+
configFileLocation = System.getProperty("user.home") + "/audit4j.conf.yml";
23+
System.out.println(configFileLocation);
24+
25+
YamlWriter writer;
26+
try {
27+
writer = new YamlWriter(new FileWriter(configFileLocation));
28+
writer.getConfig().setClassTag("Configuration", Configuration.class);
29+
writer.write(Configuration.DEFAULT);
30+
writer.close();
31+
} catch (IOException e) {
32+
// TODO Auto-generated catch block
33+
e.printStackTrace();
34+
}
35+
}
36+
37+
@Test
38+
public void testInitWithConfigUri() {
39+
AuditManager.startWithConfiguration(configFileLocation);
40+
AuditManager.getInstance().audit(getSampleAuditEvent());
41+
}
42+
43+
@After
44+
public void after() {
45+
System.out.println(configFileLocation);
46+
File file = new File(configFileLocation);
47+
if (file.delete()) {
48+
System.out.println(file.getName() + " is deleted!");
49+
} else {
50+
System.out.println("Delete operation is failed.");
51+
}
52+
AuditManager.getInstance().shutdown();
53+
}
54+
}

0 commit comments

Comments
 (0)