@@ -12,129 +12,119 @@ const ExportCommand = require('@contentstack/cli-cm-export/src/commands/cm/stack
1212const { default : defaultConfig } = require ( '../../src/config' ) ;
1313const modules = defaultConfig . modules ;
1414const { getStackDetailsByRegion, getAssetAndFolderCount, cleanUp, deleteStack, getEnvData } = require ( './utils/helper' ) ;
15- const { PRINT_LOGS , IMPORT_PATH } = require ( './config.json' ) ;
15+ const { PRINT_LOGS , IMPORT_PATH , REGION_MAP } = require ( './config.json' ) ;
1616const { DELIMITER , KEY_VAL_DELIMITER } = process . env ;
1717const { ENCRYPTION_KEY } = getEnvData ( ) ;
1818
19- const REGION_MAP = {
20- AWS_NA : 'AWS-NA' ,
21- AWS_EU : 'AWS-EU' ,
22- AWS_AU : 'AWS-AU' ,
23- AZURE_NA : 'AZURE-NA' ,
24- AZURE_EU : 'AZURE-EU' ,
25- GCP_NA : 'GCP-NA' ,
26- GCP_EU : 'GCP-EU'
27- } ;
28-
2919module . exports = ( region ) => {
30- const stackDetails = getStackDetailsByRegion ( region . REGION , DELIMITER , KEY_VAL_DELIMITER ) ;
31- for ( const stack of Object . keys ( stackDetails ) ) {
32- const basePath = path . join ( __dirname , '..' , '..' , `${ IMPORT_PATH } _${ stack } ` ) ;
33- const importBasePath = path . join ( basePath , stackDetails [ stack ] . BRANCH ? stackDetails [ stack ] . BRANCH : 'main' ) ;
34- const assetsBasePath = path . join ( importBasePath , modules . assets . dirName ) ;
35- const assetsFolderPath = path . join ( assetsBasePath , 'folders.json' ) ;
36- const assetsJson = path . join ( assetsBasePath , modules . assets . fileName ) ;
37- const messageFilePath = path . join ( __dirname , '..' , '..' , 'messages/index.json' ) ;
38- messageHandler . init ( { messageFilePath } ) ;
39- const username = ENCRYPTION_KEY ? crypto . decrypt ( region . USERNAME ) : region . USERNAME ;
40- const password = ENCRYPTION_KEY ? crypto . decrypt ( region . PASSWORD ) : region . PASSWORD ;
20+ const stackDetails = getStackDetailsByRegion ( region . REGION , DELIMITER , KEY_VAL_DELIMITER ) ;
21+ for ( const stack of Object . keys ( stackDetails ) ) {
22+ const basePath = path . join ( __dirname , '..' , '..' , `${ IMPORT_PATH } _${ stack } ` ) ;
23+ const importBasePath = path . join ( basePath , stackDetails [ stack ] . BRANCH ? stackDetails [ stack ] . BRANCH : 'main' ) ;
24+ const assetsBasePath = path . join ( importBasePath , modules . assets . dirName ) ;
25+ const assetsFolderPath = path . join ( assetsBasePath , 'folders.json' ) ;
26+ const assetsJson = path . join ( assetsBasePath , modules . assets . fileName ) ;
27+ const messageFilePath = path . join ( __dirname , '..' , '..' , 'messages/index.json' ) ;
28+ messageHandler . init ( { messageFilePath } ) ;
29+ const username = ENCRYPTION_KEY ? crypto . decrypt ( region . USERNAME ) : region . USERNAME ;
30+ const password = ENCRYPTION_KEY ? crypto . decrypt ( region . PASSWORD ) : region . PASSWORD ;
4131
42- describe ( 'Contentstack-import plugin test [--module=assets]' , ( ) => {
43- customTest
44- . stdout ( { print : PRINT_LOGS || false } )
45- . command ( RegionSetCommand , [ REGION_MAP [ stackDetails [ stack ] . REGION_NAME ] ] )
46- . command ( LoginCommand , [ `-u=${ username } ` , `-p=${ password } ` ] )
47- . it ( 'should work without any errors' , ( _ , done ) => {
48- done ( ) ;
49- } ) ;
32+ describe ( 'Contentstack-import plugin test [--module=assets]' , ( ) => {
33+ customTest
34+ . stdout ( { print : PRINT_LOGS || false } )
35+ . command ( RegionSetCommand , [ REGION_MAP [ stackDetails [ stack ] . REGION_NAME ] ] )
36+ . command ( LoginCommand , [ `-u=${ username } ` , `-p=${ password } ` ] )
37+ . it ( 'should work without any errors' , ( _ , done ) => {
38+ done ( ) ;
39+ } ) ;
5040
51- customTest
52- . command ( AddTokenCommand , [
53- '-a' ,
54- stackDetails [ stack ] . EXPORT_ALIAS_NAME ,
55- '-k' ,
56- stackDetails [ stack ] . EXPORT_STACK_API_KEY ,
57- '--management' ,
58- '--token' ,
59- stackDetails [ stack ] . EXPORT_MANAGEMENT_TOKEN ,
60- '-y' ,
61- ] )
62- . it ( `Adding token for ${ stack } ` , ( _ , done ) => {
63- done ( ) ;
64- } ) ;
41+ customTest
42+ . command ( AddTokenCommand , [
43+ '-a' ,
44+ stackDetails [ stack ] . EXPORT_ALIAS_NAME ,
45+ '-k' ,
46+ stackDetails [ stack ] . EXPORT_STACK_API_KEY ,
47+ '--management' ,
48+ '--token' ,
49+ stackDetails [ stack ] . EXPORT_MANAGEMENT_TOKEN ,
50+ '-y' ,
51+ ] )
52+ . it ( `Adding token for ${ stack } ` , ( _ , done ) => {
53+ done ( ) ;
54+ } ) ;
6555
66- customTest
67- . command ( AddTokenCommand , [
68- '-a' ,
69- stackDetails [ stack ] . ALIAS_NAME ,
70- '-k' ,
71- stackDetails [ stack ] . STACK_API_KEY ,
72- '--management' ,
73- '--token' ,
74- stackDetails [ stack ] . MANAGEMENT_TOKEN ,
75- '-y' ,
76- ] )
77- . it ( `Adding token for ${ stack } ` , ( _ , done ) => {
78- done ( ) ;
79- } ) ;
56+ customTest
57+ . command ( AddTokenCommand , [
58+ '-a' ,
59+ stackDetails [ stack ] . ALIAS_NAME ,
60+ '-k' ,
61+ stackDetails [ stack ] . STACK_API_KEY ,
62+ '--management' ,
63+ '--token' ,
64+ stackDetails [ stack ] . MANAGEMENT_TOKEN ,
65+ '-y' ,
66+ ] )
67+ . it ( `Adding token for ${ stack } ` , ( _ , done ) => {
68+ done ( ) ;
69+ } ) ;
8070
81- customTest
82- . stdout ( { print : PRINT_LOGS || false } )
83- . command ( ExportCommand , [
84- '--alias' ,
85- stackDetails [ stack ] . EXPORT_ALIAS_NAME ,
86- '--data-dir' ,
87- basePath ,
88- '--module' ,
89- 'assets' ,
90- ] )
91- . it ( 'should work without any errors' , ( _ , done ) => {
92- done ( ) ;
93- } ) ;
71+ customTest
72+ . stdout ( { print : PRINT_LOGS || false } )
73+ . command ( ExportCommand , [
74+ '--alias' ,
75+ stackDetails [ stack ] . EXPORT_ALIAS_NAME ,
76+ '--data-dir' ,
77+ basePath ,
78+ '--module' ,
79+ 'assets' ,
80+ ] )
81+ . it ( 'should work without any errors' , ( _ , done ) => {
82+ done ( ) ;
83+ } ) ;
9484
95- describe ( 'Import assets using cm:stacks:import command' , ( ) => {
96- test
97- . stdout ( { print : PRINT_LOGS || false } )
98- . command ( [
99- 'cm:stacks:import' ,
100- '--alias' ,
101- stackDetails [ stack ] . ALIAS_NAME ,
102- '--data-dir' ,
103- importBasePath ,
104- '--module' ,
105- 'assets' ,
106- ] )
107- . it ( 'should work without any errors' , async ( _ , done ) => {
108- let importedAssetsCount = 0 ;
109- let importedAssetsFolderCount = 0 ;
110- const { assetCount, folderCount } = await getAssetAndFolderCount ( stackDetails [ stack ] ) ;
111- try {
112- if ( fs . existsSync ( assetsFolderPath ) ) {
113- importedAssetsFolderCount = uniqBy (
114- JSON . parse ( fs . readFileSync ( assetsFolderPath , 'utf-8' ) ) ,
115- 'uid' ,
116- ) . length ;
117- }
118- if ( fs . existsSync ( assetsJson ) ) {
119- importedAssetsCount = Object . keys ( JSON . parse ( fs . readFileSync ( assetsJson , 'utf-8' ) ) ) . length ;
120- }
121- } catch ( error ) {
122- console . trace ( error ) ;
123- }
124- expect ( assetCount ) . to . be . an ( 'number' ) . eq ( importedAssetsCount ) ;
125- expect ( folderCount ) . to . be . an ( 'number' ) . eq ( importedAssetsFolderCount ) ;
126- done ( ) ;
127- } ) ;
128- } ) ;
85+ describe ( 'Import assets using cm:stacks:import command' , ( ) => {
86+ test
87+ . stdout ( { print : PRINT_LOGS || false } )
88+ . command ( [
89+ 'cm:stacks:import' ,
90+ '--alias' ,
91+ stackDetails [ stack ] . ALIAS_NAME ,
92+ '--data-dir' ,
93+ importBasePath ,
94+ '--module' ,
95+ 'assets' ,
96+ ] )
97+ . it ( 'should work without any errors' , async ( _ , done ) => {
98+ let importedAssetsCount = 0 ;
99+ let importedAssetsFolderCount = 0 ;
100+ const { assetCount, folderCount } = await getAssetAndFolderCount ( stackDetails [ stack ] ) ;
101+ try {
102+ if ( fs . existsSync ( assetsFolderPath ) ) {
103+ importedAssetsFolderCount = uniqBy (
104+ JSON . parse ( fs . readFileSync ( assetsFolderPath , 'utf-8' ) ) ,
105+ 'uid' ,
106+ ) . length ;
107+ }
108+ if ( fs . existsSync ( assetsJson ) ) {
109+ importedAssetsCount = Object . keys ( JSON . parse ( fs . readFileSync ( assetsJson , 'utf-8' ) ) ) . length ;
110+ }
111+ } catch ( error ) {
112+ console . trace ( error ) ;
113+ }
114+ expect ( assetCount ) . to . be . an ( 'number' ) . eq ( importedAssetsCount ) ;
115+ expect ( folderCount ) . to . be . an ( 'number' ) . eq ( importedAssetsFolderCount ) ;
116+ done ( ) ;
117+ } ) ;
118+ } ) ;
129119
130- after ( async ( ) => {
131- await cleanUp ( path . join ( __dirname , '..' , '..' , `${ IMPORT_PATH } _${ stack } ` ) ) ;
132- // await deleteStack({ apiKey: stackDetails[stack].STACK_API_KEY, authToken: configHandler.get('authtoken') });
133- defaultConfig . management_token = null ;
134- defaultConfig . branch = null ;
135- defaultConfig . branches = [ ] ;
136- defaultConfig . moduleName = null ;
137- } ) ;
138- } ) ;
139- }
120+ after ( async ( ) => {
121+ await cleanUp ( path . join ( __dirname , '..' , '..' , `${ IMPORT_PATH } _${ stack } ` ) ) ;
122+ // await deleteStack({ apiKey: stackDetails[stack].STACK_API_KEY, authToken: configHandler.get('authtoken') });
123+ defaultConfig . management_token = null ;
124+ defaultConfig . branch = null ;
125+ defaultConfig . branches = [ ] ;
126+ defaultConfig . moduleName = null ;
127+ } ) ;
128+ } ) ;
129+ }
140130} ;
0 commit comments