blob: 738b76705f8312a5a31ff274fae22dfe74a4fa06 [file] [log] [blame]
;; test_connection.nu
;; Simple tests for Usergrid Connection class.
;;
(load "Usergrid")
(set ORGANIZATION "timburks")
(set APPLICATION "unittest")
(set APPLICATION_UUID "6a87cc36-a328-11e2-836c-02e81af253c0")
(set CLIENT_ID "YXA6aofMNqMoEeKDbALoGvJTwA")
(set CLIENT_SECRET "YXA6oEdSD8zQyKxBKv_3xxZgvISM8C4")
(function perform (request)
(set client ((UGHTTPClient alloc) initWithRequest:request))
(set result (client connect))
result)
(class TestConnection is NuTestCase
;; run this before every test
(- setup is
(set usergrid (UGConnection sharedConnection))
(usergrid setOrganization:ORGANIZATION)
(usergrid setApplication:APPLICATION))
(- testClientSignin is
(set usergrid (UGConnection sharedConnection))
;; log in
(set request (usergrid getAccessTokenForApplicationWithClientID:CLIENT_ID
clientSecret:CLIENT_SECRET))
(set result (perform request))
(set object (result object))
(assert_true (object access_token:))
;; capture token
(usergrid authenticateWithResult:result)
(assert_true (usergrid isAuthenticated)))
(- testUserSignin is
(set usergrid (UGConnection sharedConnection))
;; log in
(set request (usergrid getAccessTokenForApplicationWithUsername:"test1"
password:"test1"))
(set result (perform request))
(set object (result object))
(assert_true (object access_token:))
;; capture token
(usergrid authenticateWithResult:result)
(assert_true (usergrid isAuthenticated)))
(- testApplicationDetail is
(set usergrid (UGConnection sharedConnection))
;; log in
(set request (usergrid getAccessTokenForApplicationWithUsername:"test2"
password:"test2"))
(set result (perform request))
(usergrid authenticateWithResult:result)
;; get application description
(set request (usergrid getApplication:APPLICATION inOrganization:ORGANIZATION))
(set result (perform request))
(set object (result object))
(assert_equal APPLICATION (object applicationName:))
(assert_equal ORGANIZATION (object organization:))
(assert_equal 1 ((object entities:) count))
(set collections ((((object entities:) 0) metadata:) collections:))
(assert_equal 8 (collections count)))
(- testAssets is
(set usergrid (UGConnection sharedConnection))
;; log in
(usergrid authenticateWithResult:(perform (usergrid getAccessTokenForApplicationWithUsername:"test1" password:"test1")))
;; delete all assets
(perform (usergrid deleteEntitiesInCollection:"assets"))
(set results (perform (usergrid getEntitiesInCollection:"assets" limit:10)))
(set object (results object))
(assert_equal 0 (object count:))
;; add some assets
(set N 2)
(N times:
(do (i)
(set results (perform (usergrid createEntityInCollection:"assets" withValues:(dict name:"asset-#{i}"
number:i
owner:APPLICATION_UUID
path:"asset-#{i}"))))
(set object (results object))
(set uuid (((object entities:) 0) uuid:))
(set results (perform (usergrid postData:("asset-#{i}" dataUsingEncoding:NSUTF8StringEncoding)
forAsset:uuid)))))
(set results (perform (usergrid getEntitiesInCollection:"assets" limit:10)))
(set object (results object))
(assert_equal N (object count:))
((object entities:) eachWithIndex:
(do (asset i)
(set uuid (asset uuid:))
(set results (perform (usergrid getDataForAsset:uuid)))
(set asset-string (NSString stringWithData:(results data) encoding:NSUTF8StringEncoding))
(assert_equal i (asset number:))
(assert_equal (asset owner:) APPLICATION_UUID)
(assert_equal (asset path:) asset-string)
(assert_equal (asset name:) asset-string)))))