Files
mlsr/hello/HelloProtocol_test.go
T
2022-07-29 21:26:38 +08:00

49 lines
1.3 KiB
Go

// Package hello
// @Author: Wang Feng
// @Description:
// @Version: 0.1.0
// @Date: 2022/7/29 21:14
// @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
//
package hello
import (
common2 "minlib/common"
"minlib/logicface"
"minlib/security"
"mlsr/common"
"mlsr/lsdb"
"mlsr/route"
"testing"
)
const testConfigPath = "D:\\" + common.DefaultConfFileName
func TestHelloProtocol_Init(t *testing.T) {
// 1. 建立前置结构体(lsdb等)
// 配置文件初始化
mlsrConfig, err := common.ParseConfig(testConfigPath)
if err != nil {
common2.LogInfo("配置文件解析错误")
}
// 调度器初始化
sche := new(lsdb.MlsrScheduler)
sche.Init()
// LogicFace初始化(假设初始化,暂时用不到)
face := new(logicface.LogicFaceICN)
keychain := new(security.KeyChain)
// LSDB初始化
mlsdb := new(lsdb.Lsdb)
mlsdb.Init(mlsrConfig, sche, face)
rt := new(route.RoutingTable)
rt.Init(mlsrConfig, sche, mlsdb)
// 名称前缀表初始化
npt := new(route.NamePrefixTable)
npt.Init(mlsrConfig.GetRouterPrefix(), rt, rt.AfterRoutingChange, mlsdb.OnLsdbModified)
// 2. 初始化hello协议
hp := new(HelloProtocol)
hp.Init(face, sche, keychain, mlsrConfig, rt, mlsdb)
}