github.com/trigonella/mattermost-server@v5.11.1+incompatible/config/store_test.go (about)

     1  package config_test
     2  
     3  import (
     4  	"fmt"
     5  	"io/ioutil"
     6  	"os"
     7  	"path/filepath"
     8  	"testing"
     9  
    10  	"github.com/mattermost/mattermost-server/config"
    11  	"github.com/stretchr/testify/require"
    12  )
    13  
    14  func TestNewStore(t *testing.T) {
    15  	sqlSettings := mainHelper.GetSqlSettings()
    16  
    17  	tempDir, err := ioutil.TempDir("", "TestNewStore")
    18  	require.NoError(t, err)
    19  
    20  	err = os.Chdir(tempDir)
    21  	require.NoError(t, err)
    22  
    23  	require.NoError(t, os.Mkdir(filepath.Join(tempDir, "config"), 0700))
    24  
    25  	t.Run("database dsn", func(t *testing.T) {
    26  		ds, err := config.NewStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource), false)
    27  		require.NoError(t, err)
    28  		ds.Close()
    29  	})
    30  
    31  	t.Run("database dsn, watch ignored", func(t *testing.T) {
    32  		ds, err := config.NewStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource), true)
    33  		require.NoError(t, err)
    34  		ds.Close()
    35  	})
    36  
    37  	t.Run("file dsn", func(t *testing.T) {
    38  		fs, err := config.NewStore("config.json", false)
    39  		require.NoError(t, err)
    40  		fs.Close()
    41  	})
    42  
    43  	t.Run("file dsn, watch", func(t *testing.T) {
    44  		fs, err := config.NewStore("config.json", true)
    45  		require.NoError(t, err)
    46  		fs.Close()
    47  	})
    48  }