@@ -216,6 +216,62 @@ func TestReadConfigFile(t *testing.T) {
216216 }
217217}
218218
219+ func TestApplyCredentialsMoveTablesDerivesConnectionConfig (t * testing.T ) {
220+ ctx := NewMigrationContext ()
221+ ctx .MoveTables .TableNames = []string {"some_table" }
222+ ctx .MoveTables .TargetHost = "target-host"
223+ ctx .MoveTables .TargetPort = 3307
224+ ctx .MoveTables .TargetUser = "target-user"
225+ ctx .MoveTables .TargetPass = "target-pass"
226+
227+ ctx .InspectorConnectionConfig .Key .Hostname = "source-host"
228+ ctx .InspectorConnectionConfig .Key .Port = 3306
229+ ctx .InspectorConnectionConfig .User = "source-user"
230+ ctx .InspectorConnectionConfig .Password = "source-pass"
231+ ctx .InspectorConnectionConfig .Timeout = 12.5
232+ ctx .InspectorConnectionConfig .TransactionIsolation = "REPEATABLE-READ"
233+ ctx .InspectorConnectionConfig .Charset = "utf8mb4"
234+
235+ ctx .ApplyCredentials ()
236+
237+ got := ctx .MoveTables .ConnectionConfig
238+ require .NotNil (t , got )
239+ require .Equal (t , "target-host" , got .Key .Hostname )
240+ require .Equal (t , 3307 , got .Key .Port )
241+ require .Equal (t , "target-user" , got .User )
242+ require .Equal (t , "target-pass" , got .Password )
243+ require .Equal (t , 12.5 , got .Timeout )
244+ require .Equal (t , "REPEATABLE-READ" , got .TransactionIsolation )
245+ require .Equal (t , "utf8mb4" , got .Charset )
246+ require .NotNil (t , got .ImpliedKey )
247+ require .Equal (t , "target-host" , got .ImpliedKey .Hostname )
248+ require .Equal (t , 3307 , got .ImpliedKey .Port )
249+ }
250+
251+ func TestSetupTLSAppliesToMoveTablesConfig (t * testing.T ) {
252+ ctx := NewMigrationContext ()
253+ ctx .UseTLS = true
254+ ctx .TLSAllowInsecure = true
255+ ctx .MoveTables .TableNames = []string {"some_table" }
256+ ctx .MoveTables .TargetHost = "target-host"
257+ ctx .MoveTables .TargetPort = 3307
258+ ctx .MoveTables .TargetUser = "target-user"
259+ ctx .MoveTables .TargetPass = "target-pass"
260+
261+ ctx .InspectorConnectionConfig .Key .Hostname = "source-host"
262+ ctx .InspectorConnectionConfig .Key .Port = 3306
263+ ctx .InspectorConnectionConfig .User = "source-user"
264+ ctx .InspectorConnectionConfig .Password = "source-pass"
265+
266+ ctx .ApplyCredentials ()
267+ require .NoError (t , ctx .SetupTLS ())
268+
269+ require .NotNil (t , ctx .InspectorConnectionConfig .TLSConfig ())
270+ require .NotNil (t , ctx .MoveTables .ConnectionConfig .TLSConfig ())
271+ require .Equal (t , "source-host" , ctx .InspectorConnectionConfig .TLSConfig ().ServerName )
272+ require .Equal (t , "target-host" , ctx .MoveTables .ConnectionConfig .TLSConfig ().ServerName )
273+ }
274+
219275func TestSetAbortError_StoresFirstError (t * testing.T ) {
220276 ctx := NewMigrationContext ()
221277
0 commit comments