Skip to content

Commit 39b1bc0

Browse files
committed
CI: fix ArangoDBGraphConfigTest
1 parent 0bb929f commit 39b1bc0

File tree

1 file changed

+46
-5
lines changed

1 file changed

+46
-5
lines changed

src/test/java/com/arangodb/tinkerpop/gremlin/complex/ArangoDBGraphConfigTest.java

Lines changed: 46 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,28 @@
1818

1919
import com.arangodb.config.HostDescription;
2020
import com.arangodb.tinkerpop.gremlin.AbstractTest;
21-
import com.arangodb.tinkerpop.gremlin.structure.ArangoDBGraph;
2221
import com.arangodb.tinkerpop.gremlin.structure.ArangoDBGraphConfig;
22+
import org.apache.commons.configuration2.Configuration;
23+
import org.apache.commons.configuration2.ConfigurationUtils;
24+
import org.apache.commons.configuration2.FileBasedConfiguration;
25+
import org.apache.commons.configuration2.YAMLConfiguration;
26+
import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder;
27+
import org.apache.commons.configuration2.builder.fluent.Configurations;
28+
import org.apache.commons.configuration2.builder.fluent.Parameters;
29+
import org.apache.commons.configuration2.ex.ConfigurationException;
2330
import org.assertj.core.api.InstanceOfAssertFactories;
2431
import org.junit.Test;
2532

33+
import java.io.File;
34+
2635
import static org.assertj.core.api.Assertions.as;
2736
import static org.assertj.core.api.Assertions.assertThat;
2837

29-
@SuppressWarnings("resource")
3038
public class ArangoDBGraphConfigTest extends AbstractTest {
3139

3240
@Test
3341
public void loadConfigFromFile() {
34-
client.clear("g");
35-
ArangoDBGraph g = createGraph("src/test/resources/test.yaml");
36-
ArangoDBGraphConfig conf = new ArangoDBGraphConfig(g.configuration());
42+
ArangoDBGraphConfig conf = new ArangoDBGraphConfig(getConfiguration(new File("src/test/resources/test.yaml")));
3743
assertThat(conf.dbName).isEqualTo(dbName);
3844
assertThat(conf.graphName).isEqualTo("g");
3945
assertThat(conf.graphType).isEqualTo(ArangoDBGraphConfig.GraphType.COMPLEX);
@@ -60,4 +66,39 @@ public void loadConfigFromFile() {
6066
});
6167
assertThat(conf.driverConfig.getPassword()).isPresent().get().isEqualTo("test");
6268
}
69+
70+
private static org.apache.commons.configuration2.Configuration getConfiguration(final File configurationFile) {
71+
if (!configurationFile.isFile())
72+
throw new IllegalArgumentException(String.format("The location configuration must resolve to a file and [%s] does not", configurationFile));
73+
74+
try {
75+
final String fileName = configurationFile.getName();
76+
final String fileExtension = fileName.substring(fileName.lastIndexOf('.') + 1);
77+
78+
final Configuration conf;
79+
final Configurations configs = new Configurations();
80+
81+
switch (fileExtension) {
82+
case "yml":
83+
case "yaml":
84+
final Parameters params = new Parameters();
85+
final FileBasedConfigurationBuilder<FileBasedConfiguration> builder =
86+
new FileBasedConfigurationBuilder<FileBasedConfiguration>(YAMLConfiguration.class).
87+
configure(params.fileBased().setFile(configurationFile));
88+
89+
final org.apache.commons.configuration2.Configuration copy = new org.apache.commons.configuration2.BaseConfiguration();
90+
ConfigurationUtils.copy(builder.configure(params.fileBased().setFile(configurationFile)).getConfiguration(), copy);
91+
conf = copy;
92+
break;
93+
case "xml":
94+
conf = configs.xml(configurationFile);
95+
break;
96+
default:
97+
conf = configs.properties(configurationFile);
98+
}
99+
return conf;
100+
} catch (ConfigurationException e) {
101+
throw new IllegalArgumentException(String.format("Could not load configuration at: %s", configurationFile), e);
102+
}
103+
}
63104
}

0 commit comments

Comments
 (0)