@@ -1960,10 +1960,8 @@ describe('Parse.User testing', () => {
1960
1960
} ) ;
1961
1961
1962
1962
it ( "querying for users doesn't get session tokens" , ( done ) => {
1963
- Parse . Promise . as ( ) . then ( function ( ) {
1964
- return Parse . User . signUp ( "finn" , "human" , { foo : "bar" } ) ;
1965
-
1966
- } ) . then ( function ( ) {
1963
+ Parse . User . signUp ( "finn" , "human" , { foo : "bar" } )
1964
+ . then ( function ( ) {
1967
1965
return Parse . User . logOut ( ) ;
1968
1966
} ) . then ( ( ) => {
1969
1967
var user = new Parse . User ( ) ;
@@ -1992,9 +1990,8 @@ describe('Parse.User testing', () => {
1992
1990
} ) ;
1993
1991
1994
1992
it ( "querying for users only gets the expected fields" , ( done ) => {
1995
- Parse . Promise . as ( ) . then ( ( ) => {
1996
- return Parse . User . signUp ( "finn" , "human" , { foo : "bar" } ) ;
1997
- } ) . then ( ( ) => {
1993
+ Parse . User . signUp ( "finn" , "human" , { foo : "bar" } )
1994
+ . then ( ( ) => {
1998
1995
request . get ( {
1999
1996
headers : { 'X-Parse-Application-Id' : 'test' ,
2000
1997
'X-Parse-REST-API-Key' : 'rest' } ,
@@ -2192,7 +2189,8 @@ describe('Parse.User testing', () => {
2192
2189
request . put ( {
2193
2190
headers : {
2194
2191
'X-Parse-Application-Id' : 'test' ,
2195
- 'X-Parse-Session-Token' : user . getSessionToken ( )
2192
+ 'X-Parse-Session-Token' : user . getSessionToken ( ) ,
2193
+ 'X-Parse-REST-API-Key' : 'rest'
2196
2194
} ,
2197
2195
url : 'http://localhost:8378/1/sessions/' + b . objectId ,
2198
2196
body : JSON . stringify ( { foo : 'bar' } )
@@ -2205,6 +2203,50 @@ describe('Parse.User testing', () => {
2205
2203
} ) ;
2206
2204
} ) ;
2207
2205
2206
+ it ( 'cannot update session if invalid or no session token' , ( done ) => {
2207
+ Parse . Promise . as ( ) . then ( ( ) => {
2208
+ return Parse . User . signUp ( "finn" , "human" , { foo : "bar" } ) ;
2209
+ } ) . then ( ( user ) => {
2210
+ request . get ( {
2211
+ headers : {
2212
+ 'X-Parse-Application-Id' : 'test' ,
2213
+ 'X-Parse-Session-Token' : user . getSessionToken ( ) ,
2214
+ 'X-Parse-REST-API-Key' : 'rest'
2215
+ } ,
2216
+ url : 'http://localhost:8378/1/sessions/me' ,
2217
+ } , ( error , response , body ) => {
2218
+ expect ( error ) . toBe ( null ) ;
2219
+ var b = JSON . parse ( body ) ;
2220
+ request . put ( {
2221
+ headers : {
2222
+ 'X-Parse-Application-Id' : 'test' ,
2223
+ 'X-Parse-Session-Token' : 'foo' ,
2224
+ 'X-Parse-REST-API-Key' : 'rest'
2225
+ } ,
2226
+ url : 'http://localhost:8378/1/sessions/' + b . objectId ,
2227
+ body : JSON . stringify ( { foo : 'bar' } )
2228
+ } , ( error , response , body ) => {
2229
+ expect ( error ) . toBe ( null ) ;
2230
+ var b = JSON . parse ( body ) ;
2231
+ expect ( b . error ) . toBe ( 'invalid session token' ) ;
2232
+ request . put ( {
2233
+ headers : {
2234
+ 'X-Parse-Application-Id' : 'test' ,
2235
+ 'X-Parse-REST-API-Key' : 'rest'
2236
+ } ,
2237
+ url : 'http://localhost:8378/1/sessions/' + b . objectId ,
2238
+ body : JSON . stringify ( { foo : 'bar' } )
2239
+ } , ( error , response , body ) => {
2240
+ expect ( error ) . toBe ( null ) ;
2241
+ var b = JSON . parse ( body ) ;
2242
+ expect ( b . error ) . toBe ( 'Session token required.' ) ;
2243
+ done ( ) ;
2244
+ } ) ;
2245
+ } ) ;
2246
+ } ) ;
2247
+ } ) ;
2248
+ } ) ;
2249
+
2208
2250
it ( 'get session only for current user' , ( done ) => {
2209
2251
Parse . Promise . as ( ) . then ( ( ) => {
2210
2252
return Parse . User . signUp ( "test1" , "test" , { foo : "bar" } ) ;
@@ -2278,13 +2320,55 @@ describe('Parse.User testing', () => {
2278
2320
expect ( error ) . toBe ( null ) ;
2279
2321
var b = JSON . parse ( body ) ;
2280
2322
expect ( b . code ) . toEqual ( 209 ) ;
2323
+ expect ( b . error ) . toBe ( 'invalid session token' ) ;
2281
2324
done ( ) ;
2282
2325
} ) ;
2283
2326
} ) ;
2284
2327
} ) ;
2285
2328
} ) ;
2286
2329
} ) ;
2287
2330
2331
+ it ( 'cannot delete session if no sessionToken' , ( done ) => {
2332
+ Parse . Promise . as ( ) . then ( ( ) => {
2333
+ return Parse . User . signUp ( "test1" , "test" , { foo : "bar" } ) ;
2334
+ } ) . then ( ( ) => {
2335
+ return Parse . User . signUp ( "test2" , "test" , { foo : "bar" } ) ;
2336
+ } ) . then ( ( user ) => {
2337
+ request . get ( {
2338
+ headers : {
2339
+ 'X-Parse-Application-Id' : 'test' ,
2340
+ 'X-Parse-Session-Token' : user . getSessionToken ( ) ,
2341
+ 'X-Parse-REST-API-Key' : 'rest'
2342
+ } ,
2343
+ url : 'http://localhost:8378/1/sessions'
2344
+ } , ( error , response , body ) => {
2345
+ expect ( error ) . toBe ( null ) ;
2346
+ var objId ;
2347
+ try {
2348
+ var b = JSON . parse ( body ) ;
2349
+ expect ( b . results . length ) . toEqual ( 1 ) ;
2350
+ objId = b . results [ 0 ] . objectId ;
2351
+ } catch ( e ) {
2352
+ jfail ( e ) ;
2353
+ done ( ) ;
2354
+ return ;
2355
+ }
2356
+ request . del ( {
2357
+ headers : {
2358
+ 'X-Parse-Application-Id' : 'test' ,
2359
+ 'X-Parse-REST-API-Key' : 'rest'
2360
+ } ,
2361
+ url : 'http://localhost:8378/1/sessions/' + objId
2362
+ } , ( error , response , body ) => {
2363
+ var b = JSON . parse ( body ) ;
2364
+ expect ( b . code ) . toEqual ( 209 ) ;
2365
+ expect ( b . error ) . toBe ( 'invalid session token' ) ;
2366
+ done ( ) ;
2367
+ } ) ;
2368
+ } ) ;
2369
+ } ) ;
2370
+ } ) ;
2371
+
2288
2372
it ( 'password format matches hosted parse' , ( done ) => {
2289
2373
var hashed = '$2a$10$8/wZJyEuiEaobBBqzTG.jeY.XSFJd0rzaN//ososvEI4yLqI.4aie' ;
2290
2374
passwordCrypto . compare ( 'test' , hashed )
0 commit comments