mirror of
https://github.com/go-gitea/gitea.git
synced 2026-10-26 06:16:56 +09:00
`go test -count=2` failed in 12 packages because tests leaked state into later runs. - Reset SQLite sequences after each fixture load, like PostgreSQL already does - Prepare the database in tests that relied on earlier tests doing it - Restore mutated globals with `test.MockVariableValue`
40 lines
1.2 KiB
Go
40 lines
1.2 KiB
Go
// Copyright 2017 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package webhook
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"gitea.dev/models/unittest"
|
|
"gitea.dev/modules/optional"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestListSystemWebhookOptions(t *testing.T) {
|
|
require.NoError(t, prepareWebhookTestData())
|
|
|
|
hookSystem := unittest.AssertExistsAndLoadBean(t, &Webhook{URL: "https://www.example.com/system"})
|
|
hookDefault := unittest.AssertExistsAndLoadBean(t, &Webhook{URL: "https://www.example.com/default"})
|
|
opts := ListSystemWebhookOptions{IsSystem: optional.None[bool]()}
|
|
hooks, _, err := GetGlobalWebhooks(t.Context(), &opts)
|
|
require.NoError(t, err)
|
|
require.Len(t, hooks, 2)
|
|
assert.Equal(t, hookSystem.ID, hooks[0].ID)
|
|
assert.Equal(t, hookDefault.ID, hooks[1].ID)
|
|
|
|
opts.IsSystem = optional.Some(true)
|
|
hooks, _, err = GetGlobalWebhooks(t.Context(), &opts)
|
|
require.NoError(t, err)
|
|
require.Len(t, hooks, 1)
|
|
assert.Equal(t, hookSystem.ID, hooks[0].ID)
|
|
|
|
opts.IsSystem = optional.Some(false)
|
|
hooks, _, err = GetGlobalWebhooks(t.Context(), &opts)
|
|
require.NoError(t, err)
|
|
require.Len(t, hooks, 1)
|
|
assert.Equal(t, hookDefault.ID, hooks[0].ID)
|
|
}
|