From 2eda81ef2e37d45a80411d4f8ed18af3de253838 Mon Sep 17 00:00:00 2001 From: Sienna Meridian Satterwhite Date: Tue, 24 Mar 2026 16:05:10 +0000 Subject: [PATCH] feat: gitea branch lifecycle tests - gitea: create_branch, delete_branch, list verification on studio/sol --- src/integration_test.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/integration_test.rs b/src/integration_test.rs index 35eab42..b207dee 100644 --- a/src/integration_test.rs +++ b/src/integration_test.rs @@ -4311,6 +4311,29 @@ mod gitea_sdk_tests { assert_eq!(org.username, "studio"); } + #[tokio::test] + async fn test_branch_create_and_delete() { + let Some(gitea) = dev_gitea().await else { eprintln!("Skipping: no Gitea+OpenBao"); return; }; + + let branch_name = format!("test-branch-{}", &uuid::Uuid::new_v4().to_string()[..8]); + + // Create a branch on studio/sol (mirrored from real repo, has commits) + let branch = gitea.create_branch("sol", "studio", "sol", &branch_name, None).await.unwrap(); + assert_eq!(branch.name, branch_name); + + // List branches — should include our new branch + let branches = gitea.list_branches("sol", "studio", "sol").await.unwrap(); + assert!(branches.iter().any(|b| b.name == branch_name)); + + // Delete branch + gitea.delete_branch("sol", "studio", "sol", &branch_name).await.unwrap(); + + // Verify deleted + let branches = gitea.list_branches("sol", "studio", "sol").await.unwrap(); + assert!(!branches.iter().any(|b| b.name == branch_name), + "Branch should be deleted"); + } + #[tokio::test] async fn test_create_and_close_issue() { let Some(gitea) = dev_gitea().await else { eprintln!("Skipping: no Gitea+OpenBao"); return; };