11const cloudinary = require ( "../../../../cloudinary" ) ;
2+ const expect = require ( 'expect.js' ) ;
23const TIMEOUT = require ( '../../../testUtils/testConstants' ) . TIMEOUT ;
3- let runOnlyForInternalPRs = process . env . TRAVIS_SECURE_ENV_VARS ? describe : describe . skip ;
4-
54
65describe . skip ( 'Provisioning API - Access Keys Management' , function ( ) {
76 let CLOUD_SECRET ;
@@ -11,7 +10,7 @@ describe.skip('Provisioning API - Access Keys Management', function () {
1110 let CLOUD_NAME_PREFIX = `justaname${ process . hrtime ( ) [ 1 ] % 10000 } ` ;
1211 this . timeout ( TIMEOUT . LONG ) ;
1312
14- before ( "Setup the required test" , async ( ) => {
13+ before ( "Setup the required test" , async function ( ) {
1514 let config = cloudinary . config ( true ) ;
1615 if ( ! ( config . provisioning_api_key && config . provisioning_api_secret && config . account_id ) ) {
1716 // For external PRs the env variables are not availble, so we skip the provisioning API
@@ -48,30 +47,30 @@ describe.skip('Provisioning API - Access Keys Management', function () {
4847 const accessKeys = await cloudinary . provisioning . account . access_keys ( CLOUD_ID ) ;
4948 expect ( Object . keys ( accessKeys ) ) . to . eql ( [ 'access_keys' , 'total' ] ) ;
5049 expect ( accessKeys . access_keys . length ) . to . eql ( 1 ) ;
51- expect ( Object . keys ( accessKeys . access_keys [ 0 ] ) ) . to . eql ( [ 'name' , 'api_key' , 'api_secret' , 'created_at' , 'updated_at' , 'enabled' ] ) ;
50+ expect ( Object . keys ( accessKeys . access_keys [ 0 ] ) ) . to . eql ( [ 'name' , 'api_key' , 'api_secret' , 'created_at' , 'updated_at' , 'enabled' , 'root' ] ) ;
5251 } ) ;
5352
5453 it ( 'Generate new access key' , async ( ) => {
5554 const keyName = `test-access-key-${ Date . now ( ) } `
5655 const newAccessKey = await cloudinary . provisioning . account . generate_access_key ( CLOUD_ID , { name : keyName } ) ;
57- expect ( Object . keys ( newAccessKey ) ) . to . eql ( [ 'name' , 'api_key' , 'api_secret' , 'created_at' , 'updated_at' , 'enabled' ] ) ;
56+ expect ( Object . keys ( newAccessKey ) ) . to . eql ( [ 'name' , 'api_key' , 'api_secret' , 'created_at' , 'updated_at' , 'enabled' , 'root' ] ) ;
5857 expect ( newAccessKey . name ) . to . eql ( keyName ) ;
5958 } ) ;
6059
6160 it ( 'List access keys with optional query params' , async ( ) => {
6261 const keyName1 = `A-test-access-key-${ Date . now ( ) } `
6362 const newAccessKey1 = await cloudinary . provisioning . account . generate_access_key ( CLOUD_ID , { name : keyName1 } ) ;
64- expect ( Object . keys ( newAccessKey1 ) ) . to . eql ( [ 'name' , 'api_key' , 'api_secret' , 'created_at' , 'updated_at' , 'enabled' ] ) ;
63+ expect ( Object . keys ( newAccessKey1 ) ) . to . eql ( [ 'name' , 'api_key' , 'api_secret' , 'created_at' , 'updated_at' , 'enabled' , 'root' ] ) ;
6564 expect ( newAccessKey1 . name ) . to . eql ( keyName1 ) ;
6665
6766 const keyName2 = `B-test-access-key-${ Date . now ( ) } `
6867 const newAccessKey2 = await cloudinary . provisioning . account . generate_access_key ( CLOUD_ID , { name : keyName2 } ) ;
69- expect ( Object . keys ( newAccessKey2 ) ) . to . eql ( [ 'name' , 'api_key' , 'api_secret' , 'created_at' , 'updated_at' , 'enabled' ] ) ;
68+ expect ( Object . keys ( newAccessKey2 ) ) . to . eql ( [ 'name' , 'api_key' , 'api_secret' , 'created_at' , 'updated_at' , 'enabled' , 'root' ] ) ;
7069 expect ( newAccessKey2 . name ) . to . eql ( keyName2 ) ;
7170
7271 const keyName3 = `C-test-access-key-${ Date . now ( ) } `
7372 const newAccessKey3 = await cloudinary . provisioning . account . generate_access_key ( CLOUD_ID , { name : keyName3 } ) ;
74- expect ( Object . keys ( newAccessKey3 ) ) . to . eql ( [ 'name' , 'api_key' , 'api_secret' , 'created_at' , 'updated_at' , 'enabled' ] ) ;
73+ expect ( Object . keys ( newAccessKey3 ) ) . to . eql ( [ 'name' , 'api_key' , 'api_secret' , 'created_at' , 'updated_at' , 'enabled' , 'root' ] ) ;
7574 expect ( newAccessKey3 . name ) . to . eql ( keyName3 ) ;
7675
7776 const pageSize = 2 ;
@@ -83,25 +82,56 @@ describe.skip('Provisioning API - Access Keys Management', function () {
8382 } ) ;
8483 expect ( Object . keys ( accessKeys ) ) . to . eql ( [ 'access_keys' , 'total' ] ) ;
8584 expect ( accessKeys . access_keys . length ) . to . eql ( pageSize ) ;
86- expect ( Object . keys ( accessKeys . access_keys [ 0 ] ) ) . to . eql ( [ 'name' , 'api_key' , 'api_secret' , 'created_at' , 'updated_at' , 'enabled' ] ) ;
85+ expect ( Object . keys ( accessKeys . access_keys [ 0 ] ) ) . to . eql ( [ 'name' , 'api_key' , 'api_secret' , 'created_at' , 'updated_at' , 'enabled' , 'root' ] ) ;
8786 } ) ;
8887
89- it ( 'Update access key' , async ( ) => {
90- const keyName = `test-access-key-${ Date . now ( ) } `
91- const newAccessKey = await cloudinary . provisioning . account . generate_access_key ( CLOUD_ID , { name : keyName } ) ;
92- expect ( Object . keys ( newAccessKey ) ) . to . eql ( [ 'name' , 'api_key' , 'api_secret' , 'created_at' , 'updated_at' , 'enabled' ] ) ;
88+ it ( "Update access key" , async ( ) => {
89+ const keyName = `test-access-key-${ Date . now ( ) } ` ;
90+ const newAccessKey =
91+ await cloudinary . provisioning . account . generate_access_key (
92+ CLOUD_ID ,
93+ { name : keyName , enabled : false }
94+ ) ;
95+ expect ( Object . keys ( newAccessKey ) ) . to . eql ( [
96+ 'name' ,
97+ 'api_key' ,
98+ 'api_secret' ,
99+ 'created_at' ,
100+ 'updated_at' ,
101+ 'enabled' ,
102+ 'root'
103+ ] ) ;
93104 expect ( newAccessKey . name ) . to . eql ( keyName ) ;
105+ expect ( newAccessKey . enabled ) . to . eql ( false ) ;
94106
95107 const newName = `${ keyName } -updated` ;
96- const updatedAccessKey = await cloudinary . provisioning . account . update_access_key ( CLOUD_ID , newAccessKey . api_key , { name : newName } ) ;
97- expect ( Object . keys ( newAccessKey ) ) . to . eql ( [ 'name' , 'api_key' , 'api_secret' , 'created_at' , 'updated_at' , 'enabled' ] ) ;
108+ const updatedAccessKey =
109+ await cloudinary . provisioning . account . update_access_key (
110+ CLOUD_ID ,
111+ newAccessKey . api_key ,
112+ { name : newName , enabled : true , dedicated_for : "webhooks" }
113+ ) ;
114+ expect ( Object . keys ( updatedAccessKey ) ) . to . eql ( [
115+ 'name' ,
116+ 'api_key' ,
117+ 'api_secret' ,
118+ 'created_at' ,
119+ 'updated_at' ,
120+ 'enabled' ,
121+ 'dedicated_for' ,
122+ 'root'
123+ ] ) ;
98124 expect ( updatedAccessKey . name ) . to . eql ( newName ) ;
125+ expect ( updatedAccessKey . enabled ) . to . eql ( true ) ;
126+ expect ( updatedAccessKey . dedicated_for ) . to . be . an ( "array" ) ;
127+ expect ( updatedAccessKey . dedicated_for . length ) . to . eql ( 1 ) ;
128+ expect ( updatedAccessKey . dedicated_for [ 0 ] ) . to . eql ( "webhooks" ) ;
99129 } ) ;
100130
101131 it ( 'Delete access keys' , async ( ) => {
102132 const keyName = `test-access-key-${ Date . now ( ) } `
103133 const newAccessKey = await cloudinary . provisioning . account . generate_access_key ( CLOUD_ID , { name : keyName } ) ;
104- expect ( Object . keys ( newAccessKey ) ) . to . eql ( [ 'name' , 'api_key' , 'api_secret' , 'created_at' , 'updated_at' , 'enabled' ] ) ;
134+ expect ( Object . keys ( newAccessKey ) ) . to . eql ( [ 'name' , 'api_key' , 'api_secret' , 'created_at' , 'updated_at' , 'enabled' , 'root' ] ) ;
105135 expect ( newAccessKey . name ) . to . eql ( keyName ) ;
106136
107137 const deleteAccessKey = await cloudinary . provisioning . account . delete_access_key ( CLOUD_ID , newAccessKey . api_key ) ;
@@ -112,7 +142,7 @@ describe.skip('Provisioning API - Access Keys Management', function () {
112142 it ( 'Delete access keys by name' , async ( ) => {
113143 const keyName = `test-access-key-${ Date . now ( ) } `
114144 const newAccessKey = await cloudinary . provisioning . account . generate_access_key ( CLOUD_ID , { name : keyName } ) ;
115- expect ( Object . keys ( newAccessKey ) ) . to . eql ( [ 'name' , 'api_key' , 'api_secret' , 'created_at' , 'updated_at' , 'enabled' ] ) ;
145+ expect ( Object . keys ( newAccessKey ) ) . to . eql ( [ 'name' , 'api_key' , 'api_secret' , 'created_at' , 'updated_at' , 'enabled' , 'root' ] ) ;
116146 expect ( newAccessKey . name ) . to . eql ( keyName ) ;
117147
118148 const deleteAccessKey = await cloudinary . provisioning . account . delete_access_key_by_name ( CLOUD_ID , { name : keyName } ) ;
0 commit comments