mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-06-01 21:31:36 +02:00
pushFailsOnInvalidFiles integration test.
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
package uk.ac.ic.wlgitbridge.snapshot.servermock.response.push.postback;
|
||||
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import uk.ac.ic.wlgitbridge.snapshot.servermock.response.push.postback.invalidfile.InvalidFileError;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -18,6 +20,13 @@ public class SnapshotPostbackRequestInvalidFiles extends SnapshotPostbackRequest
|
||||
this.errors = errors;
|
||||
}
|
||||
|
||||
public SnapshotPostbackRequestInvalidFiles(JsonArray errors) {
|
||||
this(new ArrayList<InvalidFileError>());
|
||||
for (JsonElement error : errors) {
|
||||
this.errors.add(InvalidFileError.buildFromJsonError(error.getAsJsonObject()));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public JsonObject toJson() {
|
||||
JsonObject jsonThis = super.toJson();
|
||||
|
||||
@@ -22,4 +22,18 @@ public abstract class InvalidFileError {
|
||||
|
||||
protected abstract String getState();
|
||||
|
||||
public static InvalidFileError buildFromJsonError(JsonObject error) {
|
||||
String state = error.get("state").getAsString();
|
||||
String file = error.get("file").getAsString();
|
||||
if (state.equals("error")) {
|
||||
return new InvalidFileErrorDefault(file);
|
||||
} else if (state.equals("disallowed")) {
|
||||
return new InvalidFileErrorDisallowed(file);
|
||||
} else if (state.equals("unclean_name")) {
|
||||
return new InvalidFileErrorUnclean(file, error.get("cleanFile").getAsString());
|
||||
} else {
|
||||
throw new IllegalArgumentException("bad invalid file state: " + state);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -4,18 +4,17 @@ import com.google.gson.Gson;
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import uk.ac.ic.wlgitbridge.snapshot.getdoc.GetDocResult;
|
||||
import uk.ac.ic.wlgitbridge.snapshot.getforversion.GetForVersionResult;
|
||||
import uk.ac.ic.wlgitbridge.snapshot.getforversion.SnapshotAttachment;
|
||||
import uk.ac.ic.wlgitbridge.snapshot.getforversion.SnapshotData;
|
||||
import uk.ac.ic.wlgitbridge.snapshot.getforversion.SnapshotFile;
|
||||
import uk.ac.ic.wlgitbridge.snapshot.getsavedvers.GetSavedVersResult;
|
||||
import uk.ac.ic.wlgitbridge.snapshot.getsavedvers.SnapshotInfo;
|
||||
import uk.ac.ic.wlgitbridge.snapshot.servermock.response.push.data.SnapshotPushResult;
|
||||
import uk.ac.ic.wlgitbridge.snapshot.servermock.response.push.data.SnapshotPushResultOutOfDate;
|
||||
import uk.ac.ic.wlgitbridge.snapshot.servermock.response.push.data.SnapshotPushResultSuccess;
|
||||
import uk.ac.ic.wlgitbridge.snapshot.servermock.response.push.postback.*;
|
||||
import uk.ac.ic.wlgitbridge.snapshot.servermock.response.push.postback.invalidfile.InvalidFileError;
|
||||
import uk.ac.ic.wlgitbridge.snapshot.getdoc.GetDocResult;
|
||||
import uk.ac.ic.wlgitbridge.snapshot.getforversion.SnapshotAttachment;
|
||||
import uk.ac.ic.wlgitbridge.snapshot.getforversion.SnapshotData;
|
||||
import uk.ac.ic.wlgitbridge.snapshot.getforversion.SnapshotFile;
|
||||
import uk.ac.ic.wlgitbridge.snapshot.getforversion.GetForVersionResult;
|
||||
import uk.ac.ic.wlgitbridge.snapshot.getsavedvers.GetSavedVersResult;
|
||||
import uk.ac.ic.wlgitbridge.snapshot.getsavedvers.SnapshotInfo;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
@@ -139,7 +138,7 @@ public class SnapshotAPIStateBuilder {
|
||||
} else if (type.equals("outOfDate")) {
|
||||
p = new SnapshotPostbackRequestOutOfDate();
|
||||
} else if (type.equals("invalidFiles")) {
|
||||
p = new SnapshotPostbackRequestInvalidFiles(new LinkedList<InvalidFileError>());
|
||||
p = new SnapshotPostbackRequestInvalidFiles(jsonPostback.get("errors").getAsJsonArray());
|
||||
} else if (type.equals("invalidProject")) {
|
||||
p = new SnapshotPostbackRequestInvalidProject(new LinkedList<String>());
|
||||
} else if (type.equals("error")) {
|
||||
|
||||
@@ -3,10 +3,7 @@ package uk.ac.ic.wlgitbridge.util;
|
||||
import java.io.*;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* Created by Winston on 19/11/14.
|
||||
@@ -152,6 +149,25 @@ public class Util {
|
||||
}
|
||||
}
|
||||
|
||||
public static List<String> linesFromStream(InputStream stream, int skip, String trimSuffix) throws IOException {
|
||||
List<String> lines = new ArrayList<String>();
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
|
||||
String line;
|
||||
for (int i = 0; i < skip; i++) {
|
||||
reader.readLine();
|
||||
}
|
||||
while ((line = reader.readLine()) != null) {
|
||||
String trim = line.trim();
|
||||
trim = trim.replaceAll("\\p{C}", "");
|
||||
int endIndex = trim.lastIndexOf(trimSuffix);
|
||||
if (endIndex >= 0) {
|
||||
trim = trim.substring(0, endIndex);
|
||||
}
|
||||
lines.add(trim);
|
||||
}
|
||||
return lines;
|
||||
}
|
||||
|
||||
public static String fromStream(InputStream stream, int skip) throws IOException {
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
|
||||
StringBuilder out = new StringBuilder();
|
||||
|
||||
Reference in New Issue
Block a user