79 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Code generated by entc, DO NOT EDIT.
 | |
| 
 | |
| package enttest
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 
 | |
| 	"github.com/dexidp/dex/storage/ent/db"
 | |
| 	// required by schema hooks.
 | |
| 	_ "github.com/dexidp/dex/storage/ent/db/runtime"
 | |
| 
 | |
| 	"entgo.io/ent/dialect/sql/schema"
 | |
| )
 | |
| 
 | |
| type (
 | |
| 	// TestingT is the interface that is shared between
 | |
| 	// testing.T and testing.B and used by enttest.
 | |
| 	TestingT interface {
 | |
| 		FailNow()
 | |
| 		Error(...interface{})
 | |
| 	}
 | |
| 
 | |
| 	// Option configures client creation.
 | |
| 	Option func(*options)
 | |
| 
 | |
| 	options struct {
 | |
| 		opts        []db.Option
 | |
| 		migrateOpts []schema.MigrateOption
 | |
| 	}
 | |
| )
 | |
| 
 | |
| // WithOptions forwards options to client creation.
 | |
| func WithOptions(opts ...db.Option) Option {
 | |
| 	return func(o *options) {
 | |
| 		o.opts = append(o.opts, opts...)
 | |
| 	}
 | |
| }
 | |
| 
 | |
| // WithMigrateOptions forwards options to auto migration.
 | |
| func WithMigrateOptions(opts ...schema.MigrateOption) Option {
 | |
| 	return func(o *options) {
 | |
| 		o.migrateOpts = append(o.migrateOpts, opts...)
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func newOptions(opts []Option) *options {
 | |
| 	o := &options{}
 | |
| 	for _, opt := range opts {
 | |
| 		opt(o)
 | |
| 	}
 | |
| 	return o
 | |
| }
 | |
| 
 | |
| // Open calls db.Open and auto-run migration.
 | |
| func Open(t TestingT, driverName, dataSourceName string, opts ...Option) *db.Client {
 | |
| 	o := newOptions(opts)
 | |
| 	c, err := db.Open(driverName, dataSourceName, o.opts...)
 | |
| 	if err != nil {
 | |
| 		t.Error(err)
 | |
| 		t.FailNow()
 | |
| 	}
 | |
| 	if err := c.Schema.Create(context.Background(), o.migrateOpts...); err != nil {
 | |
| 		t.Error(err)
 | |
| 		t.FailNow()
 | |
| 	}
 | |
| 	return c
 | |
| }
 | |
| 
 | |
| // NewClient calls db.NewClient and auto-run migration.
 | |
| func NewClient(t TestingT, opts ...Option) *db.Client {
 | |
| 	o := newOptions(opts)
 | |
| 	c := db.NewClient(o.opts...)
 | |
| 	if err := c.Schema.Create(context.Background(), o.migrateOpts...); err != nil {
 | |
| 		t.Error(err)
 | |
| 		t.FailNow()
 | |
| 	}
 | |
| 	return c
 | |
| }
 |