Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Lavet tjek, der sikrer at der kun gives én fil til importeren ad gang…

…en. Den eksisterende kode tillader mere end én fil, men gør ikke noget for at importere dem i rigtig rækkefølge i forhold til deres timestamps, så det vil kunne fejle.
  • Loading branch information...
commit e4120187df2273d945d5703cf8c3bbe78bff47b6 1 parent f1c3d54
@jrftrifork jrftrifork authored
View
2  Changelog.md
@@ -1,3 +1,5 @@
## autorisationimporter 4.2
* NSPSUPPORT-67: Indført konfigurerbar tærskel for, hvor mange færre autorisationer en import-fil må indeholde
sammenlignet med antal autorisationer i databasen
+* Lavet tjek, der sikrer at der kun gives én fil til importeren ad gangen.
+ Den eksisterende kode tillader mere end én fil, men gør ikke noget for at importere dem i rigtig rækkefølge i forhold til deres timestamps, så det vil kunne fejle.
View
4 src/main/java/dk/nsi/sdm4/autorisation/parser/AutorisationParser.java
@@ -73,6 +73,10 @@ public void process(File dataset) throws ParserException {
File[] files = dataset.listFiles();
+ if (files.length != 1) {
+ throw new ParserException("Data directory " + dataset.getAbsolutePath() + " contains " + files.length + " files, but expected exactly one");
+ }
+
SLALogItem slaLogItem = slaLogger.createLogItem("AutorisationImporter", "All Files");
try {
View
10 src/test/java/dk/nsi/sdm4/autorisation/parser/AutParserTest.java
@@ -130,6 +130,16 @@ public void doesNotAllowNumberOfAutorisationerToDecreaseMoreThanThreshold() thro
}
}
+ @Test
+ public void doesNotAllowMoreThanOneInputFile() throws IOException {
+ try {
+ parser.process(valid.getParentFile()); // valid indeholder 2 filer
+ fail("Expected exception from parser because number of files is not one");
+ } catch (ParserException e) {
+ assertThat(e.getMessage(), containsString("2")); // antal filer
+ }
+ }
+
@Test(expected = ParserException.class)
public void testInvalid() throws IOException {
parser.parse(invalid, new DateTime());
Please sign in to comment.
Something went wrong with that request. Please try again.