MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / test_delete_existing_view

Function test_delete_existing_view

atomic-cli/src/commands/view/delete.rs:249–283  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

247 #[test]
248 #[serial]
249 fn test_delete_existing_view() {
250 use tempfile::tempdir;
251
252 let _guard = DirGuard::new();
253 let temp = tempdir().unwrap();
254 let repo_path = temp.path();
255
256 // Initialize a repository and create a view, then drop to release lock
257 {
258 let mut repo = Repository::init(repo_path).unwrap();
259 // Create a draft view (shared views cannot be deleted)
260 {
261 use atomic_core::pristine::{MutTxnT, ViewScope, ViewTxnT};
262 let mut txn = repo.pristine().write_txn().unwrap();
263 let dev = txn.get_view("dev").unwrap().unwrap();
264 txn.create_view("to-delete", ViewScope::Draft, Some(dev.id))
265 .unwrap();
266 txn.commit().unwrap();
267 }
268 // Verify it exists
269 assert!(repo.view_exists("to-delete").unwrap());
270 }
271
272 // Change to the repo directory
273 std::env::set_current_dir(repo_path).unwrap();
274
275 // Delete the view
276 let cmd = Delete::with_name("to-delete");
277 let result = cmd.run();
278 assert!(result.is_ok());
279
280 // Verify it's gone
281 let repo = Repository::open(repo_path).unwrap();
282 assert!(!repo.view_exists("to-delete").unwrap());
283 }
284
285 #[test]
286 #[serial]

Callers

nothing calls this directly

Calls 8

write_txnMethod · 0.80
pristineMethod · 0.80
commitMethod · 0.80
unwrapMethod · 0.45
pathMethod · 0.45
get_viewMethod · 0.45
create_viewMethod · 0.45
runMethod · 0.45

Tested by

no test coverage detected