github.com/adacta-ru/mattermost-server/v5@v5.31.1/config/store_test.go (about)

     1  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
     2  // See LICENSE.txt for license information.
     3  
     4  package config_test
     5  
     6  import (
     7  	"io/ioutil"
     8  	"os"
     9  	"path/filepath"
    10  	"testing"
    11  
    12  	"github.com/adacta-ru/mattermost-server/v5/config"
    13  	"github.com/stretchr/testify/require"
    14  )
    15  
    16  func TestNewStore(t *testing.T) {
    17  	if testing.Short() {
    18  		t.SkipNow()
    19  	}
    20  	sqlSettings := mainHelper.GetSQLSettings()
    21  
    22  	tempDir, err := ioutil.TempDir("", "TestNewStore")
    23  	require.NoError(t, err)
    24  
    25  	err = os.Chdir(tempDir)
    26  	require.NoError(t, err)
    27  
    28  	require.NoError(t, os.Mkdir(filepath.Join(tempDir, "config"), 0700))
    29  
    30  	t.Run("database dsn", func(t *testing.T) {
    31  		ds, err := config.NewStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource), false, nil)
    32  		require.NoError(t, err)
    33  		ds.Close()
    34  	})
    35  
    36  	t.Run("database dsn, watch ignored", func(t *testing.T) {
    37  		ds, err := config.NewStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource), true, nil)
    38  		require.NoError(t, err)
    39  		ds.Close()
    40  	})
    41  
    42  	t.Run("file dsn", func(t *testing.T) {
    43  		fs, err := config.NewStore("config.json", false, nil)
    44  		require.NoError(t, err)
    45  		fs.Close()
    46  	})
    47  
    48  	t.Run("file dsn, watch", func(t *testing.T) {
    49  		fs, err := config.NewStore("config.json", true, nil)
    50  		require.NoError(t, err)
    51  		fs.Close()
    52  	})
    53  }