1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.neo4j.server.startup.healthcheck;
21
22 import static org.junit.Assert.assertFalse;
23 import static org.junit.Assert.assertTrue;
24
25 import java.io.File;
26 import java.io.IOException;
27 import java.util.Properties;
28
29 import org.junit.Test;
30 import org.neo4j.server.ServerTestUtils;
31 import org.neo4j.server.configuration.Configurator;
32
33 public class ConfigFileMustBePresentRuleTest {
34 @Test
35 public void shouldFailIfThereIsNoSystemPropertyForConfigFile() {
36 ConfigFileMustBePresentRule rule = new ConfigFileMustBePresentRule();
37 assertFalse(rule.execute(propertiesWithoutConfigFileLocation()));
38 }
39
40 @Test
41 public void shouldFailIfThereIsNoConfigFileWhereTheSystemPropertyPoints() throws IOException {
42 ConfigFileMustBePresentRule rule = new ConfigFileMustBePresentRule();
43 File tempFile = ServerTestUtils.createTempPropertyFile();
44 tempFile.delete();
45
46 assertFalse(rule.execute(propertiesWithConfigFileLocation(tempFile)));
47 }
48
49 @Test
50 public void shouldPassIfThereIsAConfigFileWhereTheSystemPropertyPoints() throws IOException {
51 File propertyFile = ServerTestUtils.createTempPropertyFile();
52 ServerTestUtils.writePropertyToFile(Configurator.DATABASE_LOCATION_PROPERTY_KEY, "/tmp/foo.db", propertyFile);
53
54 ConfigFileMustBePresentRule rule = new ConfigFileMustBePresentRule();
55 assertTrue(rule.execute(propertiesWithConfigFileLocation(propertyFile)));
56 propertyFile.delete();
57 }
58
59 private Properties propertiesWithoutConfigFileLocation() {
60 System.clearProperty(Configurator.NEO_SERVER_CONFIG_FILE_KEY);
61 return System.getProperties();
62 }
63
64 private Properties propertiesWithConfigFileLocation(File propertyFile) {
65 System.setProperty(Configurator.NEO_SERVER_CONFIG_FILE_KEY, propertyFile.getAbsolutePath());
66 return System.getProperties();
67 }
68 }