http://git-wip-us.apache.org/repos/asf/usergrid-swift/blob/b022377f/Source/UsergridRequest.swift ---------------------------------------------------------------------- diff --git a/Source/UsergridRequest.swift b/Source/UsergridRequest.swift index 0a651e2..f0bdf42 100644 --- a/Source/UsergridRequest.swift +++ b/Source/UsergridRequest.swift @@ -54,7 +54,7 @@ public class UsergridRequest : NSObject { public let headers: [String:String]? /// The JSON body that will be set on the request. Can be either a valid JSON object or NSData. - public let jsonBody: AnyObject? + public let jsonBody: Any? /// The query params that will be set on the request. public let queryParams: [String:String]? @@ -81,7 +81,7 @@ public class UsergridRequest : NSObject { query:UsergridQuery? = nil, auth:UsergridAuth? = nil, headers:[String:String]? = nil, - jsonBody:AnyObject? = nil, + jsonBody:Any? = nil, queryParams:[String:String]? = nil) { self.method = method self.baseUrl = baseUrl @@ -90,7 +90,7 @@ public class UsergridRequest : NSObject { self.headers = headers self.query = query self.queryParams = queryParams - if let body = jsonBody where (body is NSData || NSJSONSerialization.isValidJSONObject(body)) { + if let body = jsonBody , (body is Data || JSONSerialization.isValidJSONObject(body)) { self.jsonBody = body } else { self.jsonBody = nil @@ -104,20 +104,20 @@ public class UsergridRequest : NSObject { - returns: An initialized and configured `NSURLRequest` object. */ - public func buildNSURLRequest() -> NSURLRequest { - let request = NSMutableURLRequest(URL: self.buildURL()) - request.HTTPMethod = self.method.stringValue + public func buildNSURLRequest() -> URLRequest { + let request = NSMutableURLRequest(url: self.buildURL()) + request.httpMethod = self.method.stringValue self.applyHeaders(request) self.applyBody(request) self.applyAuth(request) - return request + return request as URLRequest } - private func buildURL() -> NSURL { + private func buildURL() -> URL { var constructedURLString = self.baseUrl if let appendingPaths = self.paths { for pathToAppend in appendingPaths { - if let encodedPath = pathToAppend.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLPathAllowedCharacterSet()) { + if let encodedPath = pathToAppend.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlPathAllowed) { constructedURLString = "\(constructedURLString)\(UsergridRequest.FORWARD_SLASH)\(encodedPath)" } } @@ -129,19 +129,19 @@ public class UsergridRequest : NSObject { } } if let queryParams = self.queryParams { - if let components = NSURLComponents(string: constructedURLString) { + if var components = URLComponents(string: constructedURLString) { components.queryItems = components.queryItems ?? [] for (key, value) in queryParams { - let q: NSURLQueryItem = NSURLQueryItem(name: key, value: value) + let q: URLQueryItem = URLQueryItem(name: key, value: value) components.queryItems!.append(q) } constructedURLString = components.string! } } - return NSURL(string:constructedURLString)! + return URL(string:constructedURLString)! } - private func applyHeaders(request:NSMutableURLRequest) { + fileprivate func applyHeaders(_ request:NSMutableURLRequest) { if let httpHeaders = self.headers { for (key,value) in httpHeaders { request.setValue(value, forHTTPHeaderField: key) @@ -149,14 +149,14 @@ public class UsergridRequest : NSObject { } } - private func applyBody(request:NSMutableURLRequest) { - if let jsonBody = self.jsonBody, httpBody = UsergridRequest.jsonBodyToData(jsonBody) { - request.HTTPBody = httpBody - request.setValue(String(format: "%lu", httpBody.length), forHTTPHeaderField: UsergridRequest.CONTENT_LENGTH) + private func applyBody(_ request:NSMutableURLRequest) { + if let jsonBody = self.jsonBody, let httpBody = UsergridRequest.jsonBodyToData(jsonBody) { + request.httpBody = httpBody + request.setValue(String(format: "%lu", httpBody.count), forHTTPHeaderField: UsergridRequest.CONTENT_LENGTH) } } - private func applyAuth(request:NSMutableURLRequest) { + private func applyAuth(_ request:NSMutableURLRequest) { if let usergridAuth = self.auth { if usergridAuth.isValid, let accessToken = usergridAuth.accessToken { request.setValue("\(UsergridRequest.BEARER) \(accessToken)", forHTTPHeaderField: UsergridRequest.AUTHORIZATION) @@ -164,26 +164,28 @@ public class UsergridRequest : NSObject { } } - private static func jsonBodyToData(jsonBody:AnyObject) -> NSData? { - if let jsonBodyAsNSData = jsonBody as? NSData { + private static func jsonBodyToData(_ jsonBody:Any) -> Data? { + if let jsonBodyAsNSData = jsonBody as? Data { return jsonBodyAsNSData } else { - var jsonBodyAsNSData: NSData? = nil - do { jsonBodyAsNSData = try NSJSONSerialization.dataWithJSONObject(jsonBody, options: NSJSONWritingOptions(rawValue: 0)) } + var jsonBodyAsNSData: Data? = nil + do { jsonBodyAsNSData = try JSONSerialization.data(withJSONObject: jsonBody, options: JSONSerialization.WritingOptions(rawValue: 0)) } catch { print(error) } return jsonBodyAsNSData } } - private static let AUTHORIZATION = "Authorization" - private static let ACCESS_TOKEN = "access_token" - private static let APPLICATION_JSON = "application/json; charset=utf-8" - private static let BEARER = "Bearer" - private static let CONTENT_LENGTH = "Content-Length" - private static let CONTENT_TYPE = "Content-Type" - private static let FORWARD_SLASH = "/" + fileprivate static let AUTHORIZATION = "Authorization" + fileprivate static let ACCESS_TOKEN = "access_token" + fileprivate static let APPLICATION_JSON = "application/json; charset=utf-8" + fileprivate static let BEARER = "Bearer" + fileprivate static let CONTENT_LENGTH = "Content-Length" + fileprivate static let CONTENT_TYPE = "Content-Type" + fileprivate static let FORWARD_SLASH = "/" - static let JSON_CONTENT_TYPE_HEADER = [UsergridRequest.CONTENT_TYPE:UsergridRequest.APPLICATION_JSON] + static func jsonHeaderContentType() -> [String:String] { + return [UsergridRequest.CONTENT_TYPE:UsergridRequest.APPLICATION_JSON] + } } /** @@ -197,15 +199,16 @@ public class UsergridAssetUploadRequest: UsergridRequest { public let asset: UsergridAsset /// A constructed multipart http body for requests to upload. - public var multiPartHTTPBody: NSData { + public var multiPartHTTPBody: Data { let httpBodyString = UsergridAssetUploadRequest.MULTIPART_START + "\(UsergridAssetUploadRequest.CONTENT_DISPOSITION):\(UsergridAssetUploadRequest.FORM_DATA); name=file; filename=\(self.asset.filename)\r\n" + - "\(UsergridRequest.CONTENT_TYPE): \(self.asset.contentType)\r\n\r\n" as NSString + "\(UsergridRequest.CONTENT_TYPE): \(self.asset.contentType)\r\n\r\n" + - let httpBody = NSMutableData() - httpBody.appendData(httpBodyString.dataUsingEncoding(NSUTF8StringEncoding)!) - httpBody.appendData(self.asset.data) - httpBody.appendData(UsergridAssetUploadRequest.MULTIPART_END.dataUsingEncoding(NSUTF8StringEncoding)!) + var httpBody = Data() + httpBody.append(httpBodyString.data(using: String.Encoding.utf8)!) + httpBody.append(self.asset.data) + httpBody.append(UsergridAssetUploadRequest.MULTIPART_END.data(using: String.Encoding.utf8)!) return httpBody } @@ -227,19 +230,19 @@ public class UsergridAssetUploadRequest: UsergridRequest { auth:UsergridAuth? = nil, asset:UsergridAsset) { self.asset = asset - super.init(method: .Put, baseUrl: baseUrl, paths: paths, auth: auth) + super.init(method: .put, baseUrl: baseUrl, paths: paths, auth: auth) } - private override func applyHeaders(request: NSMutableURLRequest) { + fileprivate override func applyHeaders(_ request: NSMutableURLRequest) { super.applyHeaders(request) request.setValue(UsergridAssetUploadRequest.ASSET_UPLOAD_CONTENT_HEADER, forHTTPHeaderField: UsergridRequest.CONTENT_TYPE) - request.setValue(String(format: "%lu", self.multiPartHTTPBody.length), forHTTPHeaderField: UsergridRequest.CONTENT_LENGTH) + request.setValue(String(format: "%lu", self.multiPartHTTPBody.count), forHTTPHeaderField: UsergridRequest.CONTENT_LENGTH) } private static let ASSET_UPLOAD_BOUNDARY = "usergrid-asset-upload-boundary" private static let ASSET_UPLOAD_CONTENT_HEADER = "multipart/form-data; boundary=\(UsergridAssetUploadRequest.ASSET_UPLOAD_BOUNDARY)" private static let CONTENT_DISPOSITION = "Content-Disposition" private static let MULTIPART_START = "--\(UsergridAssetUploadRequest.ASSET_UPLOAD_BOUNDARY)\r\n" - private static let MULTIPART_END = "\r\n--\(UsergridAssetUploadRequest.ASSET_UPLOAD_BOUNDARY)--\r\n" as NSString + private static let MULTIPART_END = "\r\n--\(UsergridAssetUploadRequest.ASSET_UPLOAD_BOUNDARY)--\r\n" private static let FORM_DATA = "form-data" }
http://git-wip-us.apache.org/repos/asf/usergrid-swift/blob/b022377f/Source/UsergridRequestManager.swift ---------------------------------------------------------------------- diff --git a/Source/UsergridRequestManager.swift b/Source/UsergridRequestManager.swift index 46a4213..a876f81 100644 --- a/Source/UsergridRequestManager.swift +++ b/Source/UsergridRequestManager.swift @@ -30,7 +30,7 @@ final class UsergridRequestManager { unowned let client: UsergridClient - let session: NSURLSession + let session: URLSession var sessionDelegate : UsergridSessionDelegate { return session.delegate as! UsergridSessionDelegate @@ -39,19 +39,19 @@ final class UsergridRequestManager { init(client:UsergridClient) { self.client = client - let config = NSURLSessionConfiguration.defaultSessionConfiguration() + let config = URLSessionConfiguration.default #if os(tvOS) - config.HTTPAdditionalHeaders = ["User-Agent": "usergrid-tvOS/v\(UsergridSDKVersion)"] + config.httpAdditionalHeaders = ["User-Agent": "usergrid-tvOS/v\(UsergridSDKVersion)"] #elseif os(iOS) - config.HTTPAdditionalHeaders = ["User-Agent": "usergrid-ios/v\(UsergridSDKVersion)"] + config.httpAdditionalHeaders = ["User-Agent": "usergrid-ios/v\(UsergridSDKVersion)"] #elseif os(watchOS) - config.HTTPAdditionalHeaders = ["User-Agent": "usergrid-watchOS/v\(UsergridSDKVersion)"] + config.httpAdditionalHeaders = ["User-Agent": "usergrid-watchOS/v\(UsergridSDKVersion)"] #elseif os(OSX) - config.HTTPAdditionalHeaders = ["User-Agent": "usergrid-osx/v\(UsergridSDKVersion)"] + config.httpAdditionalHeaders = ["User-Agent": "usergrid-osx/v\(UsergridSDKVersion)"] #endif - self.session = NSURLSession(configuration: config, + self.session = URLSession(configuration: config, delegate: UsergridSessionDelegate(), delegateQueue: nil) } @@ -60,11 +60,11 @@ final class UsergridRequestManager { session.invalidateAndCancel() } - func performRequest(request:UsergridRequest, completion:UsergridResponseCompletion?) { - session.dataTaskWithRequest(request.buildNSURLRequest()) { [weak self] (data, response, error) -> Void in - let response = UsergridResponse(client:self?.client, data: data, response: response as? NSHTTPURLResponse, error: error) - dispatch_async(dispatch_get_main_queue()) { - completion?(response: response) + func performRequest(_ request:UsergridRequest, completion:UsergridResponseCompletion?) { + session.dataTask(with: request.buildNSURLRequest()) { [weak self] (data, response, error) -> Void in + let usergridResponse = UsergridResponse(client:self?.client, data: data, response: response as? HTTPURLResponse, error: error as NSError?) + DispatchQueue.main.async { + completion?(usergridResponse) } }.resume() } @@ -74,32 +74,32 @@ final class UsergridRequestManager { // MARK: - Authentication - extension UsergridRequestManager { - static func getTokenAndExpiryFromResponseJSON(jsonDict:[String:AnyObject]) -> (token:String?,expiry:NSDate?) { + static func getTokenAndExpiryFromResponseJSON(_ jsonDict:[String:Any]) -> (token:String?,expiry:Date?) { var token: String? = nil - var expiry: NSDate? = nil + var expiry: Date? = nil if let accessToken = jsonDict["access_token"] as? String { token = accessToken } if let expiresIn = jsonDict["expires_in"] as? Int { let expiresInAdjusted = expiresIn - 5000 - expiry = NSDate(timeIntervalSinceNow: NSTimeInterval(expiresInAdjusted)) + expiry = Date(timeIntervalSinceNow: TimeInterval(expiresInAdjusted)) } return (token,expiry) } - func performUserAuthRequest(userAuth:UsergridUserAuth, request:UsergridRequest, completion:UsergridUserAuthCompletionBlock?) { - session.dataTaskWithRequest(request.buildNSURLRequest()) { (data, response, error) -> Void in - let dataAsJSON = try! NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) + func performUserAuthRequest(_ userAuth:UsergridUserAuth, request:UsergridRequest, completion:UsergridUserAuthCompletionBlock?) { + session.dataTask(with: request.buildNSURLRequest()) { (data, response, error) -> Void in + let dataAsJSON = try! JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.mutableContainers) var createdUser: UsergridUser? = nil var responseError: UsergridResponseError? = nil - if let jsonDict = dataAsJSON as? [String:AnyObject] { + if let jsonDict = dataAsJSON as? [String:Any] { let tokenAndExpiry = UsergridRequestManager.getTokenAndExpiryFromResponseJSON(jsonDict) userAuth.accessToken = tokenAndExpiry.token userAuth.expiry = tokenAndExpiry.expiry - if let userDict = jsonDict[UsergridUser.USER_ENTITY_TYPE] as? [String:AnyObject] { + if let userDict = jsonDict[UsergridUser.USER_ENTITY_TYPE] as? [String:Any] { if let newUser = UsergridEntity.entity(jsonDict: userDict) as? UsergridUser { newUser.auth = userAuth createdUser = newUser @@ -112,19 +112,19 @@ extension UsergridRequestManager { responseError = UsergridResponseError(errorName: "Auth Failed.", errorDescription: "Error Description: \(error?.localizedDescription).") } - dispatch_async(dispatch_get_main_queue()) { - completion?(auth: userAuth, user: createdUser, error: responseError) + DispatchQueue.main.async { + completion?(userAuth, createdUser, responseError) } }.resume() } - func performAppAuthRequest(appAuth: UsergridAppAuth, request: UsergridRequest, completion: UsergridAppAuthCompletionBlock?) { - session.dataTaskWithRequest(request.buildNSURLRequest()) { (data, response, error) -> Void in - let dataAsJSON = try! NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) + func performAppAuthRequest(_ appAuth: UsergridAppAuth, request: UsergridRequest, completion: UsergridAppAuthCompletionBlock?) { + session.dataTask(with: request.buildNSURLRequest()) { (data, response, error) -> Void in + let dataAsJSON = try! JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.mutableContainers) var responseError: UsergridResponseError? = nil - if let jsonDict = dataAsJSON as? [String:AnyObject] { + if let jsonDict = dataAsJSON as? [String:Any] { let tokenAndExpiry = UsergridRequestManager.getTokenAndExpiryFromResponseJSON(jsonDict) appAuth.accessToken = tokenAndExpiry.token appAuth.expiry = tokenAndExpiry.expiry @@ -132,8 +132,8 @@ extension UsergridRequestManager { responseError = UsergridResponseError(errorName: "Auth Failed.", errorDescription: "Error Description: \(error?.localizedDescription).") } - dispatch_async(dispatch_get_main_queue()) { - completion?(auth: appAuth, error: responseError) + DispatchQueue.main.async { + completion?(appAuth, responseError) } }.resume() } @@ -142,35 +142,35 @@ extension UsergridRequestManager { // MARK: - Asset Management - extension UsergridRequestManager { - func performAssetDownload(contentType:String, usergridRequest:UsergridRequest, progress: UsergridAssetRequestProgress? = nil, completion:UsergridAssetDownloadCompletion? = nil) { - let downloadTask = session.downloadTaskWithRequest(usergridRequest.buildNSURLRequest()) + func performAssetDownload(_ contentType:String, usergridRequest:UsergridRequest, progress: UsergridAssetRequestProgress? = nil, completion:UsergridAssetDownloadCompletion? = nil) { + let downloadTask = session.downloadTask(with: usergridRequest.buildNSURLRequest()) let requestWrapper = UsergridAssetRequestWrapper(session: self.session, sessionTask: downloadTask, progress: progress) { (request) -> Void in var asset: UsergridAsset? = nil var responseError: UsergridResponseError? = nil - if let assetData = request.responseData where assetData.length > 0 { + if let assetData = request.responseData , assetData.count > 0 { asset = UsergridAsset(data: assetData, contentType: contentType) } else { responseError = UsergridResponseError(errorName: "Download Failed.", errorDescription: "Downloading asset failed. No data was recieved.") } - dispatch_async(dispatch_get_main_queue()) { - completion?(asset: asset, error: responseError) + DispatchQueue.main.async { + completion?(asset, responseError) } } self.sessionDelegate.addRequestDelegate(requestWrapper.sessionTask, requestWrapper:requestWrapper) requestWrapper.sessionTask.resume() } - func performAssetUpload(usergridRequest:UsergridAssetUploadRequest, progress:UsergridAssetRequestProgress? = nil, completion: UsergridAssetUploadCompletion? = nil) { - let uploadTask = session.uploadTaskWithRequest(usergridRequest.buildNSURLRequest(), fromData: usergridRequest.multiPartHTTPBody) + func performAssetUpload(_ usergridRequest:UsergridAssetUploadRequest, progress:UsergridAssetRequestProgress? = nil, completion: UsergridAssetUploadCompletion? = nil) { + let uploadTask = session.uploadTask(with: usergridRequest.buildNSURLRequest() as URLRequest, from: usergridRequest.multiPartHTTPBody as Data) let requestWrapper = UsergridAssetRequestWrapper(session: self.session, sessionTask: uploadTask, progress: progress) { [weak self] (request) -> Void in - let response = UsergridResponse(client: self?.client, data: request.responseData, response: request.response as? NSHTTPURLResponse, error: request.error) - dispatch_async(dispatch_get_main_queue()) { - completion?(asset: usergridRequest.asset, response: response) + let response = UsergridResponse(client: self?.client, data: request.responseData, response: request.response as? HTTPURLResponse, error: request.error) + DispatchQueue.main.async { + completion?(usergridRequest.asset, response) } } self.sessionDelegate.addRequestDelegate(requestWrapper.sessionTask, requestWrapper:requestWrapper) requestWrapper.sessionTask.resume() } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/usergrid-swift/blob/b022377f/Source/UsergridResponse.swift ---------------------------------------------------------------------- diff --git a/Source/UsergridResponse.swift b/Source/UsergridResponse.swift index b9e58ec..525bfde 100644 --- a/Source/UsergridResponse.swift +++ b/Source/UsergridResponse.swift @@ -27,7 +27,7 @@ import Foundation /// The completion block used in for most `UsergridClient` requests. -public typealias UsergridResponseCompletion = (response: UsergridResponse) -> Void +public typealias UsergridResponseCompletion = (_ response: UsergridResponse) -> Void /** `UsergridResponse` is the core class that handles both successful and unsuccessful HTTP responses from Usergrid. @@ -44,7 +44,7 @@ public class UsergridResponse: NSObject { public weak var client: UsergridClient? /// The raw response JSON. - internal(set) public var responseJSON: [String:AnyObject]? + internal(set) public var responseJSON: [String:Any]? /// The query used on the request. internal(set) public var query: UsergridQuery? @@ -97,7 +97,7 @@ public class UsergridResponse: NSObject { /// The string value. public var stringValue : String { if let responseJSON = self.responseJSON { - return NSString(data: try! NSJSONSerialization.dataWithJSONObject(responseJSON, options: .PrettyPrinted), encoding: NSUTF8StringEncoding) as? String ?? "" + return NSString(data: try! JSONSerialization.data(withJSONObject: responseJSON, options: .prettyPrinted), encoding: String.Encoding.utf8.rawValue) as? String ?? "" } else { return error?.description ?? "" } @@ -142,10 +142,10 @@ public class UsergridResponse: NSObject { - returns: A new instance of `UsergridResponse`. */ - public init(client:UsergridClient?, data:NSData?, response:NSHTTPURLResponse?, error:NSError?, query:UsergridQuery? = nil) { + public init(client:UsergridClient?, data:Data?, response:HTTPURLResponse?, error:NSError?, query:UsergridQuery? = nil) { self.client = client self.statusCode = response?.statusCode - self.headers = response?.allHeaderFields as? [String:String] +// self.headers = response?.allHeaderFields as? [String:String] if let sessionError = error { self.error = UsergridResponseError(errorName: sessionError.domain, errorDescription: sessionError.localizedDescription) @@ -157,16 +157,16 @@ public class UsergridResponse: NSObject { if let jsonData = data { do { - let dataAsJSON = try NSJSONSerialization.JSONObjectWithData(jsonData, options: NSJSONReadingOptions.MutableContainers) - if let jsonDict = dataAsJSON as? [String:AnyObject] { + let dataAsJSON = try JSONSerialization.jsonObject(with: jsonData, options: JSONSerialization.ReadingOptions.mutableContainers) + if let jsonDict = dataAsJSON as? [String:Any] { self.responseJSON = jsonDict if let responseError = UsergridResponseError(jsonDictionary: jsonDict) { self.error = responseError } else { - if let entitiesJSONArray = jsonDict[UsergridResponse.ENTITIES] as? [[String:AnyObject]] where entitiesJSONArray.count > 0 { + if let entitiesJSONArray = jsonDict[UsergridResponse.ENTITIES] as? [[String:Any]] , entitiesJSONArray.count > 0 { self.entities = UsergridEntity.entities(jsonArray: entitiesJSONArray) } - if let cursor = jsonDict[UsergridResponse.CURSOR] as? String where !cursor.isEmpty { + if let cursor = jsonDict[UsergridResponse.CURSOR] as? String , !cursor.isEmpty { self.cursor = cursor } } @@ -186,7 +186,7 @@ public class UsergridResponse: NSObject { - parameter completion: The completion block that is called once the request for the next page has finished. */ - public func loadNextPage(completion: UsergridResponseCompletion) { + public func loadNextPage(_ completion: UsergridResponseCompletion) { if self.hasNextPage, let type = (self.responseJSON?["path"] as? NSString)?.lastPathComponent { if let query = self.query?.copy() as? UsergridQuery { self.client?.GET(query.cursor(self.cursor), queryCompletion:completion) @@ -194,7 +194,7 @@ public class UsergridResponse: NSObject { self.client?.GET(UsergridQuery(type).cursor(self.cursor), queryCompletion:completion) } } else { - completion(response: UsergridResponse(client: self.client, errorName: "No next page.", errorDescription: "No next page was found.")) + completion(UsergridResponse(client: self.client, errorName: "No next page.", errorDescription: "No next page was found.")) } } http://git-wip-us.apache.org/repos/asf/usergrid-swift/blob/b022377f/Source/UsergridResponseError.swift ---------------------------------------------------------------------- diff --git a/Source/UsergridResponseError.swift b/Source/UsergridResponseError.swift index eda8a30..f4dbc4a 100644 --- a/Source/UsergridResponseError.swift +++ b/Source/UsergridResponseError.swift @@ -74,9 +74,9 @@ public class UsergridResponseError: NSObject { - returns: A new instance of `UsergridResponseError` if the JSON dictionary did indeed contain error information. */ - public convenience init?(jsonDictionary:[String:AnyObject]) { + public convenience init?(jsonDictionary:[String:Any]) { if let errorName = jsonDictionary[USERGRID_ERROR] as? String, - errorDescription = jsonDictionary[USERGRID_ERROR_DESCRIPTION] as? String { + let errorDescription = jsonDictionary[USERGRID_ERROR_DESCRIPTION] as? String { self.init(errorName:errorName,errorDescription:errorDescription,exception:jsonDictionary[USERGRID_EXCEPTION] as? String) } else { self.init(errorName:"",errorDescription:"") @@ -87,4 +87,4 @@ public class UsergridResponseError: NSObject { let USERGRID_ERROR = "error" let USERGRID_ERROR_DESCRIPTION = "error_description" -let USERGRID_EXCEPTION = "exception" \ No newline at end of file +let USERGRID_EXCEPTION = "exception" http://git-wip-us.apache.org/repos/asf/usergrid-swift/blob/b022377f/Source/UsergridSessionDelegate.swift ---------------------------------------------------------------------- diff --git a/Source/UsergridSessionDelegate.swift b/Source/UsergridSessionDelegate.swift index cb36fb7..7866c26 100644 --- a/Source/UsergridSessionDelegate.swift +++ b/Source/UsergridSessionDelegate.swift @@ -28,63 +28,63 @@ import Foundation final class UsergridSessionDelegate: NSObject { - private var requestDelegates: [Int:UsergridAssetRequestWrapper] = [:] + fileprivate var requestDelegates: [Int:UsergridAssetRequestWrapper] = [:] - func addRequestDelegate(task:NSURLSessionTask,requestWrapper:UsergridAssetRequestWrapper) { + func addRequestDelegate(_ task:URLSessionTask,requestWrapper:UsergridAssetRequestWrapper) { requestDelegates[task.taskIdentifier] = requestWrapper } - func removeRequestDelegate(task:NSURLSessionTask) { + func removeRequestDelegate(_ task:URLSessionTask) { requestDelegates[task.taskIdentifier] = nil } } -extension UsergridSessionDelegate : NSURLSessionTaskDelegate { +extension UsergridSessionDelegate : URLSessionTaskDelegate { - func URLSession(session: NSURLSession, task: NSURLSessionTask, didSendBodyData bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) { + func urlSession(_ session: URLSession, task: URLSessionTask, didSendBodyData bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) { if let progressBlock = requestDelegates[task.taskIdentifier]?.progress { - progressBlock(bytesFinished:totalBytesSent, bytesExpected: totalBytesExpectedToSend) + progressBlock(totalBytesSent, totalBytesExpectedToSend) } } - func URLSession(session: NSURLSession, task: NSURLSessionTask, didCompleteWithError error: NSError?) { + func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) { if let requestWrapper = requestDelegates[task.taskIdentifier] { - requestWrapper.error = error - requestWrapper.completion(requestWrapper: requestWrapper) + requestWrapper.error = error as? NSError // WTF + requestWrapper.completion(requestWrapper) } self.removeRequestDelegate(task) } } -extension UsergridSessionDelegate : NSURLSessionDataDelegate { +extension UsergridSessionDelegate : URLSessionDataDelegate { - func URLSession(session: NSURLSession, dataTask: NSURLSessionDataTask, didReceiveResponse response: NSURLResponse, completionHandler: (NSURLSessionResponseDisposition) -> Void) { + public func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive response: URLResponse, completionHandler: @escaping (URLSession.ResponseDisposition) -> Swift.Void) { if let requestWrapper = requestDelegates[dataTask.taskIdentifier] { requestWrapper.response = response } - completionHandler(NSURLSessionResponseDisposition.Allow) + completionHandler(Foundation.URLSession.ResponseDisposition.allow) } - func URLSession(session: NSURLSession, dataTask: NSURLSessionDataTask, didReceiveData data: NSData) { + public func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data) { if let requestWrapper = requestDelegates[dataTask.taskIdentifier] { - let mutableData = requestWrapper.responseData != nil ? NSMutableData(data: requestWrapper.responseData!) : NSMutableData() - mutableData.appendData(data) + var mutableData = requestWrapper.responseData != nil ? (NSMutableData(data: requestWrapper.responseData!) as Data) : Data() + mutableData.append(data) requestWrapper.responseData = mutableData } } } -extension UsergridSessionDelegate : NSURLSessionDownloadDelegate { +extension UsergridSessionDelegate : URLSessionDownloadDelegate { - func URLSession(session: NSURLSession, downloadTask: NSURLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64) { + func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64) { if let progressBlock = requestDelegates[downloadTask.taskIdentifier]?.progress { - progressBlock(bytesFinished:totalBytesWritten, bytesExpected: totalBytesExpectedToWrite) + progressBlock(totalBytesWritten, totalBytesExpectedToWrite) } } - func URLSession(session: NSURLSession, downloadTask: NSURLSessionDownloadTask, didFinishDownloadingToURL location: NSURL) { + func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL) { if let requestWrapper = requestDelegates[downloadTask.taskIdentifier] { - requestWrapper.responseData = NSData(contentsOfURL: location)! + requestWrapper.responseData = try! Data(contentsOf: location) } } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/usergrid-swift/blob/b022377f/Source/UsergridUser.swift ---------------------------------------------------------------------- diff --git a/Source/UsergridUser.swift b/Source/UsergridUser.swift index 17415ba..f01430b 100644 --- a/Source/UsergridUser.swift +++ b/Source/UsergridUser.swift @@ -27,10 +27,10 @@ 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 +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 +public typealias UsergridUserResetPasswordCompletion = (_ error: UsergridResponseError?, _ didSucceed:Bool) -> Void /** `UsergridUser` is a special subclass of `UsergridEntity` that supports functions and properties unique to users. @@ -50,32 +50,32 @@ public class UsergridUser : UsergridEntity { 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 } + 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 } + 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 } + 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 } + 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 } + 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`. @@ -87,14 +87,14 @@ public class UsergridUser : UsergridEntity { 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 } + 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 } + set(disabled) { self[UsergridUserProperties.disabled.stringValue] = disabled } + get { return self.getUserSpecificProperty(.disabled) as? Bool ?? false } } /** @@ -103,8 +103,8 @@ public class UsergridUser : UsergridEntity { 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 } + set(picture) { self[UsergridUserProperties.picture.stringValue] = picture } + get { return self.getUserSpecificProperty(.picture) as? String } } /// The UUID or username property value if found. @@ -132,7 +132,7 @@ public class UsergridUser : UsergridEntity { - returns: A new `UsergridUser` object. */ - required public init(type: String, name: String?, propertyDict: [String : AnyObject]?) { + required public init(type: String, name: String?, propertyDict: [String : Any]?) { super.init(type: type, name: name, propertyDict: propertyDict) } @@ -144,7 +144,7 @@ public class UsergridUser : UsergridEntity { - returns: A new instance of `UsergridUser`. */ - public init(name:String,propertyDict:[String:AnyObject]? = nil) { + public init(name:String,propertyDict:[String:Any]? = nil) { super.init(type: UsergridUser.USER_ENTITY_TYPE, name:name, propertyDict:propertyDict) } @@ -225,7 +225,7 @@ public class UsergridUser : UsergridEntity { - returns: A decoded `UsergridUser` object. */ required public init?(coder aDecoder: NSCoder) { - self.auth = aDecoder.decodeObjectForKey("auth") as? UsergridUserAuth + self.auth = aDecoder.decodeObject(forKey: "auth") as? UsergridUserAuth super.init(coder: aDecoder) } @@ -234,9 +234,9 @@ public class UsergridUser : UsergridEntity { - parameter aCoder: The encoder. */ - public override func encodeWithCoder(aCoder: NSCoder) { - aCoder.encodeObject(self.auth, forKey: "auth") - super.encodeWithCoder(aCoder) + public override func encode(with aCoder: NSCoder) { + aCoder.encode(self.auth, forKey: "auth") + super.encode(with: aCoder) } // MARK: - Class Methods - @@ -248,7 +248,7 @@ public class UsergridUser : UsergridEntity { - parameter username: The optional username. - parameter completion: The completion block. */ - public static func checkAvailable(email:String?, username:String?, completion:UsergridUserAvailabilityCompletion) { + public static func checkAvailable(_ email:String?, username:String?, completion:UsergridUserAvailabilityCompletion) { self.checkAvailable(Usergrid.sharedInstance, email: email, username: username, completion: completion) } @@ -260,16 +260,16 @@ public class UsergridUser : UsergridEntity { - parameter username: The optional username. - parameter completion: The completion block. */ - public static func checkAvailable(client: UsergridClient, email:String?, username:String?, completion:UsergridUserAvailabilityCompletion) { + 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) + query.eq(UsergridUserProperties.email.stringValue, value: emailValue) } if let usernameValue = username { - query.or().eq(UsergridUserProperties.Username.stringValue, value: usernameValue) + query.or().eq(UsergridUserProperties.username.stringValue, value: usernameValue) } client.GET(query) { (response) -> Void in - completion(error: response.error, available: response.entity == nil) + completion(response.error, response.entity == nil) } } @@ -280,7 +280,7 @@ public class UsergridUser : UsergridEntity { - parameter completion: The optional completion block. */ - public func create(completion: UsergridResponseCompletion? = nil) { + public func create(_ completion: UsergridResponseCompletion? = nil) { self.create(Usergrid.sharedInstance, completion: completion) } @@ -290,12 +290,12 @@ public class UsergridUser : UsergridEntity { - parameter client: The client to use for creation. - parameter completion: The optional completion block. */ - public func create(client: UsergridClient, completion: UsergridResponseCompletion? = nil) { + 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) + completion?(response) } } @@ -308,7 +308,7 @@ public class UsergridUser : UsergridEntity { - parameter password: The password. - parameter completion: The optional completion block. */ - public func login(username:String, password:String, completion: UsergridUserAuthCompletionBlock? = nil) { + public func login(_ username:String, password:String, completion: UsergridUserAuthCompletionBlock? = nil) { self.login(Usergrid.sharedInstance, username: username, password: password, completion: completion) } @@ -322,11 +322,11 @@ public class UsergridUser : UsergridEntity { - parameter password: The password. - parameter completion: The optional completion block. */ - public func login(client: UsergridClient, username:String, password:String, completion: UsergridUserAuthCompletionBlock? = nil) { + 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) + completion?(userAuth, user, error) } } @@ -337,7 +337,7 @@ public class UsergridUser : UsergridEntity { - parameter new: The new password. - parameter completion: The optional completion block. */ - public func resetPassword(old:String, new:String, completion:UsergridUserResetPasswordCompletion? = nil) { + public func resetPassword(_ old:String, new:String, completion:UsergridUserResetPasswordCompletion? = nil) { self.resetPassword(Usergrid.sharedInstance, old: old, new: new, completion: completion) } @@ -349,7 +349,7 @@ public class UsergridUser : UsergridEntity { - parameter new: The new password. - parameter completion: The optional completion block */ - public func resetPassword(client: UsergridClient, old:String, new:String, completion:UsergridUserResetPasswordCompletion? = nil) { + public func resetPassword(_ client: UsergridClient, old:String, new:String, completion:UsergridUserResetPasswordCompletion? = nil) { client.resetPassword(self, old: old, new: new, completion: completion) } @@ -358,7 +358,7 @@ public class UsergridUser : UsergridEntity { - parameter completion: The optional completion block. */ - public func reauthenticate(completion: UsergridUserAuthCompletionBlock? = nil) { + public func reauthenticate(_ completion: UsergridUserAuthCompletionBlock? = nil) { self.reauthenticate(Usergrid.sharedInstance, completion: completion) } @@ -368,10 +368,10 @@ public class UsergridUser : UsergridEntity { - parameter client: The client to use for reauthentication. - parameter completion: The optional completion block. */ - public func reauthenticate(client: UsergridClient, completion: UsergridUserAuthCompletionBlock? = nil) { + 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.")) + completion?(nil, self, UsergridResponseError(errorName: "Invalid UsergridUserAuth.", errorDescription: "No UsergridUserAuth found on the UsergridUser.")) return } @@ -383,7 +383,7 @@ public class UsergridUser : UsergridEntity { - parameter completion: The optional completion block. */ - public func logout(completion:UsergridResponseCompletion? = nil) { + public func logout(_ completion:UsergridResponseCompletion? = nil) { self.logout(Usergrid.sharedInstance,completion:completion) } @@ -393,17 +393,17 @@ public class UsergridUser : UsergridEntity { - parameter client: The client to use for logout. - parameter completion: The optional completion block. */ - public func logout(client: UsergridClient, completion:UsergridResponseCompletion? = nil) { + 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.")) + completion?(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) + completion?(response) } } @@ -413,7 +413,7 @@ public class UsergridUser : UsergridEntity { - 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) { + public func connectToDevice(_ device:UsergridDevice? = nil, completion:UsergridResponseCompletion? = nil) { self.connectToDevice(Usergrid.sharedInstance, device: device, completion: completion) } @@ -424,11 +424,11 @@ public class UsergridUser : UsergridEntity { - 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) { + 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.")) + completion?(UsergridResponse(client: client, errorName: "Device cannot be connected to User.", errorDescription: "Device has neither an UUID or name specified.")) return } @@ -440,7 +440,7 @@ public class UsergridUser : UsergridEntity { - parameter completion: The optional completion block. */ - public func getConnectedDevice(completion:UsergridResponseCompletion? = nil) { + public func getConnectedDevice(_ completion:UsergridResponseCompletion? = nil) { self.getConnectedDevice(Usergrid.sharedInstance, completion: completion) } @@ -450,8 +450,8 @@ public class UsergridUser : UsergridEntity { - 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) + public func getConnectedDevice(_ client:UsergridClient, completion:UsergridResponseCompletion? = nil) { + client.getConnections(.out, entity: self, relationship: "device", completion: completion) } /** @@ -460,7 +460,7 @@ public class UsergridUser : UsergridEntity { - 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) { + public func disconnectFromDevice(_ device:UsergridDevice? = nil, completion:UsergridResponseCompletion? = nil) { self.disconnectFromDevice(Usergrid.sharedInstance, device: device, completion: completion) } @@ -471,26 +471,25 @@ public class UsergridUser : UsergridEntity { - parameter device: The device to connect to. - parameter completion: The optional completion block. */ - public func disconnectFromDevice(client:UsergridClient, device:UsergridDevice? = nil, completion:UsergridResponseCompletion? = nil) { + 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.")) + completion?(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 + private func getUserSpecificProperty(_ userProperty: UsergridUserProperties) -> Any? { + var propertyValue: Any? = super[userProperty.stringValue] switch userProperty { - case .Activated,.Disabled : - propertyValue = propertyValue?.boolValue - case .Age : - propertyValue = propertyValue?.integerValue - case .Name,.Username,.Password,.Email,.Picture : + case .activated,.disabled : + propertyValue = (propertyValue as AnyObject) as? Bool ?? false + case .age : + propertyValue = (propertyValue as AnyObject) as? Int ?? 0 // TODO: Check these conversions + case .name,.username,.password,.email,.picture : break } return propertyValue @@ -508,7 +507,7 @@ public class UsergridUser : UsergridEntity { usergridUser["name"] = someName ``` */ - override public subscript(propertyName: String) -> AnyObject? { + override public subscript(propertyName: String) -> Any? { get { if let userProperty = UsergridUserProperties.fromString(propertyName) { return self.getUserSpecificProperty(userProperty) @@ -520,4 +519,4 @@ public class UsergridUser : UsergridEntity { super[propertyName] = propertyValue } } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/usergrid-swift/blob/b022377f/Tests/ASSET_Tests.swift ---------------------------------------------------------------------- diff --git a/Tests/ASSET_Tests.swift b/Tests/ASSET_Tests.swift index c6f860f..0de2127 100644 --- a/Tests/ASSET_Tests.swift +++ b/Tests/ASSET_Tests.swift @@ -25,6 +25,7 @@ */ import XCTest +import Foundation @testable import UsergridSDK class ASSET_Tests: XCTestCase { @@ -46,8 +47,8 @@ class ASSET_Tests: XCTestCase { super.tearDown() } - func getFullPathOfFile(fileLocation:String) -> String { - return (NSBundle(forClass: object_getClass(self)).resourcePath! as NSString).stringByAppendingPathComponent(fileLocation) + func getFullPathOfFile(_ fileLocation:String) -> String { + return (Bundle(for: object_getClass(self)).resourcePath!) + "/\(fileLocation)" } func test_ASSET_INIT() { @@ -57,28 +58,28 @@ class ASSET_Tests: XCTestCase { XCTAssertNotNil(asset) XCTAssertNotNil(asset!.data) XCTAssertNotNil(asset!.filename) - XCTAssertEqual(asset!.contentType, UsergridImageContentType.Png.stringValue) + XCTAssertEqual(asset!.contentType, UsergridImageContentType.png.stringValue) XCTAssertTrue(asset!.contentLength > 0) - asset = UsergridAsset(filename:ASSET_Tests.imageName, fileURL: NSURL(fileURLWithPath: filePath)) + asset = UsergridAsset(filename:ASSET_Tests.imageName, fileURL: URL(fileURLWithPath: filePath)) XCTAssertNotNil(asset) XCTAssertNotNil(asset!.data) XCTAssertNotNil(asset!.filename) - XCTAssertEqual(asset!.contentType, UsergridImageContentType.Png.stringValue) + 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) + 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) + XCTAssertEqual(asset!.contentType, UsergridImageContentType.jpeg.stringValue) XCTAssertTrue(asset!.contentLength > 0) } func test_IMAGE_UPLOAD() { - let getExpect = self.expectationWithDescription("\(#function)") + let getExpect = self.expectation(description: "\(#function)") let uploadProgress : UsergridAssetRequestProgress = { (bytes,expected) in print("UPLOAD PROGRESS BLOCK: BYTES:\(bytes) --- EXPECTED:\(expected)") } @@ -87,7 +88,7 @@ class ASSET_Tests: XCTestCase { } Usergrid.GET(ASSET_Tests.collectionName, uuidOrName:ASSET_Tests.entityUUID) { (response) in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) let entity = response.first! XCTAssertNotNil(entity) @@ -103,7 +104,7 @@ class ASSET_Tests: XCTestCase { XCTAssertNotNil(asset) entity.uploadAsset(asset!, progress:uploadProgress) { uploadedAsset,response in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertTrue(response.ok) XCTAssertNil(response.error) @@ -120,9 +121,9 @@ class ASSET_Tests: XCTestCase { XCTAssertEqual(entity.asset!.contentLength, entity.fileMetaData!.contentLength) XCTAssertEqual(entity.asset!.contentType, entity.fileMetaData!.contentType) - entity.downloadAsset(UsergridImageContentType.Png.stringValue, progress:downloadProgress) + entity.downloadAsset(UsergridImageContentType.png.stringValue, progress:downloadProgress) { (downloadedAsset, error) -> Void in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertNotNil(downloadedAsset) XCTAssertNil(error) let downloadedImage = UIImage(data: downloadedAsset!.data) @@ -132,12 +133,12 @@ class ASSET_Tests: XCTestCase { } } } - self.waitForExpectationsWithTimeout(100, handler: nil) + self.waitForExpectations(timeout: 100, handler: nil) } - func deleteUser(user:UsergridUser,expectation:XCTestExpectation) { + func deleteUser(_ user:UsergridUser,expectation:XCTestExpectation) { user.remove() { removeResponse in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertNotNil(removeResponse) XCTAssertTrue(removeResponse.ok) XCTAssertNotNil(removeResponse.user) @@ -148,7 +149,7 @@ class ASSET_Tests: XCTestCase { } func test_ATTACH_ASSET_TO_CURRENT_USER() { - let userAssetExpect = self.expectationWithDescription("\(#function)") + let userAssetExpect = self.expectation(description: "\(#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 @@ -160,12 +161,12 @@ class ASSET_Tests: XCTestCase { UsergridUser.checkAvailable(user.email, username: user.username) { error,available in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertNil(error) XCTAssertTrue(available) user.create() { (createResponse) in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertNotNil(createResponse) XCTAssertTrue(createResponse.ok) XCTAssertNotNil(createResponse.user) @@ -173,14 +174,14 @@ class ASSET_Tests: XCTestCase { XCTAssertNotNil(user.uuid) user.login(user.username!, password:User_Tests.password) { (auth, loggedInUser, error) -> Void in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertNil(error) XCTAssertNotNil(auth) XCTAssertNotNil(loggedInUser) XCTAssertEqual(auth, user.auth!) Usergrid.authenticateUser(user.auth!) { auth,currentUser,error in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertNil(error) XCTAssertNotNil(auth) XCTAssertEqual(auth, user.auth!) @@ -199,7 +200,7 @@ class ASSET_Tests: XCTestCase { XCTAssertNotNil(asset) Usergrid.currentUser!.uploadAsset(asset!, progress:uploadProgress) { uploadedAsset,response in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertTrue(response.ok) XCTAssertNil(response.error) @@ -216,9 +217,9 @@ class ASSET_Tests: XCTestCase { 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) + Usergrid.currentUser!.downloadAsset(UsergridImageContentType.png.stringValue, progress:downloadProgress) { (downloadedAsset, error) -> Void in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertNotNil(downloadedAsset) XCTAssertNil(error) let downloadedImage = UIImage(data: downloadedAsset!.data) @@ -231,7 +232,7 @@ class ASSET_Tests: XCTestCase { } } } - self.waitForExpectationsWithTimeout(100, handler: nil) + self.waitForExpectations(timeout: 100, handler: nil) } @@ -240,12 +241,12 @@ class ASSET_Tests: XCTestCase { "etag":"dfa7421ea4f35d33e12ba93979a46b7e", "checkSum":"dfa7421ea4f35d33e12ba93979a46b7e", "content-length":1417896, - "last-modified":1455728898545] + "last-modified":1455728898545] as [String : Any] let fileMetaData = UsergridFileMetaData(fileMetaDataJSON:fileMetaDataDict) - let fileMetaDataCodingData = NSKeyedArchiver.archivedDataWithRootObject(fileMetaData) - let newInstanceFromData = NSKeyedUnarchiver.unarchiveObjectWithData(fileMetaDataCodingData) as? UsergridFileMetaData + let fileMetaDataCodingData = NSKeyedArchiver.archivedData(withRootObject: fileMetaData) + let newInstanceFromData = NSKeyedUnarchiver.unarchiveObject(with: fileMetaDataCodingData) as? UsergridFileMetaData XCTAssertNotNil(newInstanceFromData) if let newInstance = newInstanceFromData { @@ -259,12 +260,12 @@ class ASSET_Tests: XCTestCase { func test_ASSET_NSCODING() { let imagePath = self.getFullPathOfFile(ASSET_Tests.pngLocation) - let asset = UsergridAsset(filename:ASSET_Tests.imageName,fileURL: NSURL(fileURLWithPath: imagePath)) + let asset = UsergridAsset(filename:ASSET_Tests.imageName,fileURL: URL(fileURLWithPath: imagePath)) XCTAssertNotNil(asset) if let originalAsset = asset { - let assetCodingData = NSKeyedArchiver.archivedDataWithRootObject(originalAsset) - let newInstanceFromData = NSKeyedUnarchiver.unarchiveObjectWithData(assetCodingData) as? UsergridAsset + let assetCodingData = NSKeyedArchiver.archivedData(withRootObject: originalAsset) + let newInstanceFromData = NSKeyedUnarchiver.unarchiveObject(with: assetCodingData) as? UsergridAsset XCTAssertNotNil(newInstanceFromData) http://git-wip-us.apache.org/repos/asf/usergrid-swift/blob/b022377f/Tests/AUTH_Tests.swift ---------------------------------------------------------------------- diff --git a/Tests/AUTH_Tests.swift b/Tests/AUTH_Tests.swift index 80ec695..d77bcae 100644 --- a/Tests/AUTH_Tests.swift +++ b/Tests/AUTH_Tests.swift @@ -32,8 +32,8 @@ class AUTH_Tests: XCTestCase { var appAuth: UsergridAppAuth! var userAuth: UsergridUserAuth! - private static let collectionName = "publicevent" - private static let entityUUID = "fa015eaa-fe1c-11e3-b94b-63b29addea01" + fileprivate static let collectionName = "publicevent" + fileprivate static let entityUUID = "fa015eaa-fe1c-11e3-b94b-63b29addea01" override func setUp() { super.setUp() @@ -49,10 +49,10 @@ class AUTH_Tests: XCTestCase { func test_CLIENT_AUTH() { - let authExpect = self.expectationWithDescription("\(#function)") - Usergrid.authMode = .App + let authExpect = self.expectation(description: "\(#function)") + Usergrid.authMode = .app Usergrid.authenticateApp(appAuth) { auth,error in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertNil(error) XCTAssertNotNil(Usergrid.appAuth) @@ -63,7 +63,7 @@ class AUTH_Tests: XCTestCase { XCTAssertNotNil(appAuth.isValid) Usergrid.GET(AUTH_Tests.collectionName) { (response) in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertNotNil(response) XCTAssertTrue(response.hasNextPage) XCTAssertEqual(response.entities!.count, 10) @@ -73,7 +73,7 @@ class AUTH_Tests: XCTestCase { } } } - self.waitForExpectationsWithTimeout(100, handler: nil) + self.waitForExpectations(timeout: 100, handler: nil) } func test_DESTROY_AUTH() { @@ -93,10 +93,10 @@ class AUTH_Tests: XCTestCase { func test_APP_AUTH_NSCODING() { appAuth.accessToken = "YWMt91Q2YtWaEeW_Ki2uDueMEwAAAVMUTVSPeOdX-oradxdqirEFz5cPU3GWybs" - appAuth.expiry = NSDate.distantFuture() + appAuth.expiry = Date.distantFuture - let authCodingData = NSKeyedArchiver.archivedDataWithRootObject(appAuth) - let newInstanceFromData = NSKeyedUnarchiver.unarchiveObjectWithData(authCodingData) as? UsergridAppAuth + let authCodingData = NSKeyedArchiver.archivedData(withRootObject: appAuth) + let newInstanceFromData = NSKeyedUnarchiver.unarchiveObject(with: authCodingData) as? UsergridAppAuth XCTAssertNotNil(newInstanceFromData) @@ -112,10 +112,10 @@ class AUTH_Tests: XCTestCase { func test_USER_AUTH_NSCODING() { userAuth.accessToken = "YWMt91Q2YtWaEeW_Ki2uDueMEwAAAVMUTVSPeOdX-oradxdqirEFz5cPU3GWybs" - userAuth.expiry = NSDate.distantFuture() + userAuth.expiry = Date.distantFuture - let authCodingData = NSKeyedArchiver.archivedDataWithRootObject(userAuth) - let newInstanceFromData = NSKeyedUnarchiver.unarchiveObjectWithData(authCodingData) as? UsergridUserAuth + let authCodingData = NSKeyedArchiver.archivedData(withRootObject: userAuth) + let newInstanceFromData = NSKeyedUnarchiver.unarchiveObject(with: authCodingData) as? UsergridUserAuth XCTAssertNotNil(newInstanceFromData) http://git-wip-us.apache.org/repos/asf/usergrid-swift/blob/b022377f/Tests/CONNECTION_Tests.swift ---------------------------------------------------------------------- diff --git a/Tests/CONNECTION_Tests.swift b/Tests/CONNECTION_Tests.swift index 2640778..e824088 100644 --- a/Tests/CONNECTION_Tests.swift +++ b/Tests/CONNECTION_Tests.swift @@ -30,7 +30,7 @@ import XCTest class CONNECTION_Tests: XCTestCase { let clientAuth = UsergridAppAuth(clientId: "b3U6THNcevskEeOQZLcUROUUVA", clientSecret: "b3U6RZHYznP28xieBzQPackFPmmnevU") - private static let collectionName = "publicevent" + fileprivate static let collectionName = "publicevent" override func setUp() { super.setUp() @@ -44,10 +44,10 @@ class CONNECTION_Tests: XCTestCase { func test_CLIENT_AUTH() { - let authExpect = self.expectationWithDescription("\(#function)") - Usergrid.authMode = .App + let authExpect = self.expectation(description: "\(#function)") + Usergrid.authMode = .app Usergrid.authenticateApp(clientAuth) { auth,error in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertNil(error) XCTAssertNotNil(Usergrid.appAuth) @@ -57,7 +57,7 @@ class CONNECTION_Tests: XCTestCase { XCTAssertNotNil(appAuth.expiry) Usergrid.GET(CONNECTION_Tests.collectionName) { (response) in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertNotNil(response) XCTAssertTrue(response.ok) XCTAssertTrue(response.hasNextPage) @@ -68,12 +68,12 @@ class CONNECTION_Tests: XCTestCase { XCTAssertEqual(entity.type, CONNECTION_Tests.collectionName) entity.connect("likes", toEntity: entityToConnect) { (response) -> Void in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertNotNil(response) XCTAssertTrue(response.ok) - entity.getConnections(.Out, relationship: "likes", query:nil) { (response) -> Void in - XCTAssertTrue(NSThread.isMainThread()) + entity.getConnections(.out, relationship: "likes", query:nil) { (response) -> Void in + XCTAssertTrue(Thread.isMainThread) XCTAssertNotNil(response) XCTAssertTrue(response.ok) @@ -82,12 +82,12 @@ class CONNECTION_Tests: XCTestCase { XCTAssertEqual(connectedEntity.uuidOrName, entityToConnect.uuidOrName) entity.disconnect("likes", fromEntity: connectedEntity) { (response) -> Void in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertNotNil(response) XCTAssertTrue(response.ok) - entity.getConnections(.Out, relationship: "likes", query:nil) { (response) -> Void in - XCTAssertTrue(NSThread.isMainThread()) + entity.getConnections(.out, relationship: "likes", query:nil) { (response) -> Void in + XCTAssertTrue(Thread.isMainThread) XCTAssertNotNil(response) XCTAssertTrue(response.ok) authExpect.fulfill() @@ -100,6 +100,6 @@ class CONNECTION_Tests: XCTestCase { authExpect.fulfill() } } - self.waitForExpectationsWithTimeout(20, handler: nil) + self.waitForExpectations(timeout: 20, handler: nil) } } http://git-wip-us.apache.org/repos/asf/usergrid-swift/blob/b022377f/Tests/ClientCreationTests.swift ---------------------------------------------------------------------- diff --git a/Tests/ClientCreationTests.swift b/Tests/ClientCreationTests.swift index 40a7de1..6776cb4 100644 --- a/Tests/ClientCreationTests.swift +++ b/Tests/ClientCreationTests.swift @@ -50,7 +50,7 @@ class ClientCreationTests: XCTestCase { func test_CLIENT_PROPERTIES() { XCTAssertEqual(Usergrid.appId, ClientCreationTests.appId) XCTAssertEqual(Usergrid.orgId, ClientCreationTests.orgId) - XCTAssertEqual(Usergrid.authMode, UsergridAuthMode.User) + 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)" ) @@ -59,8 +59,8 @@ class ClientCreationTests: XCTestCase { } func test_CLIENT_NSCODING() { - let sharedInstanceAsData = NSKeyedArchiver.archivedDataWithRootObject(Usergrid.sharedInstance) - let newInstanceFromData = NSKeyedUnarchiver.unarchiveObjectWithData(sharedInstanceAsData) as? UsergridClient + let sharedInstanceAsData = NSKeyedArchiver.archivedData(withRootObject: Usergrid.sharedInstance) + let newInstanceFromData = NSKeyedUnarchiver.unarchiveObject(with: sharedInstanceAsData) as? UsergridClient XCTAssertNotNil(newInstanceFromData) http://git-wip-us.apache.org/repos/asf/usergrid-swift/blob/b022377f/Tests/GET_Tests.swift ---------------------------------------------------------------------- diff --git a/Tests/GET_Tests.swift b/Tests/GET_Tests.swift index 2b0331f..b6698e5 100644 --- a/Tests/GET_Tests.swift +++ b/Tests/GET_Tests.swift @@ -46,36 +46,36 @@ class GET_Tests: XCTestCase { func test_GET_WITHOUT_QUERY() { - let getExpect = self.expectationWithDescription("\(#function)") + let getExpect = self.expectation(description: "\(#function)") Usergrid.GET(GET_Tests.collectionName) { (response) in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertNotNil(response) XCTAssertTrue(response.ok) XCTAssertTrue(response.hasNextPage) XCTAssertEqual(response.count, 10) getExpect.fulfill() } - self.waitForExpectationsWithTimeout(10, handler: nil) + self.waitForExpectations(timeout: 10, handler: nil) } func test_GET_WITH_QUERY() { - let getExpect = self.expectationWithDescription("\(#function)") + let getExpect = self.expectation(description: "\(#function)") Usergrid.GET(self.query) { (response) in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertNotNil(response) XCTAssertTrue(response.ok) XCTAssertEqual(response.count, 1) getExpect.fulfill() } - self.waitForExpectationsWithTimeout(10, handler: nil) + self.waitForExpectations(timeout: 10, handler: nil) } func test_GET_WITH_UUID() { - let getExpect = self.expectationWithDescription("\(#function)") + let getExpect = self.expectation(description: "\(#function)") Usergrid.GET(GET_Tests.collectionName, uuidOrName:GET_Tests.entityUUID) { (response) in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertNotNil(response) XCTAssertTrue(response.ok) let entity = response.first! @@ -85,29 +85,29 @@ class GET_Tests: XCTestCase { XCTAssertEqual(entity.uuid!, GET_Tests.entityUUID) getExpect.fulfill() } - self.waitForExpectationsWithTimeout(10, handler: nil) + self.waitForExpectations(timeout: 10, handler: nil) } func test_GET_NEXT_PAGE_WITH_NO_QUERY() { - let getExpect = self.expectationWithDescription("\(#function)") + let getExpect = self.expectation(description: "\(#function)") Usergrid.GET(GET_Tests.collectionName) { (response) in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertNotNil(response) XCTAssertTrue(response.ok) XCTAssertTrue(response.hasNextPage) XCTAssertEqual(response.count, 10) response.loadNextPage() { (nextPageResponse) in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertTrue(nextPageResponse.ok) XCTAssertNotNil(nextPageResponse) - XCTAssertFalse(nextPageResponse.hasNextPage) - XCTAssertEqual(nextPageResponse.entities!.count, 7) + XCTAssertFalse(!nextPageResponse.hasNextPage) + XCTAssertEqual(nextPageResponse.entities!.count, 10) getExpect.fulfill() } } - self.waitForExpectationsWithTimeout(20, handler: nil) + self.waitForExpectations(timeout: 20, handler: nil) } } http://git-wip-us.apache.org/repos/asf/usergrid-swift/blob/b022377f/Tests/PUT_Tests.swift ---------------------------------------------------------------------- diff --git a/Tests/PUT_Tests.swift b/Tests/PUT_Tests.swift index b1ff3e7..ff67738 100644 --- a/Tests/PUT_Tests.swift +++ b/Tests/PUT_Tests.swift @@ -51,10 +51,10 @@ class PUT_Tests: XCTestCase { let propertyNameToUpdate = "\(#function)" let propertiesNewValue = "\(propertyNameToUpdate)_VALUE" - let putExpect = self.expectationWithDescription(propertyNameToUpdate) + let putExpect = self.expectation(description: propertyNameToUpdate) Usergrid.PUT(PUT_Tests.collectionName, uuidOrName: PUT_Tests.entityUUID, jsonBody:[propertyNameToUpdate : propertiesNewValue]) { (response) in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertNotNil(response) XCTAssertTrue(response.ok) XCTAssertEqual(response.entities!.count, 1) @@ -68,19 +68,19 @@ class PUT_Tests: XCTestCase { XCTAssertEqual(updatedPropertyValue!,propertiesNewValue) putExpect.fulfill() } - self.waitForExpectationsWithTimeout(10, handler: nil) + self.waitForExpectations(timeout: 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 putExpect = self.expectation(description: propertyNameToUpdate) - let jsonDictToPut = [UsergridEntityProperties.UUID.stringValue : PUT_Tests.entityUUID, propertyNameToUpdate : propertiesNewValue] + let jsonDictToPut = [UsergridEntityProperties.uuid.stringValue : PUT_Tests.entityUUID, propertyNameToUpdate : propertiesNewValue] Usergrid.PUT(PUT_Tests.collectionName, jsonBody: jsonDictToPut) { (response) in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertNotNil(response) XCTAssertTrue(response.ok) XCTAssertEqual(response.entities!.count, 1) @@ -94,16 +94,16 @@ class PUT_Tests: XCTestCase { XCTAssertEqual(updatedPropertyValue!,propertiesNewValue) putExpect.fulfill() } - self.waitForExpectationsWithTimeout(10, handler: nil) + self.waitForExpectations(timeout: 10, handler: nil) } func test_PUT_WITH_ENTITY_OBJECT() { let propertyNameToUpdate = "\(#function)" let propertiesNewValue = "\(propertyNameToUpdate)_VALUE" - let putExpect = self.expectationWithDescription(propertyNameToUpdate) + let putExpect = self.expectation(description: propertyNameToUpdate) Usergrid.GET(PUT_Tests.collectionName, uuidOrName: PUT_Tests.entityUUID) { (getResponse) in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertNotNil(getResponse) XCTAssertTrue(getResponse.ok) XCTAssertEqual(getResponse.entities!.count, 1) @@ -116,7 +116,7 @@ class PUT_Tests: XCTestCase { responseEntity[propertyNameToUpdate] = propertiesNewValue Usergrid.PUT(responseEntity) { (putResponse) in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertNotNil(putResponse) XCTAssertTrue(putResponse.ok) XCTAssertEqual(putResponse.entities!.count, 1) @@ -131,16 +131,16 @@ class PUT_Tests: XCTestCase { putExpect.fulfill() } } - self.waitForExpectationsWithTimeout(20, handler: nil) + self.waitForExpectations(timeout: 20, handler: nil) } func test_PUT_WITH_QUERY() { let propertyNameToUpdate = "\(#function)" let propertiesNewValue = "\(propertyNameToUpdate)_VALUE" - let putExpect = self.expectationWithDescription(propertyNameToUpdate) + let putExpect = self.expectation(description: propertyNameToUpdate) Usergrid.PUT(self.query, jsonBody: [propertyNameToUpdate : propertiesNewValue]) { (putResponse) in - XCTAssertTrue(NSThread.isMainThread()) + XCTAssertTrue(Thread.isMainThread) XCTAssertNotNil(putResponse) XCTAssertTrue(putResponse.ok) XCTAssertEqual(putResponse.entities!.count, 1) @@ -153,6 +153,6 @@ class PUT_Tests: XCTestCase { XCTAssertEqual(updatedPropertyValue!,propertiesNewValue) putExpect.fulfill() } - self.waitForExpectationsWithTimeout(10, handler: nil) + self.waitForExpectations(timeout: 10, handler: nil) } }