| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | // Copyright 2020 The Gogs Authors. All rights reserved.// Use of this source code is governed by a MIT-style// license that can be found in the LICENSE file.package repoimport (	"testing"	"github.com/stretchr/testify/assert"	"gogs.io/gogs/internal/db"	"gogs.io/gogs/internal/mocks")func Test_validateWebhook(t *testing.T) {	l := &mocks.Locale{		MockLang: "en",		MockTr: func(s string, _ ...interface{}) string {			return s		},	}	tests := []struct {		name     string		actor    *db.User		webhook  *db.Webhook		expField string		expMsg   string		expOK    bool	}{		{			name:    "admin bypass local address check",			actor:   &db.User{IsAdmin: true},			webhook: &db.Webhook{URL: "http://localhost:3306"},			expOK:   true,		},		{			name:     "local address not allowed",			actor:    &db.User{},			webhook:  &db.Webhook{URL: "http://localhost:3306"},			expField: "PayloadURL",			expMsg:   "repo.settings.webhook.err_cannot_use_local_addresses",			expOK:    false,		},	}	for _, test := range tests {		t.Run(test.name, func(t *testing.T) {			field, msg, ok := validateWebhook(test.actor, l, test.webhook)			assert.Equal(t, test.expOK, ok)			assert.Equal(t, test.expMsg, msg)			assert.Equal(t, test.expField, field)		})	}}
 |