2023-04-25 18:41:34 +08:00
|
|
|
package binlog
|
|
|
|
|
|
|
|
|
|
import (
|
2026-05-10 14:02:53 +08:00
|
|
|
"strings"
|
2023-04-25 18:41:34 +08:00
|
|
|
"testing"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestGetGtidOfBinlog(t *testing.T) {
|
|
|
|
|
desc, err := GetGtidOfBinlog("./test/mysql-bin56.000003")
|
|
|
|
|
if nil != err {
|
|
|
|
|
t.Fatalf("unexpected error %v", err)
|
|
|
|
|
}
|
2026-05-10 14:02:53 +08:00
|
|
|
if "F60AB33CC60411E38E1CE66CCF50DB66:1-136" != normalizeGtidForTest(desc) {
|
2023-04-25 18:41:34 +08:00
|
|
|
t.Fatalf("wrong gtid %v", desc)
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-05-10 14:02:53 +08:00
|
|
|
|
|
|
|
|
func normalizeGtidForTest(desc string) string {
|
|
|
|
|
parts := strings.Split(desc, ",")
|
|
|
|
|
for i, part := range parts {
|
|
|
|
|
gtidParts := strings.SplitN(part, ":", 2)
|
|
|
|
|
if len(gtidParts) != 2 {
|
|
|
|
|
parts[i] = strings.ToUpper(part)
|
|
|
|
|
continue
|
|
|
|
|
}
|
|
|
|
|
uuid := strings.ReplaceAll(strings.ToUpper(gtidParts[0]), "-", "")
|
|
|
|
|
parts[i] = uuid + ":" + strings.ToUpper(gtidParts[1])
|
|
|
|
|
}
|
|
|
|
|
return strings.Join(parts, ",")
|
|
|
|
|
}
|