Skip to content

Commit 550fa35

Browse files
committed
first version finished :)
1 parent 99860ea commit 550fa35

File tree

2 files changed

+176
-3
lines changed

2 files changed

+176
-3
lines changed

Tests/ClientTests.swift

Lines changed: 90 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,14 +79,15 @@ class ClientTests: XCTestCase {
7979
} else {
8080
let items = JSON!["items"] as [[String: AnyObject]]
8181

82-
var find = false
82+
var found = false
8383
for item in items {
8484
if (item["name"] as String) == self.index.indexName {
85-
find = true
85+
found = true
86+
break
8687
}
8788
}
8889

89-
XCTAssertTrue(find, "List indexes failed")
90+
XCTAssertTrue(found, "List indexes failed")
9091
}
9192

9293
expectation.fulfill()
@@ -358,4 +359,90 @@ class ClientTests: XCTestCase {
358359

359360
waitForExpectationsWithTimeout(expectationTimeout, handler: nil)
360361
}
362+
363+
func testKeyOperations() {
364+
let expectation = expectationWithDescription("testKeyOperations")
365+
let object = ["city": "San Francisco", "objectID": "a/go/?à"]
366+
367+
index.addObject(object, block: { (JSON, error) -> Void in
368+
if let error = error {
369+
XCTFail("Error during addObject: \(error)")
370+
expectation.fulfill()
371+
} else {
372+
self.index.waitTask(JSON!["taskID"] as Int, block: { (JSON, error) -> Void in
373+
if let error = error {
374+
XCTFail("Error during waitTask: \(error)")
375+
expectation.fulfill()
376+
} else {
377+
self.client.addUserKey(["search"], block: { (JSON, error) -> Void in
378+
if let error = error {
379+
XCTFail("Error during addUserKey: \(error)")
380+
expectation.fulfill()
381+
} else {
382+
NSThread.sleepForTimeInterval(5) // Wait the backend
383+
self.client.getUserKeyACL(JSON!["key"] as String, block: { (JSON, error) -> Void in
384+
if let error = error {
385+
XCTFail("Error during getUserKeyACL: \(error)")
386+
expectation.fulfill()
387+
} else {
388+
let acls = JSON!["acl"] as [String]
389+
XCTAssertEqual(acls, ["search"], "Add user key failed")
390+
391+
self.client.updateUserKey(JSON!["value"] as String, withACL: ["addObject"], block: { (JSON, error) -> Void in
392+
if let error = error {
393+
XCTFail("Error during updateUserKey: \(error)")
394+
expectation.fulfill()
395+
} else {
396+
NSThread.sleepForTimeInterval(5) // Wait the backend
397+
self.client.getUserKeyACL(JSON!["key"] as String, block: { (JSON, error) -> Void in
398+
if let error = error {
399+
XCTFail("Error during getUserKeyACL: \(error)")
400+
expectation.fulfill()
401+
} else {
402+
let acls = JSON!["acl"] as [String]
403+
XCTAssertEqual(acls, ["addObject"], "Update user key failed")
404+
405+
let keyToDelete = JSON!["value"] as String
406+
self.client.deleteUserKey(keyToDelete, block: { (JSON, error) -> Void in
407+
if let error = error {
408+
XCTFail("Error during deleteUserKey: \(error)")
409+
expectation.fulfill()
410+
} else {
411+
NSThread.sleepForTimeInterval(5) // Wait the backend
412+
self.client.listUserKeys({ (JSON, error) -> Void in
413+
if let error = error {
414+
XCTFail("Error during listUserKeys: \(error)")
415+
} else {
416+
let keys = JSON!["keys"] as [[String: AnyObject]]
417+
418+
var found = false
419+
for key in keys {
420+
if (key["value"] as String) == keyToDelete {
421+
found = true
422+
break;
423+
}
424+
}
425+
426+
XCTAssertTrue(!found, "DeleteUserKey failed")
427+
}
428+
429+
expectation.fulfill()
430+
})
431+
}
432+
})
433+
}
434+
})
435+
}
436+
})
437+
}
438+
})
439+
}
440+
})
441+
}
442+
})
443+
}
444+
})
445+
446+
waitForExpectationsWithTimeout(expectationTimeout, handler: nil)
447+
}
361448
}

