@@ -17,7 +17,6 @@ describe('commandEditSecret', () => {
1717 let editorFail : string ;
1818 let editorView : string ;
1919 let polykeyAgent : PolykeyAgent ;
20- let command : Array < string > ;
2120
2221 beforeEach ( async ( ) => {
2322 dataDir = await fs . promises . mkdtemp (
@@ -59,6 +58,7 @@ describe('commandEditSecret', () => {
5958 logger : logger ,
6059 } ) ;
6160 } ) ;
61+
6262 afterEach ( async ( ) => {
6363 await polykeyAgent . stop ( ) ;
6464 await fs . promises . rm ( dataDir , {
@@ -68,108 +68,125 @@ describe('commandEditSecret', () => {
6868 } ) ;
6969
7070 test ( 'should edit secret' , async ( ) => {
71- const vaultName = 'Vault10 ' as VaultName ;
71+ const vaultName = 'vault ' as VaultName ;
7272 const vaultId = await polykeyAgent . vaultManager . createVault ( vaultName ) ;
7373 const secretName = 'secret' ;
74-
7574 await polykeyAgent . vaultManager . withVaults ( [ vaultId ] , async ( vault ) => {
7675 await vaultOps . addSecret ( vault , secretName , 'original secret' ) ;
7776 } ) ;
78-
79- command = [ 'secrets' , 'edit' , '-np' , dataDir , `${ vaultName } :${ secretName } ` ] ;
80-
81- const result = await testUtils . pkStdio ( [ ...command ] , {
77+ const command = [
78+ 'secrets' ,
79+ 'edit' ,
80+ '-np' ,
81+ dataDir ,
82+ `${ vaultName } :${ secretName } ` ,
83+ ] ;
84+ const result = await testUtils . pkStdio ( command , {
8285 env : { PK_PASSWORD : password , EDITOR : editorEdit } ,
8386 cwd : dataDir ,
8487 } ) ;
8588 expect ( result . exitCode ) . toBe ( 0 ) ;
86-
8789 await polykeyAgent . vaultManager . withVaults ( [ vaultId ] , async ( vault ) => {
8890 const contents = await vaultOps . getSecret ( vault , secretName ) ;
8991 expect ( contents . toString ( ) ) . toStrictEqual ( `${ editedContent } \n` ) ;
9092 } ) ;
9193 } ) ;
92-
94+ test ( 'should fail to edit without a secret path specified' , async ( ) => {
95+ const vaultName = 'vault' as VaultName ;
96+ const command = [ 'secrets' , 'edit' , '-np' , dataDir , vaultName ] ;
97+ const result = await testUtils . pkStdio ( command , {
98+ env : { PK_PASSWORD : password , EDITOR : editorEdit } ,
99+ cwd : dataDir ,
100+ } ) ;
101+ expect ( result . exitCode ) . not . toBe ( 0 ) ;
102+ } ) ;
93103 test ( 'should create secret if it does not exist' , async ( ) => {
94- const vaultName = 'Vault10 ' as VaultName ;
104+ const vaultName = 'vault ' as VaultName ;
95105 const vaultId = await polykeyAgent . vaultManager . createVault ( vaultName ) ;
96106 const secretName = 'secret' ;
97-
98- command = [ 'secrets' , 'edit' , '-np' , dataDir , `${ vaultName } :${ secretName } ` ] ;
99-
100- const result = await testUtils . pkStdio ( [ ...command ] , {
107+ const command = [
108+ 'secrets' ,
109+ 'edit' ,
110+ '-np' ,
111+ dataDir ,
112+ `${ vaultName } :${ secretName } ` ,
113+ ] ;
114+ const result = await testUtils . pkStdio ( command , {
101115 env : { PK_PASSWORD : password , EDITOR : editorEdit } ,
102116 cwd : dataDir ,
103117 } ) ;
104118 expect ( result . exitCode ) . toBe ( 0 ) ;
105-
106119 await polykeyAgent . vaultManager . withVaults ( [ vaultId ] , async ( vault ) => {
107120 const contents = await vaultOps . getSecret ( vault , secretName ) ;
108121 expect ( contents . toString ( ) ) . toStrictEqual ( `${ editedContent } \n` ) ;
109122 } ) ;
110123 } ) ;
111-
112124 test ( 'should not create secret if editor crashes' , async ( ) => {
113- const vaultName = 'Vault10 ' as VaultName ;
125+ const vaultName = 'vault ' as VaultName ;
114126 const vaultId = await polykeyAgent . vaultManager . createVault ( vaultName ) ;
115127 const secretName = 'secret' ;
116-
117- command = [ 'secrets' , 'edit' , '-np' , dataDir , `${ vaultName } :${ secretName } ` ] ;
118-
119- const result = await testUtils . pkStdio ( [ ...command ] , {
128+ const command = [
129+ 'secrets' ,
130+ 'edit' ,
131+ '-np' ,
132+ dataDir ,
133+ `${ vaultName } :${ secretName } ` ,
134+ ] ;
135+ const result = await testUtils . pkStdio ( command , {
120136 env : { PK_PASSWORD : password , EDITOR : editorFail } ,
121137 cwd : dataDir ,
122138 } ) ;
123139 expect ( result . exitCode ) . not . toBe ( 0 ) ;
124-
125140 await polykeyAgent . vaultManager . withVaults ( [ vaultId ] , async ( vault ) => {
126141 const list = await vaultOps . listSecrets ( vault ) ;
127142 expect ( list . sort ( ) ) . toStrictEqual ( [ ] ) ;
128143 } ) ;
129144 } ) ;
130-
131145 test ( 'should not create secret if editor does not write to file' , async ( ) => {
132- const vaultName = 'Vault10 ' as VaultName ;
146+ const vaultName = 'vault ' as VaultName ;
133147 const vaultId = await polykeyAgent . vaultManager . createVault ( vaultName ) ;
134148 const secretName = 'secret' ;
135-
136- command = [ 'secrets' , 'edit' , '-np' , dataDir , `${ vaultName } :${ secretName } ` ] ;
137-
138- const result = await testUtils . pkStdio ( [ ...command ] , {
149+ const command = [
150+ 'secrets' ,
151+ 'edit' ,
152+ '-np' ,
153+ dataDir ,
154+ `${ vaultName } :${ secretName } ` ,
155+ ] ;
156+ const result = await testUtils . pkStdio ( command , {
139157 env : { PK_PASSWORD : password , EDITOR : editorExit } ,
140158 cwd : dataDir ,
141159 } ) ;
142160 expect ( result . exitCode ) . toBe ( 0 ) ;
143-
144161 await polykeyAgent . vaultManager . withVaults ( [ vaultId ] , async ( vault ) => {
145162 const list = await vaultOps . listSecrets ( vault ) ;
146163 expect ( list . sort ( ) ) . toStrictEqual ( [ ] ) ;
147164 } ) ;
148165 } ) ;
149-
150166 test ( 'file contents should be fetched correctly' , async ( ) => {
151- const vaultName = 'Vault10 ' as VaultName ;
167+ const vaultName = 'vault ' as VaultName ;
152168 const vaultId = await polykeyAgent . vaultManager . createVault ( vaultName ) ;
153169 const secretName = 'secret' ;
154170 const secretContent = 'original secret' ;
155-
156171 await polykeyAgent . vaultManager . withVaults ( [ vaultId ] , async ( vault ) => {
157172 await vaultOps . addSecret ( vault , secretName , secretContent ) ;
158173 } ) ;
159-
160- command = [ 'secrets' , 'edit' , '-np' , dataDir , `${ vaultName } :${ secretName } ` ] ;
161-
162- const result = await testUtils . pkStdio ( [ ...command ] , {
174+ const command = [
175+ 'secrets' ,
176+ 'edit' ,
177+ '-np' ,
178+ dataDir ,
179+ `${ vaultName } :${ secretName } ` ,
180+ ] ;
181+ const result = await testUtils . pkStdio ( command , {
163182 env : { PK_PASSWORD : password , EDITOR : editorView } ,
164183 cwd : dataDir ,
165184 } ) ;
166185 expect ( result . exitCode ) . toBe ( 0 ) ;
167-
168186 const fetchedSecret = await fs . promises . readFile (
169187 path . join ( dataDir , 'secret' ) ,
170188 ) ;
171189 expect ( fetchedSecret . toString ( ) ) . toEqual ( secretContent ) ;
172-
173190 await polykeyAgent . vaultManager . withVaults ( [ vaultId ] , async ( vault ) => {
174191 const contents = await vaultOps . getSecret ( vault , secretName ) ;
175192 expect ( contents . toString ( ) ) . toStrictEqual ( `${ editedContent } \n` ) ;
0 commit comments