code.gitea.io/gitea@v1.22.3/tests/integration/api_repo_hook_test.go (about) 1 // Copyright 2022 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package integration 5 6 import ( 7 "fmt" 8 "net/http" 9 "testing" 10 11 auth_model "code.gitea.io/gitea/models/auth" 12 repo_model "code.gitea.io/gitea/models/repo" 13 "code.gitea.io/gitea/models/unittest" 14 user_model "code.gitea.io/gitea/models/user" 15 api "code.gitea.io/gitea/modules/structs" 16 "code.gitea.io/gitea/tests" 17 18 "github.com/stretchr/testify/assert" 19 ) 20 21 func TestAPICreateHook(t *testing.T) { 22 defer tests.PrepareTestEnv(t)() 23 24 repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 37}) 25 owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) 26 27 // user1 is an admin user 28 session := loginUser(t, "user1") 29 token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) 30 req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/%s", owner.Name, repo.Name, "hooks"), api.CreateHookOption{ 31 Type: "gitea", 32 Config: api.CreateHookOptionConfig{ 33 "content_type": "json", 34 "url": "http://example.com/", 35 }, 36 AuthorizationHeader: "Bearer s3cr3t", 37 }).AddTokenAuth(token) 38 resp := MakeRequest(t, req, http.StatusCreated) 39 40 var apiHook *api.Hook 41 DecodeJSON(t, resp, &apiHook) 42 assert.Equal(t, "http://example.com/", apiHook.Config["url"]) 43 assert.Equal(t, "Bearer s3cr3t", apiHook.AuthorizationHeader) 44 }