Tests/IndexTests.swift

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -649,4 +649,90 @@ class IndexTests: XCTestCase {
649649

650650
waitForExpectationsWithTimeout(expectationTimeout, handler: nil)
651651
}
652+
653+
func testKeyOperations() {
654+
let expectation = expectationWithDescription("testKeyOperations")
655+
let object = ["city": "San Francisco", "objectID": "a/go/?à"]
656+
657+
index.addObject(object, block: { (JSON, error) -> Void in
658+
if let error = error {
659+
XCTFail("Error during addObject: \(error)")
660+
expectation.fulfill()
661+
} else {
662+
self.index.waitTask(JSON!["taskID"] as Int, block: { (JSON, error) -> Void in
663+
if let error = error {
664+
XCTFail("Error during waitTask: \(error)")
665+
expectation.fulfill()
666+
} else {
667+
self.index.addUserKey(["search"], block: { (JSON, error) -> Void in
668+
if let error = error {
669+
XCTFail("Error during addUserKey: \(error)")
670+
expectation.fulfill()
671+
} else {
672+
NSThread.sleepForTimeInterval(5) // Wait the backend
673+
self.index.getUserKeyACL(JSON!["key"] as String, block: { (JSON, error) -> Void in
674+
if let error = error {
675+
XCTFail("Error during getUserKeyACL: \(error)")
676+
expectation.fulfill()
677+
} else {
678+
let acls = JSON!["acl"] as [String]
679+
XCTAssertEqual(acls, ["search"], "Add user key failed")
680+
681+
self.index.updateUserKey(JSON!["value"] as String, withACL: ["addObject"], block: { (JSON, error) -> Void in
682+
if let error = error {
683+
XCTFail("Error during updateUserKey: \(error)")
684+
expectation.fulfill()
685+
} else {
686+
NSThread.sleepForTimeInterval(5) // Wait the backend
687+
self.index.getUserKeyACL(JSON!["key"] as String, block: { (JSON, error) -> Void in
688+
if let error = error {
689+
XCTFail("Error during getUserKeyACL: \(error)")
690+
expectation.fulfill()
691+
} else {
692+
let acls = JSON!["acl"] as [String]
693+
XCTAssertEqual(acls, ["addObject"], "Update user key failed")
694+
695+
let keyToDelete = JSON!["value"] as String
696+
self.index.deleteUserKey(keyToDelete, block: { (JSON, error) -> Void in
697+
if let error = error {
698+
XCTFail("Error during deleteUserKey: \(error)")
699+
expectation.fulfill()
700+
} else {
701+
NSThread.sleepForTimeInterval(5) // Wait the backend
702+
self.index.listUserKeys({ (JSON, error) -> Void in
703+
if let error = error {
704+
XCTFail("Error during listUserKeys: \(error)")
705+
} else {
706+
let keys = JSON!["keys"] as [[String: AnyObject]]
707+
708+
var found = false
709+
for key in keys {
710+
if (key["value"] as String) == keyToDelete {
711+
found = true
712+
break;
713+
}
714+
}
715+
716+
XCTAssertTrue(!found, "DeleteUserKey failed")
717+
}
718+
719+
expectation.fulfill()
720+
})
721+
}
722+
})
723+
}
724+
})
725+
}
726+
})
727+
}
728+
})
729+
}
730+
})
731+
}
732+
})
733+
}
734+
})
735+
736+
waitForExpectationsWithTimeout(expectationTimeout, handler: nil)
737+
}
652738
}

0 commit comments

Comments
 (0)