@@ -26,7 +26,7 @@ describe('DefinedSchemas', () => {
2626 it ( 'should keep default fields if not provided' , async ( ) => {
2727 const server = await reconfigureServer ( ) ;
2828 // Will perform create
29- await new DefinedSchemas ( { schemas : [ { className : 'Test' } ] } , server . config ) . execute ( ) ;
29+ await new DefinedSchemas ( { definitions : [ { className : 'Test' } ] } , server . config ) . execute ( ) ;
3030 let schema = await new Parse . Schema ( 'Test' ) . get ( ) ;
3131 const expectedFields = {
3232 objectId : { type : 'String' } ,
@@ -38,15 +38,15 @@ describe('DefinedSchemas', () => {
3838
3939 await server . config . schemaCache . clear ( ) ;
4040 // Will perform update
41- await new DefinedSchemas ( { schemas : [ { className : 'Test' } ] } , server . config ) . execute ( ) ;
41+ await new DefinedSchemas ( { definitions : [ { className : 'Test' } ] } , server . config ) . execute ( ) ;
4242 schema = await new Parse . Schema ( 'Test' ) . get ( ) ;
4343 expect ( schema . fields ) . toEqual ( expectedFields ) ;
4444 } ) ;
4545 it ( 'should protect default fields' , async ( ) => {
4646 const server = await reconfigureServer ( ) ;
4747
4848 const schemas = {
49- schemas : [
49+ definitions : [
5050 {
5151 className : '_User' ,
5252 fields : {
@@ -178,7 +178,7 @@ describe('DefinedSchemas', () => {
178178 aObject : { type : 'Object' } ,
179179 } ;
180180 const schemas = {
181- schemas : [
181+ definitions : [
182182 {
183183 className : 'Test' ,
184184 fields,
@@ -201,14 +201,14 @@ describe('DefinedSchemas', () => {
201201 const server = await reconfigureServer ( ) ;
202202
203203 await new DefinedSchemas (
204- { schemas : [ { className : 'Test' , fields : { aField : { type : 'String' } } } ] } ,
204+ { definitions : [ { className : 'Test' , fields : { aField : { type : 'String' } } } ] } ,
205205 server . config
206206 ) . execute ( ) ;
207207
208208 let schema = await new Parse . Schema ( 'Test' ) . get ( ) ;
209209 expect ( schema . fields . aField ) . toBeDefined ( ) ;
210210
211- await new DefinedSchemas ( { schemas : [ { className : 'Test' } ] } , server . config ) . execute ( ) ;
211+ await new DefinedSchemas ( { definitions : [ { className : 'Test' } ] } , server . config ) . execute ( ) ;
212212
213213 schema = await new Parse . Schema ( 'Test' ) . get ( ) ;
214214 expect ( schema . fields ) . toEqual ( {
@@ -224,7 +224,7 @@ describe('DefinedSchemas', () => {
224224
225225 await new DefinedSchemas (
226226 {
227- schemas : [ { className : 'Test' , fields : { aField : { type : 'String' } } } ] ,
227+ definitions : [ { className : 'Test' , fields : { aField : { type : 'String' } } } ] ,
228228 } ,
229229 server . config
230230 ) . execute ( ) ;
@@ -233,7 +233,7 @@ describe('DefinedSchemas', () => {
233233 expect ( schema . fields . aField ) . toBeDefined ( ) ;
234234
235235 await new DefinedSchemas (
236- { deleteExtraFields : true , schemas : [ { className : 'Test' } ] } ,
236+ { deleteExtraFields : true , definitions : [ { className : 'Test' } ] } ,
237237 server . config
238238 ) . execute ( ) ;
239239
@@ -249,7 +249,7 @@ describe('DefinedSchemas', () => {
249249 const server = await reconfigureServer ( ) ;
250250
251251 await new DefinedSchemas (
252- { schemas : [ { className : 'Test' , fields : { aField : { type : 'String' } } } ] } ,
252+ { definitions : [ { className : 'Test' , fields : { aField : { type : 'String' } } } ] } ,
253253 server . config
254254 ) . execute ( ) ;
255255
@@ -262,7 +262,7 @@ describe('DefinedSchemas', () => {
262262 await new DefinedSchemas (
263263 {
264264 recreateModifiedFields : true ,
265- schemas : [ { className : 'Test' , fields : { aField : { type : 'Number' } } } ] ,
265+ definitions : [ { className : 'Test' , fields : { aField : { type : 'Number' } } } ] ,
266266 } ,
267267 server . config
268268 ) . execute ( ) ;
@@ -277,7 +277,7 @@ describe('DefinedSchemas', () => {
277277 const server = await reconfigureServer ( ) ;
278278
279279 await new DefinedSchemas (
280- { schemas : [ { className : 'Test' , fields : { aField : { type : 'String' } } } ] } ,
280+ { definitions : [ { className : 'Test' , fields : { aField : { type : 'String' } } } ] } ,
281281 server . config
282282 ) . execute ( ) ;
283283
@@ -288,7 +288,7 @@ describe('DefinedSchemas', () => {
288288 await object . save ( { aField : 'Hello' } , { useMasterKey : true } ) ;
289289
290290 await new DefinedSchemas (
291- { schemas : [ { className : 'Test' , fields : { aField : { type : 'Number' } } } ] } ,
291+ { definitions : [ { className : 'Test' , fields : { aField : { type : 'Number' } } } ] } ,
292292 server . config
293293 ) . execute ( ) ;
294294
@@ -302,7 +302,7 @@ describe('DefinedSchemas', () => {
302302 const server = await reconfigureServer ( ) ;
303303
304304 await new DefinedSchemas (
305- { schemas : [ { className : 'Test' , fields : { aField : { type : 'String' } } } ] } ,
305+ { definitions : [ { className : 'Test' , fields : { aField : { type : 'String' } } } ] } ,
306306 server . config
307307 ) . execute ( ) ;
308308
@@ -314,7 +314,9 @@ describe('DefinedSchemas', () => {
314314
315315 await new DefinedSchemas (
316316 {
317- schemas : [ { className : 'Test' , fields : { aField : { type : 'String' , required : true } } } ] ,
317+ definitions : [
318+ { className : 'Test' , fields : { aField : { type : 'String' , required : true } } } ,
319+ ] ,
318320 } ,
319321 server . config
320322 ) . execute ( ) ;
@@ -334,7 +336,7 @@ describe('DefinedSchemas', () => {
334336 const indexes = { complex : { createdAt : 1 , updatedAt : 1 } } ;
335337
336338 const schemas = {
337- schemas : [ { className : 'Test' , fields : { aField : { type : 'String' } } , indexes } ] ,
339+ definitions : [ { className : 'Test' , fields : { aField : { type : 'String' } } , indexes } ] ,
338340 } ;
339341 await new DefinedSchemas ( schemas , server . config ) . execute ( ) ;
340342
@@ -353,11 +355,11 @@ describe('DefinedSchemas', () => {
353355
354356 let indexes = { complex : { createdAt : 1 , updatedAt : 1 } } ;
355357
356- let schemas = { schemas : [ { className : 'Test' , indexes } ] } ;
358+ let schemas = { definitions : [ { className : 'Test' , indexes } ] } ;
357359 await new DefinedSchemas ( schemas , server . config ) . execute ( ) ;
358360
359361 indexes = { complex : { createdAt : 1 } } ;
360- schemas = { schemas : [ { className : 'Test' , indexes } ] } ;
362+ schemas = { definitions : [ { className : 'Test' , indexes } ] } ;
361363
362364 // Change indexes
363365 await new DefinedSchemas ( schemas , server . config ) . execute ( ) ;
@@ -377,11 +379,11 @@ describe('DefinedSchemas', () => {
377379
378380 let indexes = { complex : { createdAt : 1 , updatedAt : 1 } } ;
379381
380- let schemas = { schemas : [ { className : 'Test' , indexes } ] } ;
382+ let schemas = { definitions : [ { className : 'Test' , indexes } ] } ;
381383 await new DefinedSchemas ( schemas , server . config ) . execute ( ) ;
382384
383385 indexes = { } ;
384- schemas = { schemas : [ { className : 'Test' , indexes } ] } ;
386+ schemas = { definitions : [ { className : 'Test' , indexes } ] } ;
385387 // Change indexes
386388 await new DefinedSchemas ( schemas , server . config ) . execute ( ) ;
387389 let schema = await new Parse . Schema ( 'Test' ) . get ( ) ;
@@ -394,51 +396,51 @@ describe('DefinedSchemas', () => {
394396 cleanUpIndexes ( schema ) ;
395397 expect ( schema . indexes ) . toBeUndefined ( ) ;
396398 } ) ;
397- xit ( 'should keep protected indexes' , async ( ) => {
398- const server = await reconfigureServer ( ) ;
399-
400- const expectedIndexes = {
401- username_1 : { username : 1 } ,
402- case_insensitive_username : { username : 1 } ,
403- email_1 : { email : 1 } ,
404- case_insensitive_email : { email : 1 } ,
405- } ;
406- const schemas = {
407- schemas : [
408- {
409- className : '_User' ,
410- indexes : {
411- case_insensitive_username : { password : true } ,
412- case_insensitive_email : { password : true } ,
413- } ,
414- } ,
415- { className : 'Test' } ,
416- ] ,
417- } ;
418- // Create
419- await new DefinedSchemas ( schemas , server . config ) . execute ( ) ;
420- let userSchema = await new Parse . Schema ( '_User' ) . get ( ) ;
421- let testSchema = await new Parse . Schema ( 'Test' ) . get ( ) ;
422- cleanUpIndexes ( userSchema ) ;
423- cleanUpIndexes ( testSchema ) ;
424- expect ( testSchema . indexes ) . toBeUndefined ( ) ;
425- expect ( userSchema . indexes ) . toEqual ( expectedIndexes ) ;
426-
427- // Update
428- await new DefinedSchemas ( schemas , server . config ) . execute ( ) ;
429- userSchema = await new Parse . Schema ( '_User' ) . get ( ) ;
430- testSchema = await new Parse . Schema ( 'Test' ) . get ( ) ;
431- cleanUpIndexes ( userSchema ) ;
432- cleanUpIndexes ( testSchema ) ;
433- expect ( testSchema . indexes ) . toBeUndefined ( ) ;
434- expect ( userSchema . indexes ) . toEqual ( expectedIndexes ) ;
435- } ) ;
399+ // xit('should keep protected indexes', async () => {
400+ // const server = await reconfigureServer();
401+ //
402+ // const expectedIndexes = {
403+ // username_1: { username: 1 },
404+ // case_insensitive_username: { username: 1 },
405+ // email_1: { email: 1 },
406+ // case_insensitive_email: { email: 1 },
407+ // };
408+ // const schemas = {
409+ // definitions : [
410+ // {
411+ // className: '_User',
412+ // indexes: {
413+ // case_insensitive_username: { password: true },
414+ // case_insensitive_email: { password: true },
415+ // },
416+ // },
417+ // { className: 'Test' },
418+ // ],
419+ // };
420+ // Create
421+ // await new DefinedSchemas(schemas, server.config).execute();
422+ // let userSchema = await new Parse.Schema('_User').get();
423+ // let testSchema = await new Parse.Schema('Test').get();
424+ // cleanUpIndexes(userSchema);
425+ // cleanUpIndexes(testSchema);
426+ // expect(testSchema.indexes).toBeUndefined();
427+ // expect(userSchema.indexes).toEqual(expectedIndexes);
428+ //
429+ // Update
430+ // await new DefinedSchemas(schemas, server.config).execute();
431+ // userSchema = await new Parse.Schema('_User').get();
432+ // testSchema = await new Parse.Schema('Test').get();
433+ // cleanUpIndexes(userSchema);
434+ // cleanUpIndexes(testSchema);
435+ // expect(testSchema.indexes).toBeUndefined();
436+ // expect(userSchema.indexes).toEqual(expectedIndexes);
437+ // });
436438 } ) ;
437439
438440 describe ( 'ClassLevelPermissions' , ( ) => {
439441 it ( 'should use default CLP' , async ( ) => {
440442 const server = await reconfigureServer ( ) ;
441- const schemas = { schemas : [ { className : 'Test' } ] } ;
443+ const schemas = { definitions : [ { className : 'Test' } ] } ;
442444 await new DefinedSchemas ( schemas , server . config ) . execute ( ) ;
443445
444446 const expectedTestCLP = {
@@ -472,7 +474,7 @@ describe('DefinedSchemas', () => {
472474 protectedFields : { '*' : [ 'aField' ] , 'role:Admin' : [ 'anotherField' ] } ,
473475 } ;
474476 const schemas = {
475- schemas : [
477+ definitions : [
476478 {
477479 className : 'Test' ,
478480 fields : { aField : { type : 'String' } , anotherField : { type : 'Object' } } ,
@@ -495,7 +497,7 @@ describe('DefinedSchemas', () => {
495497 it ( 'should force addField to empty' , async ( ) => {
496498 const server = await reconfigureServer ( ) ;
497499 const schemas = {
498- schemas : [ { className : 'Test' , classLevelPermissions : { addField : { '*' : true } } } ] ,
500+ definitions : [ { className : 'Test' , classLevelPermissions : { addField : { '*' : true } } } ] ,
499501 } ;
500502 await new DefinedSchemas ( schemas , server . config ) . execute ( ) ;
501503
@@ -521,20 +523,20 @@ describe('DefinedSchemas', () => {
521523
522524 it ( 'should not delete automatically classes' , async ( ) => {
523525 await reconfigureServer ( {
524- migrations : { schemas : [ { className : '_User' } , { className : 'Test' } ] } ,
526+ schema : { definitions : [ { className : '_User' } , { className : 'Test' } ] } ,
525527 } ) ;
526528
527- await reconfigureServer ( { migrations : { schemas : [ { className : '_User' } ] } } ) ;
529+ await reconfigureServer ( { schema : { definitions : [ { className : '_User' } ] } } ) ;
528530
529531 const schema = await new Parse . Schema ( 'Test' ) . get ( ) ;
530532 expect ( schema . className ) . toEqual ( 'Test' ) ;
531533 } ) ;
532534
533535 it ( 'should disable class PUT/POST endpoint when lockSchemas provided to avoid dual source of truth' , async ( ) => {
534536 await reconfigureServer ( {
535- migrations : {
537+ schema : {
536538 lockSchemas : true ,
537- schemas : [ { className : '_User' } , { className : 'Test' } ] ,
539+ definitions : [ { className : '_User' } , { className : 'Test' } ] ,
538540 } ,
539541 } ) ;
540542
@@ -560,9 +562,9 @@ describe('DefinedSchemas', () => {
560562 } ) ;
561563 it ( 'should only enable delete class endpoint since' , async ( ) => {
562564 await reconfigureServer ( {
563- migrations : { schemas : [ { className : '_User' } , { className : 'Test' } ] } ,
565+ schema : { definitions : [ { className : '_User' } , { className : 'Test' } ] } ,
564566 } ) ;
565- await reconfigureServer ( { migrations : { schemas : [ { className : '_User' } ] } } ) ;
567+ await reconfigureServer ( { schema : { definitions : [ { className : '_User' } ] } } ) ;
566568
567569 let schemas = await Parse . Schema . all ( ) ;
568570 expect ( schemas . length ) . toEqual ( 4 ) ;
@@ -571,12 +573,12 @@ describe('DefinedSchemas', () => {
571573 schemas = await Parse . Schema . all ( ) ;
572574 expect ( schemas . length ) . toEqual ( 3 ) ;
573575 } ) ;
574- it ( 'should run beforeSchemasMigration before execution of DefinedSchemas' , async ( ) => {
576+ it ( 'should run beforeSchemaMigration before execution of DefinedSchemas' , async ( ) => {
575577 let before = false ;
576578 const server = await reconfigureServer ( {
577- migrations : {
578- schemas : [ { className : '_User' } , { className : 'Test' } ] ,
579- beforeSchemasMigration : async ( ) => {
579+ schema : {
580+ definitions : [ { className : '_User' } , { className : 'Test' } ] ,
581+ beforeSchemaMigration : async ( ) => {
580582 expect ( before ) . toEqual ( false ) ;
581583 before = true ;
582584 } ,
@@ -587,7 +589,7 @@ describe('DefinedSchemas', () => {
587589 expect ( server ) . toBeDefined ( ) ;
588590 } ) ;
589591 it ( 'should use logger in case of error' , async ( ) => {
590- const server = await reconfigureServer ( { migrations : { schemas : [ { className : '_User' } ] } } ) ;
592+ const server = await reconfigureServer ( { schema : { definitions : [ { className : '_User' } ] } } ) ;
591593 const error = new Error ( 'A test error' ) ;
592594 const logger = require ( '../lib/logger' ) . logger ;
593595 spyOn ( DefinedSchemas . prototype , 'wait' ) . and . resolveTo ( ) ;
@@ -597,7 +599,7 @@ describe('DefinedSchemas', () => {
597599 } ) ;
598600
599601 await new DefinedSchemas (
600- { schemas : [ { className : 'Test' , fields : { aField : { type : 'String' } } } ] } ,
602+ { definitions : [ { className : 'Test' , fields : { aField : { type : 'String' } } } ] } ,
601603 server . config
602604 ) . execute ( ) ;
603605
@@ -607,8 +609,8 @@ describe('DefinedSchemas', () => {
607609 const server = await reconfigureServer ( ) ;
608610 const logger = require ( '../lib/logger' ) . logger ;
609611 spyOn ( logger , 'error' ) . and . callThrough ( ) ;
610- const schema = {
611- schemas : [
612+ const migrationOptions = {
613+ definitions : [
612614 {
613615 className : 'Test' ,
614616 fields : { aField : { type : 'String' } } ,
@@ -622,15 +624,15 @@ describe('DefinedSchemas', () => {
622624
623625 // Simulate parallel deployment
624626 await Promise . all ( [
625- new DefinedSchemas ( schema , server . config ) . execute ( ) ,
626- new DefinedSchemas ( schema , server . config ) . execute ( ) ,
627- new DefinedSchemas ( schema , server . config ) . execute ( ) ,
628- new DefinedSchemas ( schema , server . config ) . execute ( ) ,
629- new DefinedSchemas ( schema , server . config ) . execute ( ) ,
627+ new DefinedSchemas ( migrationOptions , server . config ) . execute ( ) ,
628+ new DefinedSchemas ( migrationOptions , server . config ) . execute ( ) ,
629+ new DefinedSchemas ( migrationOptions , server . config ) . execute ( ) ,
630+ new DefinedSchemas ( migrationOptions , server . config ) . execute ( ) ,
631+ new DefinedSchemas ( migrationOptions , server . config ) . execute ( ) ,
630632 ] ) ;
631633
632634 const testSchema = ( await Parse . Schema . all ( ) ) . find (
633- ( { className } ) => className === schema . className
635+ ( { className } ) => className === migrationOptions . schema [ 0 ] . className
634636 ) ;
635637
636638 expect ( testSchema . indexes . aField ) . toEqual ( { aField : 1 } ) ;
0 commit comments