@Test public void moveFilename_forExactFile_shouldGiveStringRename() { // Given // A simple file object FlatsyFlatFileDatabase db = new FlatsyFlatFileDatabase(root); FlatsyObject file = new FlatsyObject("test/test.json", db); // When // We rename the file itself using the files name as base String renamed = db.moveFilename(file, file.uri, "renamed/test.json"); // Then // We expect the file to be renamed assertEquals("renamed/test.json", renamed); }
@Test public void moveFilename_forSubFile_shouldGiveStringRename() { // Given // A simple file object FlatsyFlatFileDatabase db = new FlatsyFlatFileDatabase(root); FlatsyObject file = new FlatsyObject("sliced/red/tomatoes/test.json", db); String renameFrom = "sliced/red"; String renameTo = "fried/green"; // When // We rename the file itself using the files name as base String renamed = db.moveFilename(file, renameFrom, renameTo); // Then // We expect the file to be renamed assertEquals("fried/green/tomatoes/test.json", renamed); }
@Test public void moveMap_forSimpleDatabase_shouldRenameFiles() { // Given // A simple database object FlatsyFlatFileDatabase db = new FlatsyFlatFileDatabase(simple); db.create(new FlatsyObject("fried/bread/data.json", db), "bread"); db.create(new FlatsyObject("fried/sausages/data.json", db), "sausage"); db.create(new FlatsyObject("fried/bacon/data.json", db), "bacon"); // When // We create a file map using our known database FlatsyObject object = new FlatsyObject("fried", db); Map<String, String> renameMap = db.moveMap(object, "grilled"); // Then // We expect the three files to be mapped assertEquals("grilled/bread/data.json", renameMap.get("fried/bread/data.json")); assertEquals("grilled/sausages/data.json", renameMap.get("fried/sausages/data.json")); assertEquals("grilled/bacon/data.json", renameMap.get("fried/bacon/data.json")); }
@Test public void move_forSimpleDatabase_shouldRemoveOldNode() { // Given // A simple database object FlatsyFlatFileDatabase db = new FlatsyFlatFileDatabase(simple); db.create(new FlatsyObject("fried/bread/data.json", db), "bread"); db.create(new FlatsyObject("fried/sausages/data.json", db), "sausage"); db.create(new FlatsyObject("fried/bacon/data.json", db), "bacon"); db.create(new FlatsyObject("scrambled/eggs/data.json", db), "eggs"); FlatsyObject object = new FlatsyObject("fried", db); // When // We move files Map<String, String> renameMap = db.moveMap(object, "grilled"); // make a note of current structure db.move(object, "grilled"); // make the move // Then // We expect the old files to not exist (at least in this scenario) for (String key : renameMap.keySet()) { assertEquals(FlatsyObjectType.Null, db.get(key).getType()); } }
@Test public void moveMap_forSimpleDatabase_shouldRenameSpecificFilesAndFolders() { // Given // A simple database object FlatsyFlatFileDatabase db = new FlatsyFlatFileDatabase(simple); db.create(new FlatsyObject("fried/bread/data.json", db), "bread"); db.create(new FlatsyObject("fried/sausages/data.json", db), "sausage"); db.create(new FlatsyObject("fried/bacon/data.json", db), "bacon"); db.create(new FlatsyObject("scrambled/eggs/data.json", db), "eggs"); // When // We create a file map using our known database FlatsyObject object = new FlatsyObject("fried", db); Map<String, String> renameMap = db.moveMap(object, "grilled"); // Then // We expect the three files and four folders to be mapped and no others assertEquals(7, renameMap.size()); }