73 lines
1.9 KiB
Go
73 lines
1.9 KiB
Go
|
|
// +build !test
|
|
package config_manager_go
|
|
|
|
import (
|
|
"testing"
|
|
"github.com/stretchr/testify/assert"
|
|
"io/ioutil"
|
|
"log"
|
|
"loafle.com/overflow/agent_api/config_manager"
|
|
"encoding/json"
|
|
"github.com/google/uuid"
|
|
"loafle.com/overflow/agent_api/observer"
|
|
"loafle.com/overflow/agent_api/observer/messages"
|
|
"time"
|
|
)
|
|
|
|
func TestLoadConfig(t *testing.T) {
|
|
|
|
// notify temp channel
|
|
ch := make(chan interface{},0)
|
|
observer.Add(messages.CONFIGMANAGER_LOADED,ch)
|
|
go func() {
|
|
data :=<- ch
|
|
c := data.(config_manager.ConfigManager)
|
|
cc := c.GetSensors()
|
|
assert.NotEqual(t, len(cc),0)
|
|
}()
|
|
|
|
// make config manager after to load
|
|
c := NewConfigManager()
|
|
c.loadGlobalConfig("/root/gowork/src/loafle.com/overflow/config_manager_go/test_agent/global.yaml")
|
|
c.loadCrawlerConfigAll()
|
|
|
|
assert.NotEqual(t, len(c.configs),0)
|
|
observer.Notify(messages.CONFIGMANAGER_LOADED,c)
|
|
time.Sleep(2 * time.Second)
|
|
}
|
|
|
|
|
|
func TestAddConfig(t *testing.T) {
|
|
_configManager.loadGlobalConfig("/root/gowork/src/loafle.com/overflow/config_manager_go/test_agent/global.yaml")
|
|
|
|
// 원본 테스트 설정 파일 로드
|
|
b, err := ioutil.ReadFile("/root/gowork/src/loafle.com/overflow/config_manager_go/test_agent/test.json")
|
|
if err != nil {
|
|
log.Panic(err)
|
|
}
|
|
var m = config_manager.Config{}
|
|
json.Unmarshal(b, &m)
|
|
|
|
// uuid로 원본 파일 복제
|
|
rid,_ := uuid.NewRandom()
|
|
m.Id = rid.String()
|
|
b,err = json.Marshal(&m)
|
|
ioutil.WriteFile("/root/gowork/src/loafle.com/overflow/config_manager_go/test_agent/" + m.Id,b,0644)
|
|
|
|
// add test
|
|
observer.Notify(messages.ADD_SENSOR_0,"/root/gowork/src/loafle.com/overflow/config_manager_go/test_agent/" + m.Id)
|
|
time.Sleep(1 * time.Second)
|
|
}
|
|
|
|
|
|
func TestRemoveConfig(t *testing.T) {
|
|
|
|
_configManager.loadGlobalConfig("/root/gowork/src/loafle.com/overflow/config_manager_go/test_agent/global.yaml")
|
|
_configManager.loadCrawlerConfigAll()
|
|
|
|
// remove test
|
|
observer.Notify(messages.REMOVE_SENSOR_0,"d0fcc7b1-43a7-4acd-a7bf-c9572a9d4c9e")
|
|
time.Sleep(1 * time.Second)
|
|
}
|