Documentation
¶
Overview ¶
Package testutil provides shared test utilities for Melange integration tests.
Package testutil provides shared test utilities for Melange integration tests.
Index ¶
- func Checker(db *sql.DB) *melange.Checker
- func DB(tb testing.TB) *sql.DB
- func DomainTablesSQL() string
- func EmptyDB(tb testing.TB) *sql.DB
- func SchemaFGA() string
- func TuplesViewSQL() string
- type Fixtures
- func (f *Fixtures) AddOrganizationMembers(orgID int64, userIDs []int64, role string) error
- func (f *Fixtures) AddRepositoryCollaborators(repoID int64, userIDs []int64, role string) error
- func (f *Fixtures) AddTeamMembers(teamID int64, userIDs []int64, role string) error
- func (f *Fixtures) CreateIssues(repoID int64, authorIDs []int64, n int) ([]int64, error)
- func (f *Fixtures) CreateOrganization(name string) (int64, error)
- func (f *Fixtures) CreateOrganizations(n int) ([]int64, error)
- func (f *Fixtures) CreatePullRequests(repoID int64, authorIDs []int64, n int) ([]int64, error)
- func (f *Fixtures) CreateRepositories(orgID int64, n int) ([]int64, error)
- func (f *Fixtures) CreateTeams(orgID int64, n int) ([]int64, error)
- func (f *Fixtures) CreateUsers(n int) ([]int64, error)
- func (f *Fixtures) TupleCount() (int, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DB ¶
DB returns a fully migrated database connection for testing. Each call creates a new isolated database copied from the template. The database is automatically cleaned up when the test completes. Works with both *testing.T and *testing.B.
func DomainTablesSQL ¶
func DomainTablesSQL() string
DomainTablesSQL returns the embedded SQL for creating domain tables.
func EmptyDB ¶
EmptyDB returns an empty database connection for testing. Each call creates a new isolated empty database. The database is automatically cleaned up when the test completes. Works with both *testing.T and *testing.B.
func TuplesViewSQL ¶
func TuplesViewSQL() string
TuplesViewSQL returns the embedded SQL for creating the tuples view.
Types ¶
type Fixtures ¶
type Fixtures struct {
// contains filtered or unexported fields
}
Fixtures provides factory functions for creating test data in bulk. All functions use batch inserts for efficiency at scale.
func NewFixtures ¶
NewFixtures creates a new Fixtures instance for bulk data insertion.
func (*Fixtures) AddOrganizationMembers ¶
AddOrganizationMembers adds users to an organization with the specified role. role must be one of: owner, admin, member, billing_manager
func (*Fixtures) AddRepositoryCollaborators ¶
AddRepositoryCollaborators adds users as collaborators to a repository. role must be one of: owner, admin, maintainer, writer, reader
func (*Fixtures) AddTeamMembers ¶
AddTeamMembers adds users to a team with the specified role. role must be one of: maintainer, member
func (*Fixtures) CreateIssues ¶
CreateIssues creates issues in the given repository. Cycles through authorIDs for each issue.
func (*Fixtures) CreateOrganization ¶
CreateOrganization creates a single organization and returns its ID.
func (*Fixtures) CreateOrganizations ¶
CreateOrganizations creates n organizations and returns their IDs.
func (*Fixtures) CreatePullRequests ¶
CreatePullRequests creates pull requests in the given repository. Cycles through authorIDs for each PR.
func (*Fixtures) CreateRepositories ¶
CreateRepositories creates n repositories under an organization and returns their IDs.
func (*Fixtures) CreateTeams ¶
CreateTeams creates n teams in an organization and returns their IDs.
func (*Fixtures) CreateUsers ¶
CreateUsers creates n users and returns their IDs.
func (*Fixtures) TupleCount ¶
TupleCount returns the current count of tuples in the melange_tuples view.