github.com/naemono/pop@v4.13.1+incompatible/connection_test.go (about)

     1  // +build sqlite
     2  
     3  package pop
     4  
     5  import (
     6  	"testing"
     7  
     8  	"github.com/stretchr/testify/require"
     9  )
    10  
    11  func Test_Connection_SimpleFlow(t *testing.T) {
    12  	r := require.New(t)
    13  
    14  	cd := &ConnectionDetails{
    15  		URL: "sqlite:///foo.db",
    16  	}
    17  	c, err := NewConnection(cd)
    18  	r.NoError(err)
    19  
    20  	err = c.Open()
    21  	r.NoError(err)
    22  	err = c.Open() // open again
    23  	r.NoError(err)
    24  	err = c.Close()
    25  	r.NoError(err)
    26  }
    27  
    28  func Test_Connection_Open_NoDialect(t *testing.T) {
    29  	r := require.New(t)
    30  
    31  	cd := &ConnectionDetails{
    32  		URL: "sqlite:///foo.db",
    33  	}
    34  	c, err := NewConnection(cd)
    35  	r.NoError(err)
    36  
    37  	c.Dialect = nil
    38  	err = c.Open()
    39  	r.Error(err)
    40  }
    41  
    42  func Test_Connection_Open_BadDialect(t *testing.T) {
    43  	r := require.New(t)
    44  
    45  	cd := &ConnectionDetails{
    46  		URL: "sqlite:///foo.db",
    47  	}
    48  	c, err := NewConnection(cd)
    49  	r.NoError(err)
    50  
    51  	cd.Dialect = "unknown"
    52  	err = c.Open()
    53  	r.Error(err)
    54  }