MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / modify_project

Function modify_project

rust/tests/project.rs:73–346  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

71
72#[test]
73fn modify_project() {
74 let _session = Session::new().expect("Failed to initialize session");
75 let project_name = "modify_project_project";
76 let project_path = unique_project(project_name);
77 // create the project
78 let project = Project::create(&project_path, project_name).expect("Failed to create project");
79 project.open().unwrap();
80
81 // get project id
82 let id = project.id();
83
84 // create data and verify that data was created
85 let data_1: Ref<Metadata> = "data1".into();
86 let data_2: Ref<Metadata> = "data2".into();
87 assert!(project.store_metadata("key", data_1.as_ref()));
88 assert_eq!(
89 data_1.get_string().unwrap(),
90 project.query_metadata("key").get_string().unwrap()
91 );
92 project.remove_metadata("key");
93 assert!(project.store_metadata("key", data_2.as_ref()));
94 assert_eq!(
95 data_2.get_string().unwrap(),
96 project.query_metadata("key").get_string().unwrap()
97 );
98
99 // create file that will be imported to the project
100 let tmp_folder_1_name = format!(
101 "tmp_folder_{}",
102 SystemTime::now()
103 .duration_since(std::time::UNIX_EPOCH)
104 .unwrap()
105 .as_millis()
106 );
107 let tmp_folder_2_name = format!("{tmp_folder_1_name }_2");
108 let tmp_folder_1 = format!(
109 "{}/{tmp_folder_1_name}",
110 std::env::temp_dir().to_str().unwrap()
111 );
112 let tmp_folder_2 = format!(
113 "{}/{tmp_folder_2_name}",
114 std::env::temp_dir().to_str().unwrap()
115 );
116 std::fs::create_dir(&tmp_folder_1).unwrap();
117 std::fs::create_dir(&tmp_folder_2).unwrap();
118 let input_file_1 = format!("{tmp_folder_2}/input_1");
119 let input_file_2 = format!("{tmp_folder_2}/input_2");
120 let input_file_1_data = b"input_1_data";
121 let input_file_2_data = b"input_1_data";
122 std::fs::write(&input_file_1, input_file_1_data).unwrap();
123 std::fs::write(&input_file_2, input_file_2_data).unwrap();
124
125 // create and delete folders
126 let folder_1_desc = "desc_folder_1";
127 let folder_1 = project
128 .create_folder(None, "folder_1", folder_1_desc)
129 .unwrap();
130 let folder_2_desc = "AAAAA";

Callers

nothing calls this directly

Calls 15

unique_projectFunction · 0.85
create_folder_unsafeMethod · 0.80
folder_by_idMethod · 0.80
create_file_unsafeMethod · 0.80
file_by_idMethod · 0.80
file_by_pathMethod · 0.80
findMethod · 0.80

Tested by

no test coverage detected