github.com/johnnyeven/libtools@v0.0.0-20191126065708-61829c1adf46/sqlx/gen/utils_test.go (about)

     1  package gen
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  
     8  	"github.com/johnnyeven/libtools/sqlx"
     9  )
    10  
    11  func TestParseIndexesFromDoc(t *testing.T) {
    12  	tt := assert.New(t)
    13  
    14  	tt.Equal(&Keys{
    15  		Primary: []string{"ID"},
    16  	}, parseKeysFromDoc(`
    17  	@def primary ID
    18  	`))
    19  
    20  	tt.Equal(&Keys{
    21  		Indexes: sqlx.Indexes{
    22  			"I_name":     []string{"Name"},
    23  			"I_nickname": []string{"Nickname", "Name"},
    24  		},
    25  	}, parseKeysFromDoc(`
    26  	@def index I_name   Name
    27  	@def index I_nickname   Nickname Name
    28  	`))
    29  
    30  	tt.Equal(&Keys{
    31  		Primary: []string{"ID"},
    32  		Indexes: sqlx.Indexes{
    33  			"I_nickname": []string{"Nickname", "Name"},
    34  		},
    35  		UniqueIndexes: sqlx.Indexes{
    36  			"I_name": []string{"Name"},
    37  		},
    38  	}, parseKeysFromDoc(`
    39  	@def primary ID
    40  	@def index I_nickname Nickname Name
    41  	@def unique_index I_name Name
    42  	`))
    43  }