Added new Asset test.

Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/ebf43c7e
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/ebf43c7e
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/ebf43c7e

Branch: refs/heads/master
Commit: ebf43c7e6227e8b4df0e2ea4c8a956f133ad106e
Parents: 5f15161
Author: Robert Walsh <rjwalsh1...@gmail.com>
Authored: Wed Feb 24 16:19:57 2016 -0600
Committer: Robert Walsh <rjwalsh1...@gmail.com>
Committed: Wed Feb 24 16:19:57 2016 -0600

----------------------------------------------------------------------
 sdks/swift/Tests/ASSET_Tests.swift | 101 ++++++++++++++++++++++++++++++++
 1 file changed, 101 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/ebf43c7e/sdks/swift/Tests/ASSET_Tests.swift
----------------------------------------------------------------------
diff --git a/sdks/swift/Tests/ASSET_Tests.swift 
b/sdks/swift/Tests/ASSET_Tests.swift
index 2a7c540..68e7e32 100644
--- a/sdks/swift/Tests/ASSET_Tests.swift
+++ b/sdks/swift/Tests/ASSET_Tests.swift
@@ -38,6 +38,7 @@ class ASSET_Tests: XCTestCase {
     override func setUp() {
         super.setUp()
         Usergrid.initSharedInstance(orgId:ClientCreationTests.orgId, appId: 
ClientCreationTests.appId)
+        Usergrid.persistCurrentUserInKeychain = false
     }
 
     override func tearDown() {
@@ -134,6 +135,106 @@ class ASSET_Tests: XCTestCase {
         self.waitForExpectationsWithTimeout(100, handler: nil)
     }
 
+    func deleteUser(user:UsergridUser,expectation:XCTestExpectation) {
+        user.remove() { removeResponse in
+            XCTAssertTrue(NSThread.isMainThread())
+            XCTAssertNotNil(removeResponse)
+            XCTAssertTrue(removeResponse.ok)
+            XCTAssertNotNil(removeResponse.user)
+            XCTAssertNotNil(removeResponse.users)
+            print(removeResponse.error)
+            expectation.fulfill()
+        }
+    }
+
+    func test_ATTACH_ASSET_TO_CURRENT_USER() {
+        let userAssetExpect = 
self.expectationWithDescription("\(__FUNCTION__)")
+
+        let user = UsergridUser(name:User_Tests.name, email:User_Tests.email, 
username:User_Tests.username, password:User_Tests.password)
+        let uploadProgress : UsergridAssetRequestProgress = { (bytes,expected) 
in
+            print("UPLOAD PROGRESS BLOCK: BYTES:\(bytes) --- 
EXPECTED:\(expected)")
+        }
+        let downloadProgress : UsergridAssetRequestProgress = { 
(bytes,expected) in
+            print("DOWNLOAD PROGRESS BLOCK: BYTES:\(bytes) --- 
EXPECTED:\(expected)")
+        }
+
+        UsergridUser.checkAvailable(user.email, username: user.username) { 
error,available in
+
+            XCTAssertTrue(NSThread.isMainThread())
+            XCTAssertNil(error)
+            XCTAssertTrue(available)
+
+            user.create() { (createResponse) in
+                XCTAssertTrue(NSThread.isMainThread())
+                XCTAssertNotNil(createResponse)
+                XCTAssertTrue(createResponse.ok)
+                XCTAssertNotNil(createResponse.user)
+                XCTAssertNotNil(createResponse.users)
+                XCTAssertNotNil(user.uuid)
+
+                user.login(user.username!, password:User_Tests.password) { 
(auth, loggedInUser, error) -> Void in
+                    XCTAssertTrue(NSThread.isMainThread())
+                    XCTAssertNil(error)
+                    XCTAssertNotNil(auth)
+                    XCTAssertNotNil(loggedInUser)
+                    XCTAssertEqual(auth, user.auth!)
+
+                    Usergrid.authenticateUser(user.auth!) { 
auth,currentUser,error in
+                        XCTAssertTrue(NSThread.isMainThread())
+                        XCTAssertNil(error)
+                        XCTAssertNotNil(auth)
+                        XCTAssertEqual(auth, user.auth!)
+
+                        XCTAssertNotNil(currentUser)
+                        XCTAssertNotNil(Usergrid.currentUser)
+                        XCTAssertEqual(currentUser, Usergrid.currentUser!)
+
+                        let imagePath = 
self.getFullPathOfFile(ASSET_Tests.pngLocation)
+                        XCTAssertNotNil(imagePath)
+
+                        let localImage = UIImage(contentsOfFile: imagePath)
+                        XCTAssertNotNil(localImage)
+
+                        let asset = 
UsergridAsset(filename:ASSET_Tests.imageName,image: localImage!)
+                        XCTAssertNotNil(asset)
+
+                        Usergrid.currentUser!.uploadAsset(asset!, 
progress:uploadProgress) { uploadedAsset,response in
+                            XCTAssertTrue(NSThread.isMainThread())
+                            XCTAssertTrue(response.ok)
+                            XCTAssertNil(response.error)
+
+                            XCTAssertNotNil(asset)
+                            XCTAssertNotNil(uploadedAsset)
+                            XCTAssertEqual(uploadedAsset!, asset!)
+
+                            XCTAssertTrue(Usergrid.currentUser!.hasAsset)
+                            XCTAssertNotNil(Usergrid.currentUser!.fileMetaData)
+                            
XCTAssertNotNil(Usergrid.currentUser!.fileMetaData!.eTag)
+                            
XCTAssertNotNil(Usergrid.currentUser!.fileMetaData!.checkSum)
+                            
XCTAssertNotNil(Usergrid.currentUser!.fileMetaData!.contentType)
+                            
XCTAssertNotNil(Usergrid.currentUser!.fileMetaData!.lastModifiedDate)
+                            
XCTAssertEqual(Usergrid.currentUser!.asset!.contentLength, 
Usergrid.currentUser!.fileMetaData!.contentLength)
+                            
XCTAssertEqual(Usergrid.currentUser!.asset!.contentType, 
Usergrid.currentUser!.fileMetaData!.contentType)
+
+                            
Usergrid.currentUser!.downloadAsset(UsergridImageContentType.Png.stringValue, 
progress:downloadProgress)
+                                { (downloadedAsset, error) -> Void in
+                                    XCTAssertTrue(NSThread.isMainThread())
+                                    XCTAssertNotNil(downloadedAsset)
+                                    XCTAssertNil(error)
+                                    let downloadedImage = UIImage(data: 
downloadedAsset!.data)
+                                    
XCTAssertEqual(UIImagePNGRepresentation(localImage!), 
UIImagePNGRepresentation(downloadedImage!))
+                                    XCTAssertNotNil(downloadedImage)
+                                    
self.deleteUser(Usergrid.currentUser!,expectation:userAssetExpect)
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        self.waitForExpectationsWithTimeout(100, handler: nil)
+    }
+
+
     func test_FILE_META_DATA_NSCODING() {
         let fileMetaDataDict = ["content-type":"image/png",
                                 "etag":"dfa7421ea4f35d33e12ba93979a46b7e",

Reply via email to