Added tests for cgr-migrator

This commit is contained in:
Trial97
2021-05-31 12:35:03 +03:00
committed by Dan Christian Bogos
parent db81cd69a2
commit c600ce39b9
2 changed files with 240 additions and 11 deletions

View File

@@ -149,7 +149,7 @@ func main() {
// inDataDB
if *inDataDBType != dfltCfg.DataDbCfg().Type {
mgrCfg.DataDbCfg().Type = strings.TrimPrefix(*inDataDBType, utils.MaskChar)
mgrCfg.DataDbCfg().Type = strings.TrimPrefix(*inDataDBType, utils.Meta)
}
if *inDataDBHost != dfltCfg.DataDbCfg().Host {
mgrCfg.DataDbCfg().Host = *inDataDBHost
@@ -206,7 +206,7 @@ func main() {
mgrCfg.MigratorCgrCfg().OutDataDBType = mgrCfg.DataDbCfg().Type
}
} else {
mgrCfg.MigratorCgrCfg().OutDataDBType = strings.TrimPrefix(*outDataDBType, utils.MaskChar)
mgrCfg.MigratorCgrCfg().OutDataDBType = strings.TrimPrefix(*outDataDBType, utils.Meta)
}
if *outDataDBHost == utils.MetaDataDB {
@@ -285,7 +285,7 @@ func main() {
// inStorDB
if *inStorDBType != dfltCfg.StorDbCfg().Type {
mgrCfg.StorDbCfg().Type = strings.TrimPrefix(*inStorDBType, utils.MaskChar)
mgrCfg.StorDbCfg().Type = strings.TrimPrefix(*inStorDBType, utils.Meta)
}
if *inStorDBHost != dfltCfg.StorDbCfg().Host {
mgrCfg.StorDbCfg().Host = *inStorDBHost
@@ -309,7 +309,7 @@ func main() {
mgrCfg.MigratorCgrCfg().OutStorDBType = mgrCfg.StorDbCfg().Type
}
} else {
mgrCfg.MigratorCgrCfg().OutStorDBType = strings.TrimPrefix(*outStorDBType, utils.MaskChar)
mgrCfg.MigratorCgrCfg().OutStorDBType = strings.TrimPrefix(*outStorDBType, utils.Meta)
}
if *outStorDBHost == utils.MetaStorDB {
if dfltCfg.MigratorCgrCfg().OutStorDBHost == mgrCfg.MigratorCgrCfg().OutStorDBHost {
@@ -386,16 +386,11 @@ func main() {
defer m.Close()
config.SetCgrConfig(mgrCfg)
if exec != nil && *exec != utils.EmptyString { // Run migrator
migrstats := make(map[string]int)
mig := strings.Split(*exec, utils.FieldsSep)
err, migrstats = m.Migrate(mig)
if err != nil {
if err, migrstats := m.Migrate(strings.Split(*exec, utils.FieldsSep)); err != nil {
log.Fatal(err)
}
if *verbose != false {
} else if *verbose {
log.Printf("Data migrated: %+v", migrstats)
}
return
}
}

View File

@@ -0,0 +1,234 @@
/*
Real-time Online/Offline Charging System (OerS) for Telecom & ISP environments
Copyright (C) ITsysCOM GmbH
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
*/
package main
import (
"testing"
)
// if the flag change this should fail
// do not use constants in this test
func TestFlags(t *testing.T) {
if err := cgrMigratorFlags.Parse([]string{"-config_path", "true"}); err != nil {
t.Fatal(err)
} else if *cfgPath != "true" {
t.Errorf("Expected true received:%v ", *cfgPath)
}
if err := cgrMigratorFlags.Parse([]string{"-exec", "true"}); err != nil {
t.Fatal(err)
} else if *exec != "true" {
t.Errorf("Expected true received:%v ", *exec)
}
if err := cgrMigratorFlags.Parse([]string{"-version", "true"}); err != nil {
t.Fatal(err)
} else if !*version {
t.Errorf("Expected true received:%v ", *version)
}
if err := cgrMigratorFlags.Parse([]string{"-datadb_type", "true"}); err != nil {
t.Fatal(err)
} else if *inDataDBType != "true" {
t.Errorf("Expected true received:%v ", *inDataDBType)
}
if err := cgrMigratorFlags.Parse([]string{"-datadb_host", "true"}); err != nil {
t.Fatal(err)
} else if *inDataDBHost != "true" {
t.Errorf("Expected true received:%v ", *inDataDBHost)
}
if err := cgrMigratorFlags.Parse([]string{"-datadb_port", "true"}); err != nil {
t.Fatal(err)
} else if *inDataDBPort != "true" {
t.Errorf("Expected true received:%v ", *inDataDBPort)
}
if err := cgrMigratorFlags.Parse([]string{"-datadb_name", "true"}); err != nil {
t.Fatal(err)
} else if *inDataDBName != "true" {
t.Errorf("Expected true received:%v ", *inDataDBName)
}
if err := cgrMigratorFlags.Parse([]string{"-datadb_user", "true"}); err != nil {
t.Fatal(err)
} else if *inDataDBUser != "true" {
t.Errorf("Expected true received:%v ", *inDataDBUser)
}
if err := cgrMigratorFlags.Parse([]string{"-datadb_passwd", "true"}); err != nil {
t.Fatal(err)
} else if *inDataDBPass != "true" {
t.Errorf("Expected true received:%v ", *inDataDBPass)
}
if err := cgrMigratorFlags.Parse([]string{"-dbdata_encoding", "true"}); err != nil {
t.Fatal(err)
} else if *inDBDataEncoding != "true" {
t.Errorf("Expected true received:%v ", *inDBDataEncoding)
}
if err := cgrMigratorFlags.Parse([]string{"-redisSentinel", "true"}); err != nil {
t.Fatal(err)
} else if *inDataDBRedisSentinel != "true" {
t.Errorf("Expected true received:%v ", *inDataDBRedisSentinel)
}
if err := cgrMigratorFlags.Parse([]string{"-redisCluster", "true"}); err != nil {
t.Fatal(err)
} else if !*dbRedisCluster {
t.Errorf("Expected true received:%v ", *dbRedisCluster)
}
if err := cgrMigratorFlags.Parse([]string{"-redisClusterSync", "true"}); err != nil {
t.Fatal(err)
} else if *dbRedisClusterSync != "true" {
t.Errorf("Expected true received:%v ", *dbRedisClusterSync)
}
if err := cgrMigratorFlags.Parse([]string{"-redisClusterOndownDelay", "true"}); err != nil {
t.Fatal(err)
} else if *dbRedisClusterDownDelay != "true" {
t.Errorf("Expected true received:%v ", *dbRedisClusterDownDelay)
}
if err := cgrMigratorFlags.Parse([]string{"-mongoQueryTimeout", "true"}); err != nil {
t.Fatal(err)
} else if *dbQueryTimeout != "true" {
t.Errorf("Expected true received:%v ", *dbQueryTimeout)
}
if err := cgrMigratorFlags.Parse([]string{"-redisTLS", "true"}); err != nil {
t.Fatal(err)
} else if !*dbRedisTls {
t.Errorf("Expected true received:%v ", *dbRedisTls)
}
if err := cgrMigratorFlags.Parse([]string{"-redisClientCertificate", "true"}); err != nil {
t.Fatal(err)
} else if *dbRedisClientCertificate != "true" {
t.Errorf("Expected true received:%v ", *dbRedisClientCertificate)
}
if err := cgrMigratorFlags.Parse([]string{"-redisClientKey", "true"}); err != nil {
t.Fatal(err)
} else if *dbRedisClientKey != "true" {
t.Errorf("Expected true received:%v ", *dbRedisClientKey)
}
if err := cgrMigratorFlags.Parse([]string{"-redisCACertificate", "true"}); err != nil {
t.Fatal(err)
} else if *dbRedisCACertificate != "true" {
t.Errorf("Expected true received:%v ", *dbRedisCACertificate)
}
if err := cgrMigratorFlags.Parse([]string{"-out_datadb_type", "true"}); err != nil {
t.Fatal(err)
} else if *outDataDBType != "true" {
t.Errorf("Expected true received:%v ", *outDataDBType)
}
if err := cgrMigratorFlags.Parse([]string{"-out_datadb_host", "true"}); err != nil {
t.Fatal(err)
} else if *outDataDBHost != "true" {
t.Errorf("Expected true received:%v ", *outDataDBHost)
}
if err := cgrMigratorFlags.Parse([]string{"-out_datadb_port", "true"}); err != nil {
t.Fatal(err)
} else if *outDataDBPort != "true" {
t.Errorf("Expected true received:%v ", *outDataDBPort)
}
if err := cgrMigratorFlags.Parse([]string{"-out_datadb_name", "true"}); err != nil {
t.Fatal(err)
} else if *outDataDBName != "true" {
t.Errorf("Expected true received:%v ", *outDataDBName)
}
if err := cgrMigratorFlags.Parse([]string{"-out_datadb_user", "true"}); err != nil {
t.Fatal(err)
} else if *outDataDBUser != "true" {
t.Errorf("Expected true received:%v ", *outDataDBUser)
}
if err := cgrMigratorFlags.Parse([]string{"-out_datadb_password", "true"}); err != nil {
t.Fatal(err)
} else if *outDataDBPass != "true" {
t.Errorf("Expected true received:%v ", *outDataDBPass)
}
if err := cgrMigratorFlags.Parse([]string{"-out_datadb_encoding", "true"}); err != nil {
t.Fatal(err)
} else if *outDBDataEncoding != "true" {
t.Errorf("Expected true received:%v ", *outDBDataEncoding)
}
if err := cgrMigratorFlags.Parse([]string{"-out_redis_sentinel", "true"}); err != nil {
t.Fatal(err)
} else if *outDataDBRedisSentinel != "true" {
t.Errorf("Expected true received:%v ", *outDataDBRedisSentinel)
}
if err := cgrMigratorFlags.Parse([]string{"-stordb_type", "true"}); err != nil {
t.Fatal(err)
} else if *inStorDBType != "true" {
t.Errorf("Expected true received:%v ", *inStorDBType)
}
if err := cgrMigratorFlags.Parse([]string{"-stordb_host", "true"}); err != nil {
t.Fatal(err)
} else if *inStorDBHost != "true" {
t.Errorf("Expected true received:%v ", *inStorDBHost)
}
if err := cgrMigratorFlags.Parse([]string{"-stordb_port", "true"}); err != nil {
t.Fatal(err)
} else if *inStorDBPort != "true" {
t.Errorf("Expected true received:%v ", *inStorDBPort)
}
if err := cgrMigratorFlags.Parse([]string{"-stordb_name", "true"}); err != nil {
t.Fatal(err)
} else if *inStorDBName != "true" {
t.Errorf("Expected true received:%v ", *inStorDBName)
}
if err := cgrMigratorFlags.Parse([]string{"-stordb_user", "true"}); err != nil {
t.Fatal(err)
} else if *inStorDBUser != "true" {
t.Errorf("Expected true received:%v ", *inStorDBUser)
}
if err := cgrMigratorFlags.Parse([]string{"-stordb_passwd", "true"}); err != nil {
t.Fatal(err)
} else if *inStorDBPass != "true" {
t.Errorf("Expected true received:%v ", *inStorDBPass)
}
if err := cgrMigratorFlags.Parse([]string{"-out_stordb_type", "true"}); err != nil {
t.Fatal(err)
} else if *outStorDBType != "true" {
t.Errorf("Expected true received:%v ", *outStorDBType)
}
if err := cgrMigratorFlags.Parse([]string{"-out_stordb_host", "true"}); err != nil {
t.Fatal(err)
} else if *outStorDBHost != "true" {
t.Errorf("Expected true received:%v ", *outStorDBHost)
}
if err := cgrMigratorFlags.Parse([]string{"-out_stordb_port", "true"}); err != nil {
t.Fatal(err)
} else if *outStorDBPort != "true" {
t.Errorf("Expected true received:%v ", *outStorDBPort)
}
if err := cgrMigratorFlags.Parse([]string{"-out_stordb_name", "true"}); err != nil {
t.Fatal(err)
} else if *outStorDBName != "true" {
t.Errorf("Expected true received:%v ", *outStorDBName)
}
if err := cgrMigratorFlags.Parse([]string{"-out_stordb_user", "true"}); err != nil {
t.Fatal(err)
} else if *outStorDBUser != "true" {
t.Errorf("Expected true received:%v ", *outStorDBUser)
}
if err := cgrMigratorFlags.Parse([]string{"-out_stordb_password", "true"}); err != nil {
t.Fatal(err)
} else if *outStorDBPass != "true" {
t.Errorf("Expected true received:%v ", *outStorDBPass)
}
if err := cgrMigratorFlags.Parse([]string{"-dry_run", "true"}); err != nil {
t.Fatal(err)
} else if !*dryRun {
t.Errorf("Expected true received:%v ", *dryRun)
}
if err := cgrMigratorFlags.Parse([]string{"-verbose", "true"}); err != nil {
t.Fatal(err)
} else if !*verbose {
t.Errorf("Expected true received:%v ", *verbose)
}
}