usergrid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mru...@apache.org
Subject [45/51] [partial] usergrid git commit: Moving Swift SDK to https://github.com/apache/usergrid-swift.
Date Thu, 01 Sep 2016 23:52:35 GMT
http://git-wip-us.apache.org/repos/asf/usergrid/blob/ae39eca6/sdks/swift/Source/UsergridUser.swift
----------------------------------------------------------------------
diff --git a/sdks/swift/Source/UsergridUser.swift b/sdks/swift/Source/UsergridUser.swift
deleted file mode 100644
index 17415ba..0000000
--- a/sdks/swift/Source/UsergridUser.swift
+++ /dev/null
@@ -1,523 +0,0 @@
-//
-//  User.swift
-//  UsergridSDK
-//
-//  Created by Robert Walsh on 7/21/15.
-//
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- *
- */
-
-import Foundation
-
-/// The completion block used for checking email and/or username availablity for new `UsergridUser` objects.
-public typealias UsergridUserAvailabilityCompletion = (error: UsergridResponseError?, available:Bool) -> Void
-
-/// The completion block used for changing the password of `UsergridUser` objects.
-public typealias UsergridUserResetPasswordCompletion = (error: UsergridResponseError?, didSucceed:Bool) -> Void
-
-/**
-`UsergridUser` is a special subclass of `UsergridEntity` that supports functions and properties unique to users.
-*/
-public class UsergridUser : UsergridEntity {
-
-    static let USER_ENTITY_TYPE = "user"
-
-    // MARK: - Instance Properties -
-
-    /// The `UsergridUserAuth` object if this user was authenticated.
-    public var auth: UsergridUserAuth?
-
-    /** 
-    Property helper method for the `UsergridUser` objects `UsergridUserProperties.Name`.
-    
-    Unlike `UsergridEntity` objects, `UsergridUser`'s can change their name property which is why we provide a getter here.
-    */
-    override public var name: String? {
-        set(name) { self[UsergridUserProperties.Name.stringValue] = name }
-        get{ return super.name }
-    }
-
-    /// Property getter and setter helpers for the `UsergridUser` objects `UsergridUserProperties.Username`.
-    public var username: String? {
-        set(username) { self[UsergridUserProperties.Username.stringValue] = username }
-        get { return self.getUserSpecificProperty(.Username) as? String }
-    }
-
-    /// Property getter and setter helpers for the `UsergridUser` objects `UsergridUserProperties.Password`.
-    public var password: String? {
-        set(password) { self[UsergridUserProperties.Password.stringValue] = password }
-        get { return self.getUserSpecificProperty(.Password) as? String }
-    }
-
-    /// Property getter and setter helpers for the `UsergridUser` objects `UsergridUserProperties.Email`.
-    public var email: String? {
-        set(email) { self[UsergridUserProperties.Email.stringValue] = email }
-        get { return self.getUserSpecificProperty(.Email) as? String }
-    }
-
-    /// Property getter and setter helpers for the `UsergridUser` objects `UsergridUserProperties.Age`.
-    public var age: NSNumber? {
-        set(age) { self[UsergridUserProperties.Age.stringValue] = age }
-        get { return self.getUserSpecificProperty(.Age) as? NSNumber }
-    }
-
-    /// Property helper method to get the username or email of the `UsergridUser`.
-    public var usernameOrEmail: String? { return self.username ?? self.email }
-
-    /** 
-    Property getter and setter helpers for the `UsergridUser` objects `UsergridUserProperties.Activated`.
-    
-    Indicates whether the user account has been activated or not.
-    */
-    public var activated: Bool {
-        set(activated) { self[UsergridUserProperties.Activated.stringValue] = activated }
-        get { return self.getUserSpecificProperty(.Activated) as? Bool ?? false }
-    }
-
-    /// Property getter and setter helpers for the `UsergridUser` objects `UsergridUserProperties.Disabled`.
-    public var disabled: Bool {
-        set(disabled) { self[UsergridUserProperties.Disabled.stringValue] = disabled }
-        get { return self.getUserSpecificProperty(.Disabled) as? Bool ?? false }
-    }
-
-    /**
-    Property getter and setter helpers for the `UsergridUser` objects `UsergridUserProperties.Picture`.
-    
-    URL path to user’s profile picture. Defaults to Gravatar for email address.
-    */
-    public var picture: String? {
-        set(picture) { self[UsergridUserProperties.Picture.stringValue] = picture }
-        get { return self.getUserSpecificProperty(.Picture) as? String }
-    }
-
-    /// The UUID or username property value if found.
-    public var uuidOrUsername: String? { return self.uuid ?? self.username }
-
-    // MARK: - Initialization -
-
-    /**
-    Designated initializer for `UsergridUser` objects.
-
-    - parameter name: The name of the user.  Note this is different from the `username` property.
-
-    - returns: A new instance of `UsergridUser`.
-    */
-    public init(name:String? = nil) {
-        super.init(type: UsergridUser.USER_ENTITY_TYPE, name:name, propertyDict:nil)
-    }
-
-    /**
-     The required public initializer for `UsergridEntity` subclasses.
-
-     - parameter type:         The type associated with the `UsergridEntity` object.
-     - parameter name:         The optional name associated with the `UsergridEntity` object.
-     - parameter propertyDict: The optional property dictionary that the `UsergridEntity` object will start out with.
-
-     - returns: A new `UsergridUser` object.
-     */
-    required public init(type: String, name: String?, propertyDict: [String : AnyObject]?) {
-        super.init(type: type, name: name, propertyDict: propertyDict)
-    }
-
-    /**
-    Designated initializer for `UsergridUser` objects.
-
-    - parameter name:         The name of the user.  Note this is different from the `username` property.
-    - parameter propertyDict: The optional property dictionary that the `UsergridEntity` object will start out with.
-
-    - returns: A new instance of `UsergridUser`.
-    */
-    public init(name:String,propertyDict:[String:AnyObject]? = nil) {
-        super.init(type: UsergridUser.USER_ENTITY_TYPE, name:name, propertyDict:propertyDict)
-    }
-
-    /**
-     Convenience initializer for `UsergridUser` objects.
-
-     - parameter name:     The name of the user.  Note this is different from the `username` property.
-     - parameter email:    The user's email.
-     - parameter password: The optional user's password.
-
-     - returns: A new instance of `UsergridUser`.
-     */
-    public convenience init(name:String, email:String, password:String? = nil) {
-        self.init(name:name,email:email,username:nil,password:password)
-    }
-
-    /**
-     Convenience initializer for `UsergridUser` objects.
-
-     - parameter email:    The user's email.
-     - parameter password: The optional user's password.
-
-     - returns: A new instance of `UsergridUser`.
-     */
-    public convenience init(email:String, password:String? = nil) {
-        self.init(name:nil,email:email,username:nil,password:password)
-    }
-
-    /**
-     Convenience initializer for `UsergridUser` objects.
-
-     - parameter name:     The name of the user.  Note this is different from the `username` property.
-     - parameter username: The username of the user.
-     - parameter password: The optional user's password.
-
-     - returns: A new instance of `UsergridUser`.
-     */
-    public convenience init(name:String, username:String, password:String? = nil) {
-        self.init(name:name,email:nil,username:username,password:password)
-    }
-
-    /**
-     Convenience initializer for `UsergridUser` objects.
-
-     - parameter username: The username of the user.
-     - parameter password: The optional user's password.
-
-     - returns: A new instance of `UsergridUser`.
-     */
-    public convenience init(username:String, password:String? = nil) {
-        self.init(name:nil,email:nil,username:username,password:password)
-    }
-
-    /**
-     Convenience initializer for `UsergridUser` objects.
-
-     - parameter name:     The optional name of the user.  Note this is different from the `username` property.
-     - parameter email:    The optional user's email.
-     - parameter username: The optional username of the user.
-     - parameter password: The optional user's password.
-
-     - returns: A new instance of `UsergridUser`.
-     */
-    public convenience init(name:String?, email:String?, username:String?, password:String? = nil) {
-        self.init(name:name)
-        self.email = email
-        self.username = username
-        self.password = password
-    }
-
-    // MARK: - NSCoding -
-
-    /**
-    NSCoding protocol initializer.
-
-    - parameter aDecoder: The decoder.
-
-    - returns: A decoded `UsergridUser` object.
-    */
-    required public init?(coder aDecoder: NSCoder) {
-        self.auth = aDecoder.decodeObjectForKey("auth") as? UsergridUserAuth
-        super.init(coder: aDecoder)
-    }
-
-    /**
-     NSCoding protocol encoder.
-
-     - parameter aCoder: The encoder.
-     */
-    public override func encodeWithCoder(aCoder: NSCoder) {
-        aCoder.encodeObject(self.auth, forKey: "auth")
-        super.encodeWithCoder(aCoder)
-    }
-
-    // MARK: - Class Methods -
-
-    /**
-    Checks the given email and/or username availablity for new `UsergridUser` objects using the shared instance of `UsergridClient`.
-
-    - parameter email:      The optional email address.
-    - parameter username:   The optional username.
-    - parameter completion: The completion block.
-    */
-    public static func checkAvailable(email:String?, username:String?, completion:UsergridUserAvailabilityCompletion) {
-        self.checkAvailable(Usergrid.sharedInstance, email: email, username: username, completion: completion)
-    }
-
-    /**
-     Checks the given email and/or username availablity for new `UsergridUser` objects using with the given `UsergridClient`.
-
-     - parameter client:     The client to use for checking availability.
-     - parameter email:      The optional email address.
-     - parameter username:   The optional username.
-     - parameter completion: The completion block.
-     */
-    public static func checkAvailable(client: UsergridClient, email:String?, username:String?, completion:UsergridUserAvailabilityCompletion) {
-        let query = UsergridQuery(USER_ENTITY_TYPE)
-        if let emailValue = email {
-            query.eq(UsergridUserProperties.Email.stringValue, value: emailValue)
-        }
-        if let usernameValue = username {
-            query.or().eq(UsergridUserProperties.Username.stringValue, value: usernameValue)
-        }
-        client.GET(query) { (response) -> Void in
-            completion(error: response.error, available: response.entity == nil)
-        }
-    }
-
-    // MARK: - Instance Methods -
-
-    /**
-    Creates the user object in Usergrid if the user does not already exist with the shared instance of `UsergridClient`.
-
-    - parameter completion: The optional completion block.
-    */
-    public func create(completion: UsergridResponseCompletion? = nil) {
-        self.create(Usergrid.sharedInstance, completion: completion)
-    }
-
-    /**
-    Creates the user object in Usergrid if the user does not already exist with the given `UsergridClient`.
-
-    - parameter client:     The client to use for creation.
-    - parameter completion: The optional completion block.
-    */
-    public func create(client: UsergridClient, completion: UsergridResponseCompletion? = nil) {
-        client.POST(self) { (response) -> Void in
-            if response.ok, let createdUser = response.user {
-                self.copyInternalsFromEntity(createdUser)
-            }
-            completion?(response: response)
-        }
-    }
-
-    /**
-    Authenticates the specified user using the provided username and password with the shared instance of `UsergridClient`.
-
-    While functionally similar to `UsergridClient.authenticateUser(auth)`, this method does not automatically assign this user to `UsergridClient.currentUser`:
-
-    - parameter username:   The username.
-    - parameter password:   The password.
-    - parameter completion: The optional completion block.
-    */
-    public func login(username:String, password:String, completion: UsergridUserAuthCompletionBlock? = nil) {
-        self.login(Usergrid.sharedInstance, username: username, password: password, completion: completion)
-    }
-
-    /**
-    Authenticates the specified user using the provided username and password.
-
-    While functionally similar to `UsergridClient.authenticateUser(auth)`, this method does not automatically assign this user to `UsergridClient.currentUser`:
-
-    - parameter client:     The client to use for login.
-    - parameter username:   The username.
-    - parameter password:   The password.
-    - parameter completion: The optional completion block.
-    */
-    public func login(client: UsergridClient, username:String, password:String, completion: UsergridUserAuthCompletionBlock? = nil) {
-        let userAuth = UsergridUserAuth(username: username, password: password)
-        client.authenticateUser(userAuth,setAsCurrentUser:false) { (auth, user, error) -> Void in
-            self.auth = userAuth
-            completion?(auth: userAuth, user: user, error: error)
-        }
-    }
-
-     /**
-     Changes the User's current password with the shared instance of `UsergridClient`.
-
-     - parameter old:        The old password.
-     - parameter new:        The new password.
-     - parameter completion: The optional completion block.
-     */
-    public func resetPassword(old:String, new:String, completion:UsergridUserResetPasswordCompletion? = nil) {
-        self.resetPassword(Usergrid.sharedInstance, old: old, new: new, completion: completion)
-    }
-
-    /**
-     Changes the User's current password with the shared instance of `UsergridClient`.
-
-     - parameter client:     The client to use for resetting the password.
-     - parameter old:        The old password.
-     - parameter new:        The new password.
-     - parameter completion: The optional completion block
-     */
-    public func resetPassword(client: UsergridClient, old:String, new:String, completion:UsergridUserResetPasswordCompletion? = nil) {
-        client.resetPassword(self, old: old, new: new, completion: completion)
-    }
-
-    /**
-     Attmepts to reauthenticate using the user's `UsergridUserAuth` instance property with the shared instance of `UsergridClient`.
-
-     - parameter completion: The optional completion block.
-     */
-    public func reauthenticate(completion: UsergridUserAuthCompletionBlock? = nil) {
-        self.reauthenticate(Usergrid.sharedInstance, completion: completion)
-    }
-
-    /**
-     Attmepts to reauthenticate using the user's `UsergridUserAuth` instance property.
-
-     - parameter client:     The client to use for reauthentication.
-     - parameter completion: The optional completion block.
-     */
-    public func reauthenticate(client: UsergridClient, completion: UsergridUserAuthCompletionBlock? = nil) {
-        guard let userAuth = self.auth
-            else {
-                completion?(auth: nil, user: self, error: UsergridResponseError(errorName: "Invalid UsergridUserAuth.", errorDescription: "No UsergridUserAuth found on the UsergridUser."))
-                return
-        }
-
-        client.authenticateUser(userAuth, setAsCurrentUser:self.isEqualToEntity(client.currentUser), completion: completion)
-    }
-
-    /**
-    Invalidates the user token locally and remotely.
-
-    - parameter completion: The optional completion block.
-    */
-    public func logout(completion:UsergridResponseCompletion? = nil) {
-        self.logout(Usergrid.sharedInstance,completion:completion)
-    }
-
-    /**
-    Invalidates the user token locally and remotely.
-
-    - parameter client:     The client to use for logout.
-    - parameter completion: The optional completion block.
-    */
-    public func logout(client: UsergridClient, completion:UsergridResponseCompletion? = nil) {
-        guard let uuidOrUsername = self.uuidOrUsername,
-              let accessToken = self.auth?.accessToken
-            else {
-                completion?(response: UsergridResponse(client:client, errorName:"Logout Failed.", errorDescription:"UUID or Access Token not found on UsergridUser object."))
-                return
-        }
-        
-        client.logoutUser(uuidOrUsername, token: accessToken) { (response) in
-            self.auth = nil
-            completion?(response: response)
-        }
-    }
-
-    /**
-     A special convenience function that connects a `UsergridDevice` to this `UsergridUser` using the shared instance of `UsergridClient`.
-
-     - parameter device:     The device to connect to.  If nil it will use the `UsergridDevice.sharedDevice` instance.
-     - parameter completion: The optional completion block.
-     */
-    public func connectToDevice(device:UsergridDevice? = nil, completion:UsergridResponseCompletion? = nil) {
-        self.connectToDevice(Usergrid.sharedInstance, device: device, completion: completion)
-    }
-
-    /**
-     A special convenience function that connects a `UsergridDevice` to this `UsergridUser`.
-
-     - parameter client:     The `UsergridClient` object to use for connecting.
-     - parameter device:     The device to connect to.  If nil it will use the `UsergridDevice.sharedDevice` instance.
-     - parameter completion: The optional completion block.
-     */
-    public func connectToDevice(client:UsergridClient, device:UsergridDevice? = nil, completion:UsergridResponseCompletion? = nil) {
-        let deviceToConnect = device ?? UsergridDevice.sharedDevice
-        guard let _ = deviceToConnect.uuidOrName
-            else {
-            completion?(response: UsergridResponse(client: client, errorName: "Device cannot be connected to User.", errorDescription: "Device has neither an UUID or name specified."))
-            return
-        }
-
-        self.connect(client, relationship: "", toEntity: deviceToConnect, completion: completion)
-    }
-
-    /**
-     Gets the connected device using the shared instance of `UsergridClient`.
-
-     - parameter completion: The optional completion block.
-     */
-    public func getConnectedDevice(completion:UsergridResponseCompletion? = nil) {
-        self.getConnectedDevice(Usergrid.sharedInstance, completion: completion)
-    }
-
-    /**
-     Gets the connected device.
-
-     - parameter client:     The `UsergridClient` object to use for connecting.
-     - parameter completion: The optional completion block.
-     */
-    public func getConnectedDevice(client:UsergridClient, completion:UsergridResponseCompletion? = nil) {
-        client.getConnections(.Out, entity: self, relationship: "device", completion: completion)
-    }
-
-    /**
-     A special convenience function that disconnects a `UsergridDevice` from this `UsergridUser` using the shared instance of `UsergridClient`.
-
-     - parameter device:     The device to connect to.  If nil it will use the `UsergridDevice.sharedDevice` instance.
-     - parameter completion: The optional completion block.
-     */
-    public func disconnectFromDevice(device:UsergridDevice? = nil, completion:UsergridResponseCompletion? = nil) {
-        self.disconnectFromDevice(Usergrid.sharedInstance, device: device, completion: completion)
-    }
-
-    /**
-     A special convenience function that disconnects a `UsergridDevice` from this `UsergridUser`.
-
-     - parameter client:     The `UsergridClient` object to use for connecting.
-     - parameter device:     The device to connect to.
-     - parameter completion: The optional completion block.
-     */
-    public func disconnectFromDevice(client:UsergridClient, device:UsergridDevice? = nil, completion:UsergridResponseCompletion? = nil) {
-        let deviceToDisconnectFrom = device ?? UsergridDevice.sharedDevice
-        guard let _ = deviceToDisconnectFrom.uuidOrName
-            else {
-                completion?(response: UsergridResponse(client: client, errorName: "Device cannot be disconnected from User.", errorDescription: "Device has neither an UUID or name specified."))
-                return
-        }
-
-        self.disconnect(client, relationship: "", fromEntity: deviceToDisconnectFrom, completion: completion)
-    }
-
-    private func getUserSpecificProperty(userProperty: UsergridUserProperties) -> AnyObject? {
-        var propertyValue: AnyObject? = super[userProperty.stringValue]
-        NSJSONReadingOptions.AllowFragments
-        switch userProperty {
-            case .Activated,.Disabled :
-                propertyValue = propertyValue?.boolValue
-            case .Age :
-                propertyValue = propertyValue?.integerValue
-            case .Name,.Username,.Password,.Email,.Picture :
-                break
-        }
-        return propertyValue
-    }
-
-    /**
-    Subscript for the `UsergridUser` class.
-
-    - Warning: When setting a properties value must be a valid JSON object.
-
-    - Example usage:
-    ```
-    let someName = usergridUser["name"]
-    
-    usergridUser["name"] = someName
-    ```
-    */
-    override public subscript(propertyName: String) -> AnyObject? {
-        get {
-            if let userProperty = UsergridUserProperties.fromString(propertyName) {
-                return self.getUserSpecificProperty(userProperty)
-            } else {
-                return super[propertyName]
-            }
-        }
-        set(propertyValue) {
-            super[propertyName] = propertyValue
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ae39eca6/sdks/swift/Tests/ASSET_Tests.swift
----------------------------------------------------------------------
diff --git a/sdks/swift/Tests/ASSET_Tests.swift b/sdks/swift/Tests/ASSET_Tests.swift
deleted file mode 100644
index c6f860f..0000000
--- a/sdks/swift/Tests/ASSET_Tests.swift
+++ /dev/null
@@ -1,280 +0,0 @@
-//
-//  ASSET_Tests.swift
-//  UsergridSDK
-//
-//  Created by Robert Walsh on 9/24/15.
-//
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- *
- */
-
-import XCTest
-@testable import UsergridSDK
-
-class ASSET_Tests: XCTestCase {
-
-    static let collectionName = "books"
-    static let entityUUID = "f4078aca-2fb1-11e5-8eb2-e13f8369aad1"
-    static let pngLocation = "TestAssets/test.png"
-    static let jpgLocation = "TestAssets/UsergridGuy.jpg"
-    static let imageName = "test"
-
-    override func setUp() {
-        super.setUp()
-        Usergrid.initSharedInstance(orgId:ClientCreationTests.orgId, appId: ClientCreationTests.appId)
-        Usergrid.persistCurrentUserInKeychain = false
-    }
-
-    override func tearDown() {
-        Usergrid._sharedClient = nil
-        super.tearDown()
-    }
-
-    func getFullPathOfFile(fileLocation:String) -> String {
-        return (NSBundle(forClass: object_getClass(self)).resourcePath! as NSString).stringByAppendingPathComponent(fileLocation)
-    }
-
-    func test_ASSET_INIT() {
-        var filePath = self.getFullPathOfFile(ASSET_Tests.pngLocation)
-        var image = UIImage(contentsOfFile: filePath)
-        var asset = UsergridAsset(filename:ASSET_Tests.imageName,image: image!)
-        XCTAssertNotNil(asset)
-        XCTAssertNotNil(asset!.data)
-        XCTAssertNotNil(asset!.filename)
-        XCTAssertEqual(asset!.contentType, UsergridImageContentType.Png.stringValue)
-        XCTAssertTrue(asset!.contentLength > 0)
-
-        asset = UsergridAsset(filename:ASSET_Tests.imageName, fileURL: NSURL(fileURLWithPath: filePath))
-        XCTAssertNotNil(asset)
-        XCTAssertNotNil(asset!.data)
-        XCTAssertNotNil(asset!.filename)
-        XCTAssertEqual(asset!.contentType, UsergridImageContentType.Png.stringValue)
-        XCTAssertTrue(asset!.contentLength > 0)
-
-        filePath = self.getFullPathOfFile(ASSET_Tests.jpgLocation)
-        image = UIImage(contentsOfFile: filePath)
-        asset = UsergridAsset(filename:nil,image: image!, imageContentType:.Jpeg)
-        XCTAssertNotNil(asset)
-        XCTAssertNotNil(asset!.data)
-        XCTAssertEqual(asset!.filename,UsergridAsset.DEFAULT_FILE_NAME)
-        XCTAssertEqual(asset!.contentType, UsergridImageContentType.Jpeg.stringValue)
-        XCTAssertTrue(asset!.contentLength > 0)
-    }
-
-    func test_IMAGE_UPLOAD() {
-        let getExpect = self.expectationWithDescription("\(#function)")
-        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)")
-        }
-
-        Usergrid.GET(ASSET_Tests.collectionName, uuidOrName:ASSET_Tests.entityUUID) { (response) in
-            XCTAssertTrue(NSThread.isMainThread())
-
-            let entity = response.first!
-            XCTAssertNotNil(entity)
-            XCTAssertFalse(entity.isUser)
-
-            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)
-
-            entity.uploadAsset(asset!, progress:uploadProgress) { uploadedAsset,response in
-                XCTAssertTrue(NSThread.isMainThread())
-                XCTAssertTrue(response.ok)
-                XCTAssertNil(response.error)
-
-                XCTAssertNotNil(asset)
-                XCTAssertNotNil(uploadedAsset)
-                XCTAssertEqual(uploadedAsset!, asset!)
-
-                XCTAssertTrue(entity.hasAsset)
-                XCTAssertNotNil(entity.fileMetaData)
-                XCTAssertNotNil(entity.fileMetaData!.eTag)
-                XCTAssertNotNil(entity.fileMetaData!.checkSum)
-                XCTAssertNotNil(entity.fileMetaData!.contentType)
-                XCTAssertNotNil(entity.fileMetaData!.lastModifiedDate)
-                XCTAssertEqual(entity.asset!.contentLength, entity.fileMetaData!.contentLength)
-                XCTAssertEqual(entity.asset!.contentType, entity.fileMetaData!.contentType)
-
-                entity.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)
-                    getExpect.fulfill()
-                }
-            }
-        }
-        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",
-                                "checkSum":"dfa7421ea4f35d33e12ba93979a46b7e",
-                                "content-length":1417896,
-                                "last-modified":1455728898545]
-        
-        let fileMetaData = UsergridFileMetaData(fileMetaDataJSON:fileMetaDataDict)
-
-        let fileMetaDataCodingData = NSKeyedArchiver.archivedDataWithRootObject(fileMetaData)
-        let newInstanceFromData = NSKeyedUnarchiver.unarchiveObjectWithData(fileMetaDataCodingData) as? UsergridFileMetaData
-        XCTAssertNotNil(newInstanceFromData)
-
-        if let newInstance = newInstanceFromData {
-            XCTAssertEqual(fileMetaData.eTag,newInstance.eTag)
-            XCTAssertEqual(fileMetaData.checkSum,newInstance.checkSum)
-            XCTAssertEqual(fileMetaData.contentType,newInstance.contentType)
-            XCTAssertEqual(fileMetaData.contentLength,newInstance.contentLength)
-            XCTAssertEqual(fileMetaData.lastModifiedDate,newInstance.lastModifiedDate)
-        }
-    }
-
-    func test_ASSET_NSCODING() {
-        let imagePath = self.getFullPathOfFile(ASSET_Tests.pngLocation)
-        let asset = UsergridAsset(filename:ASSET_Tests.imageName,fileURL: NSURL(fileURLWithPath: imagePath))
-        XCTAssertNotNil(asset)
-
-        if let originalAsset = asset {
-            let assetCodingData = NSKeyedArchiver.archivedDataWithRootObject(originalAsset)
-            let newInstanceFromData = NSKeyedUnarchiver.unarchiveObjectWithData(assetCodingData) as? UsergridAsset
-
-            XCTAssertNotNil(newInstanceFromData)
-
-            if let newInstance = newInstanceFromData {
-                XCTAssertEqual(originalAsset.filename,newInstance.filename)
-                XCTAssertEqual(originalAsset.data,newInstance.data)
-                XCTAssertEqual(originalAsset.originalLocation,newInstance.originalLocation)
-                XCTAssertEqual(originalAsset.contentType,newInstance.contentType)
-                XCTAssertEqual(originalAsset.contentLength,newInstance.contentLength)
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ae39eca6/sdks/swift/Tests/AUTH_Tests.swift
----------------------------------------------------------------------
diff --git a/sdks/swift/Tests/AUTH_Tests.swift b/sdks/swift/Tests/AUTH_Tests.swift
deleted file mode 100644
index 80ec695..0000000
--- a/sdks/swift/Tests/AUTH_Tests.swift
+++ /dev/null
@@ -1,132 +0,0 @@
-//
-//  AUTH_Tests.swift
-//  UsergridSDK
-//
-//  Created by Robert Walsh on 9/17/15.
-//
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- *
- */
-
-import XCTest
-@testable import UsergridSDK
-
-class AUTH_Tests: XCTestCase {
-
-    var appAuth: UsergridAppAuth!
-    var userAuth: UsergridUserAuth!
-
-    private static let collectionName = "publicevent"
-    private static let entityUUID = "fa015eaa-fe1c-11e3-b94b-63b29addea01"
-
-    override func setUp() {
-        super.setUp()
-        appAuth = UsergridAppAuth(clientId: "b3U6THNcevskEeOQZLcUROUUVA", clientSecret: "b3U6RZHYznP28xieBzQPackFPmmnevU")
-        userAuth = UsergridUserAuth(username: "username", password: "password")
-        Usergrid.initSharedInstance(orgId:ClientCreationTests.orgId, appId: "sdk.demo")
-    }
-
-    override func tearDown() {
-        Usergrid._sharedClient = nil
-        super.tearDown()
-    }
-
-    func test_CLIENT_AUTH() {
-
-        let authExpect = self.expectationWithDescription("\(#function)")
-        Usergrid.authMode = .App
-        Usergrid.authenticateApp(appAuth) { auth,error in
-            XCTAssertTrue(NSThread.isMainThread())
-            XCTAssertNil(error)
-            XCTAssertNotNil(Usergrid.appAuth)
-
-            if let appAuth = Usergrid.appAuth {
-
-                XCTAssertNotNil(appAuth.accessToken)
-                XCTAssertNotNil(appAuth.expiry)
-                XCTAssertNotNil(appAuth.isValid)
-
-                Usergrid.GET(AUTH_Tests.collectionName) { (response) in
-                    XCTAssertTrue(NSThread.isMainThread())
-                    XCTAssertNotNil(response)
-                    XCTAssertTrue(response.hasNextPage)
-                    XCTAssertEqual(response.entities!.count, 10)
-                    XCTAssertEqual(response.first!.type, AUTH_Tests.collectionName)
-                    
-                    authExpect.fulfill()
-                }
-            }
-        }
-        self.waitForExpectationsWithTimeout(100, handler: nil)
-    }
-
-    func test_DESTROY_AUTH() {
-        let auth = UsergridAuth(accessToken: "YWMt91Q2YtWaEeW_Ki2uDueMEwAAAVMUTVSPeOdX-oradxdqirEFz5cPU3GWybs")
-
-        XCTAssertTrue(auth.isValid)
-        XCTAssertNotNil(auth.accessToken)
-        XCTAssertNil(auth.expiry)
-
-        auth.destroy()
-
-        XCTAssertFalse(auth.isValid)
-        XCTAssertNil(auth.accessToken)
-        XCTAssertNil(auth.expiry)
-    }
-
-    func test_APP_AUTH_NSCODING() {
-
-        appAuth.accessToken = "YWMt91Q2YtWaEeW_Ki2uDueMEwAAAVMUTVSPeOdX-oradxdqirEFz5cPU3GWybs"
-        appAuth.expiry = NSDate.distantFuture()
-
-        let authCodingData = NSKeyedArchiver.archivedDataWithRootObject(appAuth)
-        let newInstanceFromData = NSKeyedUnarchiver.unarchiveObjectWithData(authCodingData) as? UsergridAppAuth
-
-        XCTAssertNotNil(newInstanceFromData)
-
-        if let newInstance = newInstanceFromData {
-            XCTAssertTrue(appAuth.isValid)
-            XCTAssertTrue(newInstance.isValid)
-            XCTAssertEqual(appAuth.clientId,newInstance.clientId)
-            XCTAssertEqual(appAuth.accessToken,newInstance.accessToken)
-            XCTAssertEqual(appAuth.expiry,newInstance.expiry)
-        }
-    }
-
-    func test_USER_AUTH_NSCODING() {
-
-        userAuth.accessToken = "YWMt91Q2YtWaEeW_Ki2uDueMEwAAAVMUTVSPeOdX-oradxdqirEFz5cPU3GWybs"
-        userAuth.expiry = NSDate.distantFuture()
-
-        let authCodingData = NSKeyedArchiver.archivedDataWithRootObject(userAuth)
-        let newInstanceFromData = NSKeyedUnarchiver.unarchiveObjectWithData(authCodingData) as? UsergridUserAuth
-
-        XCTAssertNotNil(newInstanceFromData)
-
-        if let newInstance = newInstanceFromData {
-            XCTAssertTrue(userAuth.isValid)
-            XCTAssertTrue(newInstance.isValid)
-            XCTAssertEqual(userAuth.username,newInstance.username)
-            XCTAssertEqual(userAuth.accessToken,newInstance.accessToken)
-            XCTAssertEqual(userAuth.expiry,newInstance.expiry)
-        }
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ae39eca6/sdks/swift/Tests/CONNECTION_Tests.swift
----------------------------------------------------------------------
diff --git a/sdks/swift/Tests/CONNECTION_Tests.swift b/sdks/swift/Tests/CONNECTION_Tests.swift
deleted file mode 100644
index 2640778..0000000
--- a/sdks/swift/Tests/CONNECTION_Tests.swift
+++ /dev/null
@@ -1,105 +0,0 @@
-//
-//  CONNECTION_Tests.swift
-//  UsergridSDK
-//
-//  Created by Robert Walsh on 10/5/15.
-//
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- *
- */
-
-import XCTest
-@testable import UsergridSDK
-
-class CONNECTION_Tests: XCTestCase {
-
-    let clientAuth = UsergridAppAuth(clientId: "b3U6THNcevskEeOQZLcUROUUVA", clientSecret: "b3U6RZHYznP28xieBzQPackFPmmnevU")
-    private static let collectionName = "publicevent"
-
-    override func setUp() {
-        super.setUp()
-        Usergrid.initSharedInstance(orgId:ClientCreationTests.orgId, appId: "sdk.demo")
-    }
-
-    override func tearDown() {
-        Usergrid._sharedClient = nil
-        super.tearDown()
-    }
-
-    func test_CLIENT_AUTH() {
-
-        let authExpect = self.expectationWithDescription("\(#function)")
-        Usergrid.authMode = .App
-        Usergrid.authenticateApp(clientAuth) { auth,error in
-            XCTAssertTrue(NSThread.isMainThread())
-            XCTAssertNil(error)
-            XCTAssertNotNil(Usergrid.appAuth)
-
-            if let appAuth = Usergrid.appAuth {
-
-                XCTAssertNotNil(appAuth.accessToken)
-                XCTAssertNotNil(appAuth.expiry)
-
-                Usergrid.GET(CONNECTION_Tests.collectionName) { (response) in
-                    XCTAssertTrue(NSThread.isMainThread())
-                    XCTAssertNotNil(response)
-                    XCTAssertTrue(response.ok)
-                    XCTAssertTrue(response.hasNextPage)
-                    XCTAssertEqual(response.entities!.count, 10)
-
-                    let entity = response.first!
-                    let entityToConnect = response.entities![1]
-                    XCTAssertEqual(entity.type, CONNECTION_Tests.collectionName)
-
-                    entity.connect("likes", toEntity: entityToConnect) { (response) -> Void in
-                        XCTAssertTrue(NSThread.isMainThread())
-                        XCTAssertNotNil(response)
-                        XCTAssertTrue(response.ok)
-
-                        entity.getConnections(.Out, relationship: "likes", query:nil) { (response) -> Void in
-                            XCTAssertTrue(NSThread.isMainThread())
-                            XCTAssertNotNil(response)
-                            XCTAssertTrue(response.ok)
-
-                            let connectedEntity = response.first!
-                            XCTAssertNotNil(connectedEntity)
-                            XCTAssertEqual(connectedEntity.uuidOrName, entityToConnect.uuidOrName)
-
-                            entity.disconnect("likes", fromEntity: connectedEntity) { (response) -> Void in
-                                XCTAssertTrue(NSThread.isMainThread())
-                                XCTAssertNotNil(response)
-                                XCTAssertTrue(response.ok)
-
-                                entity.getConnections(.Out, relationship: "likes", query:nil) { (response) -> Void in
-                                    XCTAssertTrue(NSThread.isMainThread())
-                                    XCTAssertNotNil(response)
-                                    XCTAssertTrue(response.ok)
-                                    authExpect.fulfill()
-                                }
-                            }
-                        }
-                    }
-                }
-            } else {
-                authExpect.fulfill()
-            }
-        }
-        self.waitForExpectationsWithTimeout(20, handler: nil)
-    }
-}

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ae39eca6/sdks/swift/Tests/ClientCreationTests.swift
----------------------------------------------------------------------
diff --git a/sdks/swift/Tests/ClientCreationTests.swift b/sdks/swift/Tests/ClientCreationTests.swift
deleted file mode 100644
index 40a7de1..0000000
--- a/sdks/swift/Tests/ClientCreationTests.swift
+++ /dev/null
@@ -1,74 +0,0 @@
-//
-//  ClientCreationTests.swift
-//  UsergridSDK
-//
-//  Created by Robert Walsh on 7/31/15.
-//
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- *
- */
-
-import XCTest
-@testable import UsergridSDK
-
-class ClientCreationTests: XCTestCase {
-
-    static let orgId = "rwalsh"
-    static let appId = "sandbox"
-
-    override func setUp() {
-        super.setUp()
-        Usergrid.initSharedInstance(orgId:ClientCreationTests.orgId, appId: ClientCreationTests.appId)
-        Usergrid.persistCurrentUserInKeychain = false
-    }
-
-    override func tearDown() {
-        Usergrid._sharedClient = nil
-        super.tearDown()
-    }
-
-    func test_INSTANCE_POINTERS() {
-        XCTAssertNotNil(Usergrid.sharedInstance)
-    }
-
-    func test_CLIENT_PROPERTIES() {
-        XCTAssertEqual(Usergrid.appId, ClientCreationTests.appId)
-        XCTAssertEqual(Usergrid.orgId, ClientCreationTests.orgId)
-        XCTAssertEqual(Usergrid.authMode, UsergridAuthMode.User)
-        XCTAssertEqual(Usergrid.persistCurrentUserInKeychain, false)
-        XCTAssertEqual(Usergrid.baseUrl, UsergridClient.DEFAULT_BASE_URL)
-        XCTAssertEqual(Usergrid.clientAppURL, "\(UsergridClient.DEFAULT_BASE_URL)/\(ClientCreationTests.orgId)/\(ClientCreationTests.appId)" )
-        XCTAssertNil(Usergrid.currentUser)
-        XCTAssertNil(Usergrid.userAuth)
-    }
-
-    func test_CLIENT_NSCODING() {
-        let sharedInstanceAsData = NSKeyedArchiver.archivedDataWithRootObject(Usergrid.sharedInstance)
-        let newInstanceFromData = NSKeyedUnarchiver.unarchiveObjectWithData(sharedInstanceAsData) as? UsergridClient
-
-        XCTAssertNotNil(newInstanceFromData)
-
-        if let newInstance = newInstanceFromData {
-            XCTAssertEqual(Usergrid.appId, newInstance.appId)
-            XCTAssertEqual(Usergrid.orgId, newInstance.orgId)
-            XCTAssertEqual(Usergrid.authMode, newInstance.authMode)
-            XCTAssertEqual(Usergrid.baseUrl, newInstance.baseUrl)
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ae39eca6/sdks/swift/Tests/Entity_Tests.swift
----------------------------------------------------------------------
diff --git a/sdks/swift/Tests/Entity_Tests.swift b/sdks/swift/Tests/Entity_Tests.swift
deleted file mode 100644
index 439b67d..0000000
--- a/sdks/swift/Tests/Entity_Tests.swift
+++ /dev/null
@@ -1,173 +0,0 @@
-//
-//  Entity_Tests.swift
-//  UsergridSDK
-//
-//  Created by Robert Walsh on 9/22/15.
-//
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- *
- */
-
-import XCTest
-@testable import UsergridSDK
-
-class Entity_Tests: XCTestCase {
-
-    let entity = UsergridEntity(type: "entityType", name:"entityName")
-    let customArrayName = "customArray"
-    let customArrayOriginalValue = [1,2,3,4,5]
-    let customPropertyName = "customProperty"
-    let customPropertyValue = 99
-
-    func test_PUT_PROPERTY() {
-
-        entity.putProperty(customArrayName, value: customArrayOriginalValue)
-
-        let propertyValue = entity[customArrayName] as? [Int]
-        XCTAssertNotNil(propertyValue)
-        XCTAssertEqual(propertyValue!, customArrayOriginalValue)
-    }
-    func test_PUT_PROPERTIES() {
-
-        entity.putProperties([customArrayName:customArrayOriginalValue])
-
-        let propertyValue = entity[customArrayName] as? [Int]
-        XCTAssertNotNil(propertyValue)
-        XCTAssertEqual(propertyValue!, customArrayOriginalValue)
-    }
-    func test_REMOVE_PROPERTY() {
-        entity[customArrayName] = customArrayOriginalValue
-        let propertyValue = entity[customArrayName] as? [Int]
-        XCTAssertNotNil(propertyValue)
-
-        entity.removeProperty(customArrayName)
-
-        XCTAssertNil(entity[customArrayName])
-    }
-    func test_REMOVE_PROPERTIES() {
-        entity[customArrayName] = customArrayOriginalValue
-        let propertyValue = entity[customArrayName] as? [Int]
-        XCTAssertNotNil(propertyValue)
-
-        entity.removeProperties([customArrayName])
-
-        XCTAssertNil(entity[customArrayName])
-    }
-    func test_PUSH() {
-        entity[customArrayName] = customArrayOriginalValue
-
-        entity.append(customArrayName,value:6)
-
-        let newValue = entity[customArrayName] as? [Int]
-        XCTAssertNotNil(newValue)
-        XCTAssertEqual(newValue!, [1,2,3,4,5,6])
-    }
-    func test_APPEND() {
-        entity[customArrayName] = customArrayOriginalValue
-
-        entity.append(customArrayName,value:[6,7])
-
-        let newValue = entity[customArrayName] as? [Int]
-        XCTAssertNotNil(newValue)
-        XCTAssertEqual(newValue!, [1,2,3,4,5,6,7])
-    }
-    func test_INSERT_WITHOUT_INDEX() {
-        entity[customArrayName] = customArrayOriginalValue
-
-        entity.insert(customArrayName,value:6)
-
-        let newValue = entity[customArrayName] as? [Int]
-        XCTAssertNotNil(newValue)
-        XCTAssertEqual(newValue!, [6,1,2,3,4,5])
-    }
-    func test_INSERT_WITH_INDEX() {
-        entity[customArrayName] = customArrayOriginalValue
-
-        entity.insert(customArrayName,value:6,index:1)
-
-        let newValue = entity[customArrayName] as? [Int]
-        XCTAssertNotNil(newValue)
-        XCTAssertEqual(newValue!, [1,6,2,3,4,5])
-    }
-    func test_INSERT_ARRAY_WITHOUT_INDEX() {
-        entity[customArrayName] = customArrayOriginalValue
-
-        entity.insert(customArrayName,value:[6,7])
-
-        let newValue = entity[customArrayName] as? [Int]
-        XCTAssertNotNil(newValue)
-        XCTAssertEqual(newValue!, [6,7,1,2,3,4,5])
-    }
-
-    func test_INSERT_ARRAY_WITH_INDEX() {
-        entity[customArrayName] = customArrayOriginalValue
-
-        entity.insert(customArrayName,value:[6,7],index:1)
-
-        let newValue = entity[customArrayName] as? [Int]
-        XCTAssertNotNil(newValue)
-        XCTAssertEqual(newValue!, [1,6,7,2,3,4,5])
-    }
-
-    func test_INSERT_ARRAY_TO_NON_EXISTENT_PROPERTY() {
-        entity.insert(customArrayName,value:customArrayOriginalValue)
-
-        let newValue = entity[customArrayName] as? [Int]
-        XCTAssertNotNil(newValue)
-        XCTAssertEqual(newValue!, [1,2,3,4,5])
-    }
-
-    func test_INSERT_ARRAY_TO_NON_ARRAY_PROPERTY_WITHOUT_INDEX() {
-        entity[customPropertyName] = customPropertyValue
-
-        entity.insert(customPropertyName,value:customArrayOriginalValue)
-
-        let newValue = entity[customPropertyName] as? [Int]
-        XCTAssertNotNil(newValue)
-        XCTAssertEqual(newValue!, [1,2,3,4,5,99])
-    }
-
-    func test_INSERT_ARRAY_TO_NON_ARRAY_PROPERTY_WITH_INDEX() {
-        entity[customPropertyName] = customPropertyValue
-
-        entity.insert(customPropertyName,value:customArrayOriginalValue,index:1)
-
-        let newValue = entity[customPropertyName] as? [Int]
-        XCTAssertNotNil(newValue)
-        XCTAssertEqual(newValue!, [99,1,2,3,4,5])
-    }
-    func test_POP() {
-        entity[customArrayName] = customArrayOriginalValue
-
-        entity.pop(customArrayName)
-
-        let newValue = entity[customArrayName] as? [Int]
-        XCTAssertNotNil(newValue)
-        XCTAssertEqual(newValue!, [1,2,3,4])
-    }
-    func test_SHIFT() {
-        entity[customArrayName] = customArrayOriginalValue
-
-        entity.shift(customArrayName)
-
-        let newValue = entity[customArrayName] as? [Int]
-        XCTAssertNotNil(newValue)
-        XCTAssertEqual(newValue!, [2,3,4,5])
-    }
-}

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ae39eca6/sdks/swift/Tests/GET_Tests.swift
----------------------------------------------------------------------
diff --git a/sdks/swift/Tests/GET_Tests.swift b/sdks/swift/Tests/GET_Tests.swift
deleted file mode 100644
index 2b0331f..0000000
--- a/sdks/swift/Tests/GET_Tests.swift
+++ /dev/null
@@ -1,113 +0,0 @@
-//
-//  GET_Tests.swift
-//  UsergridSDK
-//
-//  Created by Robert Walsh on 9/2/15.
-//
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- *
- */
-
-import XCTest
-@testable import UsergridSDK
-
-class GET_Tests: XCTestCase {
-
-    static let collectionName = "books"
-    static let entityUUID = "f4078aca-2fb1-11e5-8eb2-e13f8369aad1"
-
-    let query = UsergridQuery(GET_Tests.collectionName).eq("title", value: "The Sun Also Rises").or().eq("title", value: "The Old Man and the Sea")
-
-    override func setUp() {
-        super.setUp()
-        Usergrid.initSharedInstance(orgId:ClientCreationTests.orgId, appId: ClientCreationTests.appId)
-    }
-
-    override func tearDown() {
-        Usergrid._sharedClient = nil
-        super.tearDown()
-    }
-
-    func test_GET_WITHOUT_QUERY() {
-
-        let getExpect = self.expectationWithDescription("\(#function)")
-        Usergrid.GET(GET_Tests.collectionName) { (response) in
-            XCTAssertTrue(NSThread.isMainThread())
-            XCTAssertNotNil(response)
-            XCTAssertTrue(response.ok)
-            XCTAssertTrue(response.hasNextPage)
-            XCTAssertEqual(response.count, 10)
-            getExpect.fulfill()
-        }
-        self.waitForExpectationsWithTimeout(10, handler: nil)
-    }
-
-    func test_GET_WITH_QUERY() {
-
-        let getExpect = self.expectationWithDescription("\(#function)")
-        Usergrid.GET(self.query) { (response) in
-            XCTAssertTrue(NSThread.isMainThread())
-            XCTAssertNotNil(response)
-            XCTAssertTrue(response.ok)
-            XCTAssertEqual(response.count, 1)
-            getExpect.fulfill()
-        }
-        self.waitForExpectationsWithTimeout(10, handler: nil)
-    }
-
-    func test_GET_WITH_UUID() {
-
-        let getExpect = self.expectationWithDescription("\(#function)")
-        Usergrid.GET(GET_Tests.collectionName, uuidOrName:GET_Tests.entityUUID) { (response) in
-            XCTAssertTrue(NSThread.isMainThread())
-            XCTAssertNotNil(response)
-            XCTAssertTrue(response.ok)
-            let entity = response.first!
-            XCTAssertFalse(response.hasNextPage)
-            XCTAssertEqual(response.count, 1)
-            XCTAssertNotNil(entity)
-            XCTAssertEqual(entity.uuid!, GET_Tests.entityUUID)
-            getExpect.fulfill()
-        }
-        self.waitForExpectationsWithTimeout(10, handler: nil)
-    }
-
-    func test_GET_NEXT_PAGE_WITH_NO_QUERY() {
-
-        let getExpect = self.expectationWithDescription("\(#function)")
-        Usergrid.GET(GET_Tests.collectionName) { (response) in
-            XCTAssertTrue(NSThread.isMainThread())
-            XCTAssertNotNil(response)
-            XCTAssertTrue(response.ok)
-            XCTAssertTrue(response.hasNextPage)
-            XCTAssertEqual(response.count, 10)
-
-            response.loadNextPage() { (nextPageResponse) in
-                XCTAssertTrue(NSThread.isMainThread())
-                XCTAssertTrue(nextPageResponse.ok)
-                XCTAssertNotNil(nextPageResponse)
-                XCTAssertFalse(nextPageResponse.hasNextPage)
-                XCTAssertEqual(nextPageResponse.entities!.count, 7)
-                getExpect.fulfill()
-            }
-        }
-        self.waitForExpectationsWithTimeout(20, handler: nil)
-    }
-    
-}

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ae39eca6/sdks/swift/Tests/Info.plist
----------------------------------------------------------------------
diff --git a/sdks/swift/Tests/Info.plist b/sdks/swift/Tests/Info.plist
deleted file mode 100644
index ba72822..0000000
--- a/sdks/swift/Tests/Info.plist
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleDevelopmentRegion</key>
-	<string>en</string>
-	<key>CFBundleExecutable</key>
-	<string>$(EXECUTABLE_NAME)</string>
-	<key>CFBundleIdentifier</key>
-	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>$(PRODUCT_NAME)</string>
-	<key>CFBundlePackageType</key>
-	<string>BNDL</string>
-	<key>CFBundleShortVersionString</key>
-	<string>1.0</string>
-	<key>CFBundleSignature</key>
-	<string>????</string>
-	<key>CFBundleVersion</key>
-	<string>1</string>
-</dict>
-</plist>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ae39eca6/sdks/swift/Tests/PUT_Tests.swift
----------------------------------------------------------------------
diff --git a/sdks/swift/Tests/PUT_Tests.swift b/sdks/swift/Tests/PUT_Tests.swift
deleted file mode 100644
index b1ff3e7..0000000
--- a/sdks/swift/Tests/PUT_Tests.swift
+++ /dev/null
@@ -1,158 +0,0 @@
-//
-//  PUT_Tests.swift
-//  UsergridSDK
-//
-//  Created by Robert Walsh on 9/11/15.
-//
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- *
- */
-
-import XCTest
-@testable import UsergridSDK
-
-class PUT_Tests: XCTestCase {
-
-    let query = UsergridQuery(PUT_Tests.collectionName)
-        .eq("title", value: "The Sun Also Rises")
-        .or()
-        .eq("title", value: "The Old Man and the Sea")
-
-    static let collectionName = "books"
-    static let entityUUID = "f4078aca-2fb1-11e5-8eb2-e13f8369aad1"
-
-    override func setUp() {
-        super.setUp()
-        Usergrid.initSharedInstance(orgId:ClientCreationTests.orgId, appId: ClientCreationTests.appId)
-    }
-
-    override func tearDown() {
-        Usergrid._sharedClient = nil
-        super.tearDown()
-    }
-
-    func test_PUT_BY_SPECIFYING_UUID_AS_PARAMETER() {
-
-        let propertyNameToUpdate = "\(#function)"
-        let propertiesNewValue = "\(propertyNameToUpdate)_VALUE"
-        let putExpect = self.expectationWithDescription(propertyNameToUpdate)
-
-        Usergrid.PUT(PUT_Tests.collectionName, uuidOrName: PUT_Tests.entityUUID, jsonBody:[propertyNameToUpdate : propertiesNewValue]) { (response) in
-            XCTAssertTrue(NSThread.isMainThread())
-            XCTAssertNotNil(response)
-            XCTAssertTrue(response.ok)
-            XCTAssertEqual(response.entities!.count, 1)
-            let entity = response.first!
-
-            XCTAssertNotNil(entity)
-            XCTAssertEqual(entity.uuid!, PUT_Tests.entityUUID)
-
-            let updatedPropertyValue = entity[propertyNameToUpdate] as? String
-            XCTAssertNotNil(updatedPropertyValue)
-            XCTAssertEqual(updatedPropertyValue!,propertiesNewValue)
-            putExpect.fulfill()
-        }
-        self.waitForExpectationsWithTimeout(10, handler: nil)
-    }
-
-    func test_PUT_BY_SPECIFYING_UUID_WITHIN_JSON_BODY() {
-
-        let propertyNameToUpdate = "\(#function)"
-        let propertiesNewValue = "\(propertyNameToUpdate)_VALUE"
-        let putExpect = self.expectationWithDescription(propertyNameToUpdate)
-
-        let jsonDictToPut = [UsergridEntityProperties.UUID.stringValue : PUT_Tests.entityUUID, propertyNameToUpdate : propertiesNewValue]
-
-        Usergrid.PUT(PUT_Tests.collectionName, jsonBody: jsonDictToPut) { (response) in
-            XCTAssertTrue(NSThread.isMainThread())
-            XCTAssertNotNil(response)
-            XCTAssertTrue(response.ok)
-            XCTAssertEqual(response.entities!.count, 1)
-            let entity = response.first!
-
-            XCTAssertNotNil(entity)
-            XCTAssertEqual(entity.uuid!, PUT_Tests.entityUUID)
-
-            let updatedPropertyValue = entity[propertyNameToUpdate] as? String
-            XCTAssertNotNil(updatedPropertyValue)
-            XCTAssertEqual(updatedPropertyValue!,propertiesNewValue)
-            putExpect.fulfill()
-        }
-        self.waitForExpectationsWithTimeout(10, handler: nil)
-    }
-
-    func test_PUT_WITH_ENTITY_OBJECT() {
-        let propertyNameToUpdate = "\(#function)"
-        let propertiesNewValue = "\(propertyNameToUpdate)_VALUE"
-        let putExpect = self.expectationWithDescription(propertyNameToUpdate)
-
-        Usergrid.GET(PUT_Tests.collectionName, uuidOrName: PUT_Tests.entityUUID) { (getResponse) in
-            XCTAssertTrue(NSThread.isMainThread())
-            XCTAssertNotNil(getResponse)
-            XCTAssertTrue(getResponse.ok)
-            XCTAssertEqual(getResponse.entities!.count, 1)
-
-            var responseEntity = getResponse.first!
-
-            XCTAssertNotNil(responseEntity)
-            XCTAssertEqual(responseEntity.uuid!, PUT_Tests.entityUUID)
-
-            responseEntity[propertyNameToUpdate] = propertiesNewValue
-
-            Usergrid.PUT(responseEntity) { (putResponse) in
-                XCTAssertTrue(NSThread.isMainThread())
-                XCTAssertNotNil(putResponse)
-                XCTAssertTrue(putResponse.ok)
-                XCTAssertEqual(putResponse.entities!.count, 1)
-                responseEntity = putResponse.first!
-
-                XCTAssertNotNil(responseEntity)
-                XCTAssertEqual(responseEntity.uuid!, PUT_Tests.entityUUID)
-
-                let updatedPropertyValue = responseEntity[propertyNameToUpdate] as? String
-                XCTAssertNotNil(updatedPropertyValue)
-                XCTAssertEqual(updatedPropertyValue!,propertiesNewValue)
-                putExpect.fulfill()
-            }
-        }
-        self.waitForExpectationsWithTimeout(20, handler: nil)
-    }
-
-    func test_PUT_WITH_QUERY() {
-        let propertyNameToUpdate = "\(#function)"
-        let propertiesNewValue = "\(propertyNameToUpdate)_VALUE"
-        let putExpect = self.expectationWithDescription(propertyNameToUpdate)
-
-        Usergrid.PUT(self.query, jsonBody: [propertyNameToUpdate : propertiesNewValue]) { (putResponse) in
-            XCTAssertTrue(NSThread.isMainThread())
-            XCTAssertNotNil(putResponse)
-            XCTAssertTrue(putResponse.ok)
-            XCTAssertEqual(putResponse.entities!.count, 1)
-
-            let responseEntity = putResponse.first!
-            XCTAssertNotNil(responseEntity)
-
-            let updatedPropertyValue = responseEntity[propertyNameToUpdate] as? String
-            XCTAssertNotNil(updatedPropertyValue)
-            XCTAssertEqual(updatedPropertyValue!,propertiesNewValue)
-            putExpect.fulfill()
-        }
-        self.waitForExpectationsWithTimeout(10, handler: nil)
-    }
-}

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ae39eca6/sdks/swift/Tests/TestAssets/UsergridGuy.jpg
----------------------------------------------------------------------
diff --git a/sdks/swift/Tests/TestAssets/UsergridGuy.jpg b/sdks/swift/Tests/TestAssets/UsergridGuy.jpg
deleted file mode 100644
index 035dd7b..0000000
Binary files a/sdks/swift/Tests/TestAssets/UsergridGuy.jpg and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ae39eca6/sdks/swift/Tests/TestAssets/logo_apigee.png
----------------------------------------------------------------------
diff --git a/sdks/swift/Tests/TestAssets/logo_apigee.png b/sdks/swift/Tests/TestAssets/logo_apigee.png
deleted file mode 100644
index 5113800..0000000
Binary files a/sdks/swift/Tests/TestAssets/logo_apigee.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ae39eca6/sdks/swift/Tests/TestAssets/test.png
----------------------------------------------------------------------
diff --git a/sdks/swift/Tests/TestAssets/test.png b/sdks/swift/Tests/TestAssets/test.png
deleted file mode 100644
index 4b13eaa..0000000
Binary files a/sdks/swift/Tests/TestAssets/test.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ae39eca6/sdks/swift/Tests/User_Tests.swift
----------------------------------------------------------------------
diff --git a/sdks/swift/Tests/User_Tests.swift b/sdks/swift/Tests/User_Tests.swift
deleted file mode 100644
index dcb5545..0000000
--- a/sdks/swift/Tests/User_Tests.swift
+++ /dev/null
@@ -1,399 +0,0 @@
-//
-//  User_Tests.swift
-//  UsergridSDK
-//
-//  Created by Robert Walsh on 9/14/15.
-//
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- *
- */
-
-import XCTest
-import CoreLocation
-@testable import UsergridSDK
-
-class User_Tests: XCTestCase {
-
-    var user: UsergridUser!
-
-    static let name = "Robert Walsh"
-    static let age = 29
-    static let email = "handsomeRob741@yahoo.com"
-    static let username = "rwalsh"
-    static let password = "password"
-    static let resetPassword = "password111"
-    static let picture = "http://www.gravatar.com/avatar/e466d447df831ddce35fbc50763fb03a"
-    static let activated = true
-    static let disabled = false
-
-    override func setUp() {
-        super.setUp()
-
-        Usergrid.initSharedInstance(orgId:ClientCreationTests.orgId, appId: ClientCreationTests.appId)
-        Usergrid.persistCurrentUserInKeychain = false
-
-        user = UsergridUser(name:"a_bogus_name", email:User_Tests.email, username:User_Tests.username, password:User_Tests.password)
-        user.name = User_Tests.name
-        user.age = User_Tests.age
-        user.location = CLLocation(latitude: -90, longitude: 100)
-        user.picture = User_Tests.picture
-        user.activated = User_Tests.activated
-        user.disabled = User_Tests.disabled
-    }
-
-    override func tearDown() {
-        Usergrid._sharedClient = nil        
-        super.tearDown()
-    }
-
-    func test_USER_INIT() {
-        user = UsergridUser(email: User_Tests.email, password: User_Tests.password)
-        XCTAssertNotNil(user)
-        XCTAssertNotNil(user.email)
-        XCTAssertNotNil(user.password)
-        XCTAssertEqual(user.email!, User_Tests.email)
-        XCTAssertEqual(user.usernameOrEmail!, User_Tests.email)
-        XCTAssertEqual(user.password!, User_Tests.password)
-        XCTAssertFalse(user.activated)
-        XCTAssertFalse(user.disabled)
-
-        user = UsergridUser(name: User_Tests.name, propertyDict: ["password":User_Tests.password])
-        XCTAssertNotNil(user)
-        XCTAssertNotNil(user.name)
-        XCTAssertNotNil(user.password)
-        XCTAssertEqual(user.name!, User_Tests.name)
-        XCTAssertEqual(user.password!, User_Tests.password)
-        XCTAssertFalse(user.activated)
-        XCTAssertFalse(user.disabled)
-
-        user = UsergridUser(name:User_Tests.name, email: User_Tests.email, password: User_Tests.password)
-        XCTAssertNotNil(user)
-        XCTAssertNotNil(user.name)
-        XCTAssertNotNil(user.email)
-        XCTAssertNotNil(user.password)
-        XCTAssertEqual(user.name!, User_Tests.name)
-        XCTAssertEqual(user.email!, User_Tests.email)
-        XCTAssertEqual(user.usernameOrEmail!, User_Tests.email)
-        XCTAssertEqual(user.password!, User_Tests.password)
-        XCTAssertFalse(user.activated)
-        XCTAssertFalse(user.disabled)
-
-        user = UsergridUser(username: User_Tests.username, password: User_Tests.password)
-        XCTAssertNotNil(user)
-        XCTAssertNotNil(user.username)
-        XCTAssertNotNil(user.password)
-        XCTAssertEqual(user.username!, User_Tests.username)
-        XCTAssertEqual(user.usernameOrEmail!, User_Tests.username)
-        XCTAssertEqual(user.password!, User_Tests.password)
-        XCTAssertFalse(user.activated)
-        XCTAssertFalse(user.disabled)
-
-        user = UsergridUser(name: User_Tests.name, username: User_Tests.username, password: User_Tests.password)
-        XCTAssertNotNil(user)
-        XCTAssertNotNil(user.name)
-        XCTAssertNotNil(user.username)
-        XCTAssertNotNil(user.password)
-        XCTAssertEqual(user.name!, User_Tests.name)
-        XCTAssertEqual(user.username!, User_Tests.username)
-        XCTAssertEqual(user.usernameOrEmail!, User_Tests.username)
-        XCTAssertEqual(user.password!, User_Tests.password)
-        XCTAssertFalse(user.activated)
-        XCTAssertFalse(user.disabled)
-    }
-
-    func test_USERS_AND_PROPERTIES_NOT_NIL() {
-        XCTAssertNotNil(user)
-        XCTAssertNotNil(user.name)
-        XCTAssertNotNil(user.age)
-        XCTAssertNotNil(user.username)
-        XCTAssertNotNil(user.email)
-        XCTAssertNotNil(user.password)
-        XCTAssertNotNil(user.picture)
-        XCTAssertNotNil(user.activated)
-        XCTAssertNotNil(user.disabled)
-    }
-
-    func test_USER_PROPERTIES_WITH_HELPERS() {
-        user["uuid"] = User_Tests.age
-        XCTAssertNil(user.uuid)
-
-        XCTAssertEqual(user.name!, User_Tests.name)
-        XCTAssertEqual(user.age!, User_Tests.age)
-        XCTAssertEqual(user.username!, User_Tests.username)
-        XCTAssertEqual(user.email!, User_Tests.email)
-        XCTAssertEqual(user.password!, User_Tests.password)
-        XCTAssertEqual(user.picture!, User_Tests.picture)
-        XCTAssertTrue(user.activated)
-        XCTAssertFalse(user.disabled)
-    }
-
-    func test_USER_PROPERTIES_WITHOUT_HELPERS() {
-        XCTAssertEqual(user[UsergridUserProperties.Name.stringValue]! as? String, User_Tests.name)
-        XCTAssertEqual(user[UsergridUserProperties.Age.stringValue]! as? Int, User_Tests.age)
-        XCTAssertEqual(user[UsergridUserProperties.Username.stringValue]! as? String, User_Tests.username)
-        XCTAssertEqual(user[UsergridUserProperties.Email.stringValue]! as? String, User_Tests.email)
-        XCTAssertEqual(user[UsergridUserProperties.Password.stringValue]! as? String, User_Tests.password)
-        XCTAssertEqual(user[UsergridUserProperties.Picture.stringValue]! as? String, User_Tests.picture)
-        XCTAssertTrue(user[UsergridUserProperties.Activated.stringValue]! as! Bool)
-        XCTAssertFalse(user[UsergridUserProperties.Disabled.stringValue]! as! Bool)
-    }
-
-    func deleteUser(expectation:XCTestExpectation) {
-        self.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_CREATE_AND_DELETE_USER() {
-        let userExpect = self.expectationWithDescription("\(#function)")
-
-        user.save() { (createResponse) in
-            XCTAssertTrue(NSThread.isMainThread())
-            XCTAssertNotNil(createResponse)
-            XCTAssertTrue(createResponse.ok)
-            XCTAssertNotNil(createResponse.user)
-            XCTAssertNotNil(createResponse.users)
-
-            if let createdUser = createResponse.user {
-                XCTAssertTrue(createdUser.isUser)
-                XCTAssertNotNil(createdUser.uuid)
-                XCTAssertNotNil(createdUser.created)
-                XCTAssertNotNil(createdUser.modified)
-                XCTAssertNotNil(createdUser.location)
-                XCTAssertEqual(createdUser.name!, User_Tests.name)
-                XCTAssertEqual(createdUser.age!, User_Tests.age)
-                XCTAssertEqual(createdUser.username!, User_Tests.username)
-                XCTAssertEqual(createdUser.email!, User_Tests.email)
-                XCTAssertEqual(createdUser.picture!, User_Tests.picture)
-                XCTAssertTrue(createdUser.activated)
-                XCTAssertFalse(createdUser.disabled)
-                XCTAssertFalse(createdUser.hasAsset)
-
-                self.deleteUser(userExpect)
-            }
-        }
-        self.waitForExpectationsWithTimeout(100, handler: nil)
-    }
-
-    func test_AUTHENTICATE_USER() {
-        let userExpect = self.expectationWithDescription("\(#function)")
-
-        UsergridUser.checkAvailable(user.email, username: user.username) { error,available in
-
-            XCTAssertTrue(NSThread.isMainThread())
-            XCTAssertNil(error)
-            XCTAssertTrue(available)
-
-            self.user.create() { (createResponse) in
-                XCTAssertTrue(NSThread.isMainThread())
-                XCTAssertNotNil(createResponse)
-                XCTAssertTrue(createResponse.ok)
-                XCTAssertNotNil(createResponse.user)
-                XCTAssertNotNil(createResponse.users)
-                XCTAssertNotNil(self.user.uuid)
-
-                self.user.login(self.user.username!, password:User_Tests.password) { (auth, loggedInUser, error) -> Void in
-                    XCTAssertTrue(NSThread.isMainThread())
-                    XCTAssertNil(error)
-                    XCTAssertNotNil(auth)
-                    XCTAssertNotNil(loggedInUser)
-                    XCTAssertEqual(auth, self.user.auth!)
-
-                    Usergrid.authenticateUser(self.user.auth!) { auth,currentUser,error in
-                        XCTAssertTrue(NSThread.isMainThread())
-                        XCTAssertNil(error)
-                        XCTAssertNotNil(auth)
-                        XCTAssertEqual(auth, self.user.auth!)
-
-                        XCTAssertNotNil(currentUser)
-                        XCTAssertNotNil(Usergrid.currentUser)
-                        XCTAssertEqual(currentUser, Usergrid.currentUser!)
-
-                        self.user.reauthenticate() { auth, reauthedUser, error in
-                            XCTAssertTrue(NSThread.isMainThread())
-                            XCTAssertNil(error)
-                            XCTAssertNotNil(auth)
-                            XCTAssertEqual(auth, self.user.auth!)
-
-                            XCTAssertNotNil(reauthedUser)
-                            XCTAssertNotNil(Usergrid.currentUser)
-
-                            self.user.logout() { response in
-                                XCTAssertTrue(NSThread.isMainThread())
-                                XCTAssertNotNil(response)
-                                XCTAssertTrue(response.ok)
-                                XCTAssertNil(response.error)
-
-                                self.deleteUser(userExpect)
-                            }
-                        }
-                    }
-                }
-            }
-        }
-        self.waitForExpectationsWithTimeout(100, handler: nil)
-    }
-
-    func test_RESET_USER_PASSWORD() {
-        let userExpect = self.expectationWithDescription("\(#function)")
-
-        user.create() { (createResponse) in
-            XCTAssertTrue(NSThread.isMainThread())
-            XCTAssertNotNil(createResponse)
-            XCTAssertTrue(createResponse.ok)
-            XCTAssertNotNil(createResponse.user)
-            XCTAssertNotNil(createResponse.users)
-            XCTAssertNotNil(self.user.uuid)
-
-            self.user.login(self.user.username!, password:User_Tests.password) { (auth, loggedInUser, error) -> Void in
-                XCTAssertTrue(NSThread.isMainThread())
-                XCTAssertNil(error)
-                XCTAssertNotNil(auth)
-                XCTAssertNotNil(loggedInUser)
-                XCTAssertEqual(auth, self.user.auth!)
-
-                self.user.resetPassword(User_Tests.password, new: User_Tests.resetPassword) { error,didSucceed in
-                    XCTAssertTrue(NSThread.isMainThread())
-                    XCTAssertTrue(didSucceed)
-                    XCTAssertNil(error)
-
-                    self.user.login(self.user.username!, password:User_Tests.resetPassword) { (auth, loggedInUser, error) -> Void in
-                        XCTAssertTrue(NSThread.isMainThread())
-                        XCTAssertNil(error)
-                        XCTAssertNotNil(auth)
-                        XCTAssertNotNil(loggedInUser)
-                        XCTAssertEqual(auth, self.user.auth!)
-
-                        self.deleteUser(userExpect)
-                    }
-                }
-            }
-        }
-        self.waitForExpectationsWithTimeout(100, handler: nil)
-    }
-
-    func test_DEVICE_CONNECTION() {
-        let userExpect = self.expectationWithDescription("\(#function)")
-
-        user.create() { createResponse in
-            XCTAssertNotNil(createResponse)
-            XCTAssertTrue(createResponse.ok)
-            XCTAssertNotNil(createResponse.user)
-            XCTAssertNotNil(createResponse.users)
-            XCTAssertNotNil(self.user.uuid)
-
-            self.user.connectToDevice() { connectResponse in
-                XCTAssertNotNil(connectResponse)
-                XCTAssertTrue(connectResponse.ok)
-                XCTAssertNil(connectResponse.error)
-
-                self.user.getConnectedDevice() { getConnectedDeviceResponse in
-                    XCTAssertNotNil(getConnectedDeviceResponse)
-                    XCTAssertTrue(getConnectedDeviceResponse.ok)
-                    XCTAssertNil(getConnectedDeviceResponse.error)
-                    XCTAssertNotNil(getConnectedDeviceResponse.entity)
-
-                    if let responseEntity = getConnectedDeviceResponse.entity {
-                        XCTAssertTrue(responseEntity is UsergridDevice)
-                    }
-
-                    self.user.disconnectFromDevice() { disconnectResponse in
-                        XCTAssertNotNil(disconnectResponse)
-                        XCTAssertTrue(disconnectResponse.ok)
-                        XCTAssertNil(disconnectResponse.error)
-
-                        self.deleteUser(userExpect)
-                    }
-                }
-            }
-        }
-        self.waitForExpectationsWithTimeout(100, handler: nil)
-    }
-
-    func test_DEVICE_CONNECT_FAIL() {
-        let userExpect = self.expectationWithDescription("\(#function)")
-
-        user.create() { createResponse in
-            XCTAssertNotNil(createResponse)
-            XCTAssertTrue(createResponse.ok)
-            XCTAssertNotNil(createResponse.user)
-            XCTAssertNotNil(createResponse.users)
-            XCTAssertNotNil(self.user.uuid)
-
-            self.user.connectToDevice() { connectResponse in
-                XCTAssertNotNil(connectResponse)
-                XCTAssertTrue(connectResponse.ok)
-                XCTAssertNil(connectResponse.error)
-
-                self.user.getConnectedDevice() { getConnectedDeviceResponse in
-                    XCTAssertNotNil(getConnectedDeviceResponse)
-                    XCTAssertTrue(getConnectedDeviceResponse.ok)
-                    XCTAssertNil(getConnectedDeviceResponse.error)
-                    XCTAssertNotNil(getConnectedDeviceResponse.entity)
-
-                    if let responseEntity = getConnectedDeviceResponse.entity {
-                        XCTAssertTrue(responseEntity is UsergridDevice)
-                    }
-
-                    self.user.disconnectFromDevice() { disconnectResponse in
-                        XCTAssertNotNil(disconnectResponse)
-                        XCTAssertTrue(disconnectResponse.ok)
-                        XCTAssertNil(disconnectResponse.error)
-
-                        self.deleteUser(userExpect)
-                    }
-                }
-            }
-        }
-        self.waitForExpectationsWithTimeout(100, handler: nil)
-    }
-
-
-    func test_USER_NSCODING() {
-        let userData = NSKeyedArchiver.archivedDataWithRootObject(user)
-        let newInstanceFromData = NSKeyedUnarchiver.unarchiveObjectWithData(userData) as? UsergridUser
-
-        XCTAssertNotNil(newInstanceFromData)
-
-        if let newInstance = newInstanceFromData {
-            XCTAssertEqual(user.uuid,newInstance.uuid)
-            XCTAssertEqual(user.uuidOrName,newInstance.uuidOrName)
-            XCTAssertEqual(user.uuidOrUsername,newInstance.uuidOrUsername)
-            XCTAssertEqual(user.auth,newInstance.auth)
-            XCTAssertEqual(user.created,newInstance.created)
-            XCTAssertEqual(user.modified,newInstance.modified)
-            XCTAssertEqual(user.location!.coordinate.longitude,newInstance.location!.coordinate.longitude)
-            XCTAssertEqual(user.location!.coordinate.latitude,newInstance.location!.coordinate.latitude)
-            XCTAssertEqual(user.name,newInstance.name)
-            XCTAssertEqual(user.age,newInstance.age)
-            XCTAssertEqual(user.username,newInstance.username)
-            XCTAssertEqual(user.email,newInstance.email)
-            XCTAssertEqual(user.picture,newInstance.picture)
-            XCTAssertEqual(user.activated,newInstance.activated)
-            XCTAssertEqual(user.disabled,newInstance.disabled)
-            XCTAssertEqual(user.hasAsset,newInstance.hasAsset)
-        }
-    }
-}
\ No newline at end of file


Mime
View raw message