File tree Expand file tree Collapse file tree 1 file changed +38
-1
lines changed Expand file tree Collapse file tree 1 file changed +38
-1
lines changed Original file line number Diff line number Diff line change @@ -235,7 +235,16 @@ impl ArtifactCommands {
235
235
Self :: GenerateDoc ( cmd) => cmd
236
236
. execute ( & mut Args :: command ( ) )
237
237
. map_err ( |message| anyhow ! ( message) ) ,
238
- Self :: Tools ( cmd) => cmd. execute ( ) . await ,
238
+ Self :: Tools ( cmd) => {
239
+ if !context. is_unstable_enabled ( ) {
240
+ Err ( anyhow ! ( Self :: unstable_flag_missing_message(
241
+ "tools" ,
242
+ "utxo-hd snapshot-converter"
243
+ ) ) )
244
+ } else {
245
+ cmd. execute ( ) . await
246
+ }
247
+ }
239
248
}
240
249
}
241
250
@@ -279,4 +288,32 @@ mod tests {
279
288
. to_string( )
280
289
. contains( "subcommand is only accepted using the --unstable flag." ) ) ;
281
290
}
291
+
292
+ #[ tokio:: test]
293
+ async fn fail_if_tools_command_is_used_without_unstable_flag ( ) {
294
+ let args = Args :: try_parse_from ( [
295
+ "mithril-client" ,
296
+ "tools" ,
297
+ "utxo-hd" ,
298
+ "snapshot-converter" ,
299
+ "--db-directory" ,
300
+ "whatever" ,
301
+ "--cardano-network" ,
302
+ "preview" ,
303
+ "--cardano-node-version" ,
304
+ "1.2.3" ,
305
+ "--utxo-hd-flavor" ,
306
+ "Legacy" ,
307
+ ] )
308
+ . unwrap ( ) ;
309
+
310
+ let error = args
311
+ . execute ( Logger :: root ( slog:: Discard , slog:: o!( ) ) )
312
+ . await
313
+ . expect_err ( "Should fail if unstable flag missing" ) ;
314
+
315
+ assert ! ( error
316
+ . to_string( )
317
+ . contains( "subcommand is only accepted using the --unstable flag." ) ) ;
318
+ }
282
319
}
You can’t perform that action at this time.
0 commit comments