|
|
@@ -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)) |
|
|
|
}) |
|
|
|
} |