code.gitea.io/gitea@v1.22.3/tests/integration/api_repo_git_ref_test.go (about)

     1  // Copyright 2018 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package integration
     5  
     6  import (
     7  	"net/http"
     8  	"testing"
     9  
    10  	auth_model "code.gitea.io/gitea/models/auth"
    11  	"code.gitea.io/gitea/models/unittest"
    12  	user_model "code.gitea.io/gitea/models/user"
    13  	"code.gitea.io/gitea/tests"
    14  )
    15  
    16  func TestAPIReposGitRefs(t *testing.T) {
    17  	defer tests.PrepareTestEnv(t)()
    18  	user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2})
    19  	// Login as User2.
    20  	session := loginUser(t, user.Name)
    21  	token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeReadRepository)
    22  
    23  	for _, ref := range [...]string{
    24  		"refs/heads/master", // Branch
    25  		"refs/tags/v1.1",    // Tag
    26  	} {
    27  		req := NewRequestf(t, "GET", "/api/v1/repos/%s/repo1/git/%s", user.Name, ref).
    28  			AddTokenAuth(token)
    29  		MakeRequest(t, req, http.StatusOK)
    30  	}
    31  	// Test getting all refs
    32  	req := NewRequestf(t, "GET", "/api/v1/repos/%s/repo1/git/refs", user.Name).
    33  		AddTokenAuth(token)
    34  	MakeRequest(t, req, http.StatusOK)
    35  	// Test getting non-existent refs
    36  	req = NewRequestf(t, "GET", "/api/v1/repos/%s/repo1/git/refs/heads/unknown", user.Name).
    37  		AddTokenAuth(token)
    38  	MakeRequest(t, req, http.StatusNotFound)
    39  }