use tracing_test::traced_test; #[test] #[traced_test] #[cfg(feature = "json-edit")] pub fn test_can_update_version_in_jq() { use cuddle_please_release_strategy::JsonEditOptions; let dir = tempdir::TempDir::new("can_update_version_in_jq").unwrap(); let dir_path = dir.path(); let json_file = dir_path.join("some-test.json"); let initial_content = r#"{ "some": { "nested": [ { "structure": { "version": "v1.0.1" } } ] } } "#; let expected = r#"{ "some": { "nested": [ { "structure": { "version": "v1.0.2" } } ] } } "#; std::fs::write(&json_file, initial_content).unwrap(); let actual_file = std::fs::read_to_string(&json_file).unwrap(); pretty_assertions::assert_eq!(initial_content, actual_file); let edit_options = JsonEditOptions { jq: r#".some.nested[].structure.version=$version"#.into(), }; edit_options.execute(&json_file, "v1.0.2").unwrap(); let actual_file = std::fs::read_to_string(&json_file).unwrap(); pretty_assertions::assert_eq!(expected, &actual_file); }