package org.peerbox.server.utils;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import java.nio.file.Path;
import java.nio.file.Paths;
import org.junit.Test;
import org.peerbox.BaseJUnitTest;
import org.peerbox.server.servlets.messages.FileRecoveryMessage;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class PathSerializerTest extends BaseJUnitTest {
@Test
public void testSerialize() {
Path file = Paths.get("/this/is/a/path/to/a/file.txt");
String jsonExpected = String.format("{\"path\":\"%s\"}", file.toString());
FileRecoveryMessage message = new FileRecoveryMessage();
message.setPath(file);
Gson gson = createGsonInstance();
String jsonSerialized = gson.toJson(message);
assertNotNull(jsonSerialized);
assertEquals(jsonExpected, jsonSerialized);
}
private Gson createGsonInstance() {
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.registerTypeAdapter(Path.class, new PathSerializer());
return gsonBuilder.create();
}
}