Syncgroup { public void leave() throws VError { io.v.syncbase.internal.Database.LeaveSyncgroup(dbFullName, id); } Syncgroup(Database database, Id id); Id getId(); void create(SyncgroupSpec spec, SyncgroupMemberInfo info); SyncgroupSpec join(String remoteSyncbaseName, List<String> expectedSyncbaseBlessings,
                              SyncgroupMemberInfo info); void leave(); void destroy(); void eject(String member); VersionedSyncgroupSpec getSpec(); void setSpec(VersionedSyncgroupSpec spec); Map<String, SyncgroupMemberInfo> getMembers();  }
@Test public void leave() { Id dbId = new Id("idp:a:angrybirds", "core_leave_syncgroups"); Id sgId = new Id("idp:u:alice", "syncgroup"); boolean exceptionThrown = false; try { Database db = Service.database(dbId); db.create(anyDbPermissions()); db.syncgroup(sgId).leave(); } catch (VError vError) { assertEquals("v.io/v23/verror.NotImplemented", vError.id); exceptionThrown = true; } assertTrue(exceptionThrown); }