swift: Implement Collection.destroy, fixing HLAPI collection unit test
Implements Collection.destroy and fixes the HLAPI unit tests that
were not passing because old collections were not destroyed.
Change-Id: I1840debe661f6f027d8d72121e9f8b70b2327e03
diff --git a/Syncbase/Source/Collection.swift b/Syncbase/Source/Collection.swift
index 98ea5db..ba0f82a 100644
--- a/Syncbase/Source/Collection.swift
+++ b/Syncbase/Source/Collection.swift
@@ -31,6 +31,11 @@
return Identifier(coreId: coreCollection.collectionId)
}
+ /// Deletes the collection locally and anywhere else the collection is synced to.
+ public func destroy() throws {
+ try coreCollection.destroy()
+ }
+
/// Shortcut for `Database.getSyncgroup(collection.collectionId)`, helpful for the common case
/// of one syncgroup per collection.
public func syncgroup() throws -> Syncgroup {
diff --git a/Syncbase/Tests/BasicDatabaseTests.swift b/Syncbase/Tests/BasicDatabaseTests.swift
index 2d90846..eba0109 100644
--- a/Syncbase/Tests/BasicDatabaseTests.swift
+++ b/Syncbase/Tests/BasicDatabaseTests.swift
@@ -52,13 +52,14 @@
// Must be idempotent.
try collection.createIfMissing()
try collection.createIfMissing()
+ collections = try db.collections()
+ XCTAssertEqual(collections.count, 1)
// Should be empty.
XCTAssertFalse(try collection.exists("a"))
+ try collection.destroy()
collections = try db.collections()
- XCTAssertEqual(collections.count, 1)
-
- // TODO(zinman): Delete collection.
+ XCTAssertEqual(collections.count, 0)
}
}