2017-10-26 03:49:16 +03:00
// Copyright 2017 The Gitea Authors. All rights reserved.
2022-11-27 21:20:29 +03:00
// SPDX-License-Identifier: MIT
2017-10-26 03:49:16 +03:00
2022-09-02 22:18:23 +03:00
package integration
2017-10-26 03:49:16 +03:00
import (
2023-12-18 00:49:58 +03:00
"fmt"
2017-10-26 03:49:16 +03:00
"net/http"
"net/url"
"testing"
2023-12-18 00:49:58 +03:00
git_model "code.gitea.io/gitea/models/git"
repo_model "code.gitea.io/gitea/models/repo"
"code.gitea.io/gitea/models/unittest"
2024-02-27 10:12:22 +03:00
gitea_context "code.gitea.io/gitea/services/context"
2022-04-03 12:46:48 +03:00
2017-10-26 03:49:16 +03:00
"github.com/stretchr/testify/assert"
)
2023-12-18 00:49:58 +03:00
func TestBranchActions ( t * testing . T ) {
2020-06-12 02:49:47 +03:00
onGiteaRun ( t , func ( t * testing . T , u * url . URL ) {
2023-12-18 00:49:58 +03:00
session := loginUser ( t , "user2" )
repo1 := unittest . AssertExistsAndLoadBean ( t , & repo_model . Repository { ID : 1 } )
branch3 := unittest . AssertExistsAndLoadBean ( t , & git_model . Branch { ID : 3 , RepoID : repo1 . ID } )
branchesLink := repo1 . FullName ( ) + "/branches"
t . Run ( "View" , func ( t * testing . T ) {
req := NewRequest ( t , "GET" , branchesLink )
MakeRequest ( t , req , http . StatusOK )
} )
t . Run ( "Delete branch" , func ( t * testing . T ) {
link := fmt . Sprintf ( "/%s/branches/delete?name=%s" , repo1 . FullName ( ) , branch3 . Name )
req := NewRequestWithValues ( t , "POST" , link , map [ string ] string {
"_csrf" : GetCSRF ( t , session , branchesLink ) ,
} )
session . MakeRequest ( t , req , http . StatusOK )
flashCookie := session . GetCookie ( gitea_context . CookieNameFlash )
assert . NotNil ( t , flashCookie )
assert . Contains ( t , flashCookie . Value , "success%3DBranch%2B%2522branch2%2522%2Bhas%2Bbeen%2Bdeleted." )
assert . True ( t , unittest . AssertExistsAndLoadBean ( t , & git_model . Branch { ID : 3 , RepoID : repo1 . ID } ) . IsDeleted )
} )
t . Run ( "Restore branch" , func ( t * testing . T ) {
link := fmt . Sprintf ( "/%s/branches/restore?branch_id=%d&name=%s" , repo1 . FullName ( ) , branch3 . ID , branch3 . Name )
req := NewRequestWithValues ( t , "POST" , link , map [ string ] string {
"_csrf" : GetCSRF ( t , session , branchesLink ) ,
} )
session . MakeRequest ( t , req , http . StatusOK )
flashCookie := session . GetCookie ( gitea_context . CookieNameFlash )
assert . NotNil ( t , flashCookie )
assert . Contains ( t , flashCookie . Value , "success%3DBranch%2B%2522branch2%2522%2Bhas%2Bbeen%2Brestored" )
assert . False ( t , unittest . AssertExistsAndLoadBean ( t , & git_model . Branch { ID : 3 , RepoID : repo1 . ID } ) . IsDeleted )
} )
2017-10-26 03:49:16 +03:00
} )
}