Map<String, String> versionToValueMap = new HashMap<String, String>();
for (int i = 0; i < 5; i++) {
String value = String.format("Value%d", i);
Property property = getProperty(objectToBePut, "tags");
property.setValue(value);
PutMethod putMethod =
executePutXml(getUriBuilder(ObjectResource.class).build(getWiki(), "Main", "WebHome",
objectToBePut.getClassName(), objectToBePut.getNumber()).toString(), objectToBePut, "Admin",
"admin");
Assert.assertEquals(getHttpMethodInfo(putMethod), HttpStatus.SC_ACCEPTED, putMethod.getStatusCode());
GetMethod getMethod =
executeGet(getUriBuilder(PageResource.class).build(getWiki(), "Main", "WebHome").toString());
Assert.assertEquals(getHttpMethodInfo(getMethod), HttpStatus.SC_OK, getMethod.getStatusCode());
Page page = (Page) unmarshaller.unmarshal(getMethod.getResponseBodyAsStream());
versionToValueMap.put(page.getVersion(), value);
}
for (String version : versionToValueMap.keySet()) {
GetMethod getMethod =
executeGet(getUriBuilder(ObjectAtPageVersionResource.class).build(getWiki(), "Main", "WebHome",
version, objectToBePut.getClassName(), objectToBePut.getNumber()).toString());
Assert.assertEquals(getHttpMethodInfo(getMethod), HttpStatus.SC_OK, getMethod.getStatusCode());
Object currentObject = (Object) unmarshaller.unmarshal(getMethod.getResponseBodyAsStream());
Property property = getProperty(currentObject, "tags");
Assert.assertEquals(versionToValueMap.get(version), property.getValue());
checkLinks(currentObject);
for (Property p : currentObject.getProperties()) {
checkLinks(p);
}