mirror of
https://github.com/SecurityBrewery/catalyst.git
synced 2025-12-06 23:32:47 +01:00
85 lines
2.0 KiB
Go
85 lines
2.0 KiB
Go
package data
|
|
|
|
import (
|
|
"encoding/json"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"github.com/SecurityBrewery/catalyst/app/database/sqlc"
|
|
"github.com/SecurityBrewery/catalyst/app/pointer"
|
|
)
|
|
|
|
func TestDBInitialization(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
queries := NewTestDB(t, t.TempDir())
|
|
|
|
user, err := queries.SystemUser(t.Context())
|
|
require.NoError(t, err)
|
|
assert.Equal(t, "system", user.ID)
|
|
|
|
types, err := queries.ListTypes(t.Context(), sqlc.ListTypesParams{Offset: 0, Limit: 10})
|
|
require.NoError(t, err)
|
|
assert.GreaterOrEqual(t, len(types), 1)
|
|
}
|
|
|
|
func TestNewTestDBDefaultData(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
queries := NewTestDB(t, t.TempDir())
|
|
|
|
user, err := queries.UserByEmail(t.Context(), pointer.Pointer(AdminEmail))
|
|
require.NoError(t, err)
|
|
assert.Equal(t, AdminEmail, *user.Email)
|
|
|
|
ticket, err := queries.Ticket(t.Context(), "test-ticket")
|
|
require.NoError(t, err)
|
|
assert.Equal(t, "test-ticket", ticket.ID)
|
|
|
|
comment, err := queries.GetComment(t.Context(), "c_test_comment")
|
|
require.NoError(t, err)
|
|
assert.Equal(t, "c_test_comment", comment.ID)
|
|
|
|
timeline, err := queries.GetTimeline(t.Context(), "h_test_timeline")
|
|
require.NoError(t, err)
|
|
assert.Equal(t, "h_test_timeline", timeline.ID)
|
|
}
|
|
|
|
func TestReadWrite(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
queries := NewTestDB(t, t.TempDir())
|
|
|
|
for range 3 {
|
|
y, err := queries.CreateType(t.Context(), sqlc.CreateTypeParams{
|
|
Singular: "Foo",
|
|
Plural: "Foos",
|
|
Icon: pointer.Pointer("Bug"),
|
|
Schema: json.RawMessage("{}"),
|
|
})
|
|
require.NoError(t, err)
|
|
|
|
_, err = queries.GetType(t.Context(), y.ID)
|
|
require.NoError(t, err)
|
|
|
|
err = queries.DeleteType(t.Context(), y.ID)
|
|
require.NoError(t, err)
|
|
}
|
|
}
|
|
|
|
func TestRead(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
queries := NewTestDB(t, t.TempDir())
|
|
|
|
// read from a table
|
|
_, err := queries.GetUser(t.Context(), "u_bob_analyst")
|
|
require.NoError(t, err)
|
|
|
|
// read from a view
|
|
_, err = queries.GetSidebar(t.Context())
|
|
require.NoError(t, err)
|
|
}
|