01: package fitnesse.updates;
02:
03: import fitnesse.wiki.*;
04: import fitnesse.responders.WikiImportProperty;
05:
06: public class WikiImportPropertyFormatUpdateTest extends UpdateTest {
07: protected Update makeUpdate() throws Exception {
08: return new WikiImportPropertyFormatUpdate(updater);
09: }
10:
11: public void testChangedFormat() throws Exception {
12: addPropertyToPage(pageOne, "WikiImportSource",
13: "http://import.source/value");
14: addPropertyToPage(pageTwo, "WikiImportRoot",
15: "http://import.root/value");
16:
17: update.doUpdate();
18:
19: checkWikiPageForNewFormat(pageOne, "WikiImportSource", false,
20: "http://import.source/value");
21: checkWikiPageForNewFormat(pageTwo, "WikiImportRoot", true,
22: "http://import.root/value");
23: }
24:
25: private void checkWikiPageForNewFormat(WikiPage page,
26: String oldPropertyName, boolean root, String source)
27: throws Exception {
28: WikiPageProperties properties = page.getData().getProperties();
29: assertFalse(properties.has(oldPropertyName));
30:
31: WikiImportProperty importProperty = WikiImportProperty
32: .createFrom(properties);
33: assertNotNull(importProperty);
34: assertEquals(root, importProperty.isRoot());
35: assertEquals(source, importProperty.getSourceUrl());
36: }
37:
38: private void addPropertyToPage(WikiPage page, String propertyName,
39: String propertyValue) throws Exception {
40: PageData data = page.getData();
41: WikiPageProperties properties = data.getProperties();
42: properties.set(propertyName, propertyValue);
43: page.commit(data);
44: }
45: }
|