github.com/bingtel/dbmate@v1.4.1/pkg/dbmate/utils_test.go (about)

     1  package dbmate
     2  
     3  import (
     4  	"net/url"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/require"
     8  )
     9  
    10  func TestDatabaseName(t *testing.T) {
    11  	u, err := url.Parse("ignore://localhost/foo?query")
    12  	require.NoError(t, err)
    13  
    14  	name := databaseName(u)
    15  	require.Equal(t, "foo", name)
    16  }
    17  
    18  func TestDatabaseName_Empty(t *testing.T) {
    19  	u, err := url.Parse("ignore://localhost")
    20  	require.NoError(t, err)
    21  
    22  	name := databaseName(u)
    23  	require.Equal(t, "", name)
    24  }
    25  
    26  func TestTrimLeadingSQLComments(t *testing.T) {
    27  	in := "--\n" +
    28  		"-- foo\n\n" +
    29  		"-- bar\n\n" +
    30  		"real stuff\n" +
    31  		"-- end\n"
    32  	out, err := trimLeadingSQLComments([]byte(in))
    33  	require.NoError(t, err)
    34  	require.Equal(t, "real stuff\n-- end\n", string(out))
    35  }