@@ -1239,6 +1239,17 @@ describe('Cloud Code', () => {
1239
1239
} ) ;
1240
1240
} ) ;
1241
1241
1242
+ describe ( 'cloud functions' , ( ) => {
1243
+ it ( 'Should have request ip' , ( done ) => {
1244
+ Parse . Cloud . define ( 'myFunction' , ( req , res ) => {
1245
+ expect ( req . ip ) . toBeDefined ( ) ;
1246
+ res . success ( "success" ) ;
1247
+ } ) ;
1248
+
1249
+ Parse . Cloud . run ( 'myFunction' , { } ) . then ( ( ) => done ( ) ) ;
1250
+ } ) ;
1251
+ } ) ;
1252
+
1242
1253
describe ( 'beforeSave hooks' , ( ) => {
1243
1254
it ( 'should have request headers' , ( done ) => {
1244
1255
Parse . Cloud . beforeSave ( 'MyObject' , ( req , res ) => {
@@ -1250,6 +1261,17 @@ describe('beforeSave hooks', () => {
1250
1261
const myObject = new MyObject ( ) ;
1251
1262
myObject . save ( ) . then ( ( ) => done ( ) ) ;
1252
1263
} ) ;
1264
+
1265
+ it ( 'should have request ip' , ( done ) => {
1266
+ Parse . Cloud . beforeSave ( 'MyObject' , ( req , res ) => {
1267
+ expect ( req . ip ) . toBeDefined ( ) ;
1268
+ res . success ( ) ;
1269
+ } ) ;
1270
+
1271
+ const MyObject = Parse . Object . extend ( 'MyObject' ) ;
1272
+ const myObject = new MyObject ( ) ;
1273
+ myObject . save ( ) . then ( ( ) => done ( ) ) ;
1274
+ } ) ;
1253
1275
} ) ;
1254
1276
1255
1277
describe ( 'afterSave hooks' , ( ) => {
@@ -1263,6 +1285,17 @@ describe('afterSave hooks', () => {
1263
1285
myObject . save ( )
1264
1286
. then ( ( ) => done ( ) ) ;
1265
1287
} ) ;
1288
+
1289
+ it ( 'should have request ip' , ( done ) => {
1290
+ Parse . Cloud . afterSave ( 'MyObject' , ( req , res ) => {
1291
+ expect ( req . ip ) . toBeDefined ( ) ;
1292
+ res . success ( ) ;
1293
+ } ) ;
1294
+
1295
+ const MyObject = Parse . Object . extend ( 'MyObject' ) ;
1296
+ const myObject = new MyObject ( ) ;
1297
+ myObject . save ( ) . then ( ( ) => done ( ) ) ;
1298
+ } ) ;
1266
1299
} ) ;
1267
1300
1268
1301
describe ( 'beforeDelete hooks' , ( ) => {
@@ -1278,6 +1311,19 @@ describe('beforeDelete hooks', () => {
1278
1311
. then ( myObj => myObj . destroy ( ) )
1279
1312
. then ( ( ) => done ( ) ) ;
1280
1313
} ) ;
1314
+
1315
+ it ( 'should have request ip' , ( done ) => {
1316
+ Parse . Cloud . beforeDelete ( 'MyObject' , ( req , res ) => {
1317
+ expect ( req . ip ) . toBeDefined ( ) ;
1318
+ res . success ( ) ;
1319
+ } ) ;
1320
+
1321
+ const MyObject = Parse . Object . extend ( 'MyObject' ) ;
1322
+ const myObject = new MyObject ( ) ;
1323
+ myObject . save ( )
1324
+ . then ( myObj => myObj . destroy ( ) )
1325
+ . then ( ( ) => done ( ) ) ;
1326
+ } ) ;
1281
1327
} ) ;
1282
1328
1283
1329
describe ( 'afterDelete hooks' , ( ) => {
@@ -1292,6 +1338,18 @@ describe('afterDelete hooks', () => {
1292
1338
. then ( myObj => myObj . destroy ( ) )
1293
1339
. then ( ( ) => done ( ) ) ;
1294
1340
} ) ;
1341
+
1342
+ it ( 'should have request ip' , ( done ) => {
1343
+ Parse . Cloud . afterDelete ( 'MyObject' , ( req ) => {
1344
+ expect ( req . ip ) . toBeDefined ( ) ;
1345
+ } ) ;
1346
+
1347
+ const MyObject = Parse . Object . extend ( 'MyObject' ) ;
1348
+ const myObject = new MyObject ( ) ;
1349
+ myObject . save ( )
1350
+ . then ( myObj => myObj . destroy ( ) )
1351
+ . then ( ( ) => done ( ) ) ;
1352
+ } ) ;
1295
1353
} ) ;
1296
1354
1297
1355
describe ( 'beforeFind hooks' , ( ) => {
@@ -1448,6 +1506,26 @@ describe('beforeFind hooks', () => {
1448
1506
} )
1449
1507
. then ( ( ) => done ( ) ) ;
1450
1508
} ) ;
1509
+
1510
+ it ( 'should have request ip' , ( done ) => {
1511
+ Parse . Cloud . beforeFind ( 'MyObject' , ( req ) => {
1512
+ expect ( req . ip ) . toBeDefined ( ) ;
1513
+ } ) ;
1514
+
1515
+ const MyObject = Parse . Object . extend ( 'MyObject' ) ;
1516
+ const myObject = new MyObject ( ) ;
1517
+ myObject . save ( )
1518
+ . then ( ( myObj ) => {
1519
+ const query = new Parse . Query ( 'MyObject' ) ;
1520
+ query . equalTo ( 'objectId' , myObj . id ) ;
1521
+ return Promise . all ( [
1522
+ query . get ( myObj . id ) ,
1523
+ query . first ( ) ,
1524
+ query . find ( ) ,
1525
+ ] ) ;
1526
+ } )
1527
+ . then ( ( ) => done ( ) ) ;
1528
+ } ) ;
1451
1529
} ) ;
1452
1530
1453
1531
describe ( 'afterFind hooks' , ( ) => {
@@ -1667,6 +1745,27 @@ describe('afterFind hooks', () => {
1667
1745
. then ( ( ) => done ( ) ) ;
1668
1746
} ) ;
1669
1747
1748
+ it ( 'should have request ip' , ( done ) => {
1749
+ Parse . Cloud . afterFind ( 'MyObject' , ( req , res ) => {
1750
+ expect ( req . ip ) . toBeDefined ( ) ;
1751
+ res . success ( ) ;
1752
+ } ) ;
1753
+
1754
+ const MyObject = Parse . Object . extend ( 'MyObject' ) ;
1755
+ const myObject = new MyObject ( ) ;
1756
+ myObject . save ( )
1757
+ . then ( ( myObj ) => {
1758
+ const query = new Parse . Query ( 'MyObject' ) ;
1759
+ query . equalTo ( 'objectId' , myObj . id ) ;
1760
+ return Promise . all ( [
1761
+ query . get ( myObj . id ) ,
1762
+ query . first ( ) ,
1763
+ query . find ( ) ,
1764
+ ] ) ;
1765
+ } )
1766
+ . then ( ( ) => done ( ) ) ;
1767
+ } ) ;
1768
+
1670
1769
it ( 'should validate triggers correctly' , ( ) => {
1671
1770
expect ( ( ) => {
1672
1771
Parse . Cloud . beforeSave ( '_Session' , ( ) => { } ) ;
0 commit comments