Skip to content

Commit d3c38b5

Browse files
Merge pull request #9 from deepaksinghvi/upgrade_go_version
Fixed test failures
2 parents 9a126cd + ebbe5b5 commit d3c38b5

File tree

5 files changed

+26
-19
lines changed

5 files changed

+26
-19
lines changed

pkg/model/read_config.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,18 @@ import (
88
)
99

1010
func readConfig(param []string) (*pkg.CduleConfig, error) {
11-
viper.AddConfigPath(param[0]) //"./resources"
12-
viper.SetConfigName(param[1]) // "config"
13-
viper.AutomaticEnv()
14-
viper.SetConfigType("yml")
11+
v := viper.New()
12+
v.AddConfigPath(param[0]) //"./resources"
13+
v.SetConfigName(param[1]) // "config"
14+
v.AutomaticEnv()
15+
v.SetConfigType("yml")
1516

1617
var cduleConfig pkg.CduleConfig
17-
if err := viper.ReadInConfig(); err != nil {
18+
if err := v.ReadInConfig(); err != nil {
1819
log.Error("Error reading config file ", err)
1920
return nil, err
2021
}
21-
err := viper.Unmarshal(&cduleConfig)
22+
err := v.Unmarshal(&cduleConfig)
2223
if err != nil {
2324
log.Error("Unable to read into CduleConfig ", err)
2425
return nil, err

pkg/model/read_config_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package model
22

33
import (
4+
"os"
45
"testing"
56

67
"github.com/deepaksinghvi/cdule/pkg"
@@ -12,7 +13,8 @@ func Test_ReadConfigInMemory(t *testing.T) {
1213
cduleConfig, err := readConfig(param)
1314
require.NoError(t, err)
1415
require.Equal(t, string(pkg.MEMORY), cduleConfig.Cduletype)
15-
require.Equal(t, "/Users/dsinghvi/sqlite.db", cduleConfig.Dburl)
16+
require.Equal(t, "./sqlite.db", cduleConfig.Dburl)
17+
_ = os.Remove("./sqlite.db")
1618
}
1719

1820
func Test_ReadConfigInDB(t *testing.T) {

pkg/model/setup.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ func Migrate(db *gorm.DB) {
122122
func printConfig(config *pkg.CduleConfig) {
123123
configJSON, err := json.MarshalIndent(config, "", " ")
124124
if err != nil {
125-
log.Fatalf(err.Error())
125+
log.Fatal(err)
126126
}
127127
fmt.Printf("Configuration %s\n", string(configJSON))
128128
}

pkg/model/setup_test.go

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
11
package model
22

33
import (
4+
"os"
5+
"path/filepath"
6+
"testing"
7+
48
"github.com/deepaksinghvi/cdule/pkg"
59
log "github.com/sirupsen/logrus"
610
"github.com/stretchr/testify/require"
7-
"os"
8-
"testing"
911
)
1012

1113
func Test_ConnectDatabase(t *testing.T) {
1214
param := []string{"../../resources", "config_in_memory", "Info"} // default path for resource
1315
cduleConfig, err := ConnectDataBase(param)
1416
require.NoError(t, err)
1517
require.NotEqual(t, pkg.EMPTYSTRING, cduleConfig.Dburl)
18+
_ = os.Remove("./sqlite.db")
1619
}
1720

1821
func Test_ConnectDatabaseFailedToReadConfig(t *testing.T) {
@@ -24,11 +27,15 @@ func Test_ConnectDatabaseFailedToReadConfig(t *testing.T) {
2427
}
2528
}()
2629
param := []string{"./resources", "config_in_memory", "Info"} // default path for resource
27-
_, _ = ConnectDataBase(param)
30+
_, err := ConnectDataBase(param)
31+
require.Error(t, err)
2832
require.EqualValues(t, true, recovered)
2933
}
3034

3135
func Test_ConnectPostgresDB(t *testing.T) {
36+
if !testing.Short() {
37+
t.Skip("skipping PostgreSQL test in -short mode")
38+
}
3239
db := postgresConn("postgres://cduleuser:cdulepassword@localhost:5432/cdule?sslmode=disable")
3340
require.NotNil(t, db)
3441
}
@@ -57,6 +64,7 @@ func Test_ConnectSqlite(t *testing.T) {
5764
require.NotNil(t, db)
5865
}
5966

67+
// Test_ConnectSqliteDBPanic tests the panic when the database file is not found
6068
func Test_ConnectSqliteDBPanic(t *testing.T) {
6169
recovered := false
6270
defer func() {
@@ -65,13 +73,9 @@ func Test_ConnectSqliteDBPanic(t *testing.T) {
6573
recovered = true
6674
}
6775
}()
68-
dirname, err := os.UserHomeDir()
69-
if err != nil {
70-
log.Fatal(err)
71-
}
72-
_ = os.Remove(dirname + "/sqlite.db")
73-
74-
db := sqliteConn("///")
76+
// Use a guaranteed invalid path (non-existent nested directory)
77+
invalidPath := filepath.Join(os.TempDir(), "cdule-test-nonexistent", "nested", "db.sqlite")
78+
db := sqliteConn(invalidPath)
7579
require.Nil(t, db)
7680
require.EqualValues(t, true, recovered)
7781
}

resources/config_in_memory.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
cduletype: MEMORY
2-
dburl: /Users/dsinghvi/sqlite.db
2+
dburl: ./sqlite.db
33
cduleconsistency: AT_MOST_ONCE

0 commit comments

Comments
 (0)