@ -4,6 +4,7 @@
package integration
import (
"io"
"net/http"
"net/url"
"testing"
@ -159,3 +160,30 @@ func testAPIGetContents(t *testing.T, u *url.URL) {
req = NewRequestf ( t , "GET" , "/api/v1/repos/%s/%s/contents/%s?token=%s" , user3 . Name , repo3 . Name , treePath , token2 )
MakeRequest ( t , req , http . StatusOK )
}
func TestAPIGetContentsRefFormats ( t * testing . T ) {
onGiteaRun ( t , func ( t * testing . T , u * url . URL ) {
file := "README.md"
sha := "65f1bf27bc3bf70f64657658635e66094edbcb4d"
content := "# repo1\n\nDescription for repo1"
noRef := setting . AppURL + "api/v1/repos/user2/repo1/raw/" + file
refInPath := setting . AppURL + "api/v1/repos/user2/repo1/raw/" + sha + "/" + file
refInQuery := setting . AppURL + "api/v1/repos/user2/repo1/raw/" + file + "?ref=" + sha
resp := MakeRequest ( t , NewRequest ( t , http . MethodGet , noRef ) , http . StatusOK )
raw , err := io . ReadAll ( resp . Body )
assert . NoError ( t , err )
assert . EqualValues ( t , content , string ( raw ) )
resp = MakeRequest ( t , NewRequest ( t , http . MethodGet , refInPath ) , http . StatusOK )
raw , err = io . ReadAll ( resp . Body )
assert . NoError ( t , err )
assert . EqualValues ( t , content , string ( raw ) )
resp = MakeRequest ( t , NewRequest ( t , http . MethodGet , refInQuery ) , http . StatusOK )
raw , err = io . ReadAll ( resp . Body )
assert . NoError ( t , err )
assert . EqualValues ( t , content , string ( raw ) )
} )
}