public void testWriteProperties() throws IOException { Map<String, Object> properties = new HashMap<String, Object>(4); properties.put(ICouchAppUtil.PROP_COUCHAPP_NAME, "My CouchApp Name"); properties.put(ICouchAppUtil.PROP_COUCHAPP_DESCRIPTION, "My CouchApp Description"); properties.put(ICouchAppUtil.PROP_DESIGN_DOC_ID, "_design/newdesignname"); List<CouchDbServer> servers = new LinkedList<CouchDbServer>(); servers.add(new CouchDbServer("debug_db", "http://127.0.0.1:5984/debug_db")); servers.add(new CouchDbServer("prod_db", "http://127.0.0.1:5984/prod_db")); properties.put(ICouchAppUtil.PROP_COUCHDB_SERVERS, servers); File folder = generateCouchApp(); couchAppUtil.writeProperties(folder, properties); // check the design doc id File idFile = new File(folder, ICouchAppUtil._ID); String designDocName = IOUtils.toString(new FileReader(idFile)); assertEquals("_design/newdesignname", designDocName); // check the couchapp name and description File couchAppJsonFile = new File(folder, ICouchAppUtil.COUCHAPP_JSON); String tanga = IOUtils.toString(new FileReader(couchAppJsonFile)); Object obj = JSONValue.parse(tanga); JSONObject json = (JSONObject) obj; String name = json.get("name").toString(); assertEquals("My CouchApp Name", name); String description = json.get("description").toString(); assertEquals("My CouchApp Description", description); // check the couchdb servers List<CouchDbServer> couchDbServers = couchAppUtil.getCouchDbServers(folder); assertEquals(servers.size(), couchDbServers.size()); CouchDbServer first = couchDbServers.get(0); assertEquals("prod_db", first.getName()); assertEquals("http://127.0.0.1:5984/prod_db", first.getServer()); CouchDbServer second = couchDbServers.get(1); assertEquals("debug_db", second.getName()); assertEquals("http://127.0.0.1:5984/debug_db", second.getServer()); }