37
executionSchemaFileLocation string,
38
visibilitySchemaFileLocation string,
40
>
return &VersionTestSuite{
41
>
host: host,
42
>
port: port,
43
>
pluginName: pluginName,
44
>
executionSchemaFileLocation: executionSchemaFileLocation,
45
>
visibilitySchemaFileLocation: visibilitySchemaFileLocation,
46
>
}
47
>
}
48
49
// SetupTest setups test suite
51
>
s.Assertions = require.New(s.T()) // Have to define our overridden assertions in the test setup. If we did it earlier, s.T() will return nil
52
>
}
53
54
// TestVerifyCompatibleVersion test
55
>
func (s *VersionTestSuite) TestVerifyCompatibleVersion() {
version_tests.go
56
>
database := persistencetests.GenerateRandomDBName()
57
>
visDatabase := persistencetests.GenerateRandomDBName()
58
>
59
>
defer s.createDatabase(database)()
60
>
defer s.createDatabase(visDatabase)()
61
>
err := sql.RunTool([]string{
62
>
"./tool",
63
>
"-ep", s.host,
64
>
"-p", s.port,
65
>
"-u", testUser,
66
>
"-pw", testPassword,
67
>
"-db", database,
68
>
"-pl", s.pluginName,
69
>
"-q",
70
>
"setup-schema",
71
>
"-f", s.executionSchemaFileLocation,
72
>
"-version", "10.0",
73
>
"-o",
74
>
})
75
>
s.NoError(err)
76
>
err = sql.RunTool([]string{
77
>
"./tool",
78
>
"-ep", s.host,
79
>
"-p", s.port,
80
>
"-u", testUser,
81
>
"-pw", testPassword,
82
>
"-db", visDatabase,
83
>
"-pl", s.pluginName,
84
>
"-q",
85
>
"setup-schema",
86
>
"-f", s.visibilitySchemaFileLocation,
87
>
"-version", "10.0",
88
>
"-o",
89
>
})
90
>
s.NoError(err)
91
>
92
>
defaultCfg := config.SQL{
93
>
ConnectAddr: fmt.Sprintf("%v:%v", s.host, s.port),
94
>
User: testUser,
95
>
Password: testPassword,
96
>
PluginName: s.pluginName,
97
>
DatabaseName: database,
98
>
}
99
>
visibilityCfg := defaultCfg
100
>
visibilityCfg.DatabaseName = visDatabase
101
>
cfg := config.Persistence{
102
>
DefaultStore: "default",
103
>
VisibilityStore: "visibility",
104
>
DataStores: map[string]config.DataStore{
105
>
"default": {SQL: &defaultCfg},
106
>
"visibility": {SQL: &visibilityCfg},
107
>
},
108
>
TransactionSizeLimit: dynamicconfig.GetIntPropertyFn(primitives.DefaultTransactionSizeLimit),
109
>
}
110
>
s.NoError(persistencesql.VerifyCompatibleVersion(cfg, resolver.NewNoopResolver(), log.NewNoopLogger()))
111
>
}
112
113
>
func (s *VersionTestSuite) createDatabase(database string) func() {
version_tests.go
114
>
connection, err := newTestConn("", s.host, s.port, s.pluginName)
115
>
s.NoError(err)
116
>
err = connection.CreateDatabase(database)
117
>
s.NoError(err)
118
>
return func() {
119
>
s.NoError(connection.DropDatabase(database))
120
>
connection.Close()
121
>
}
122
}