overflow_probe/config_manager/config_manager_test.go
2017-08-04 11:55:31 +09:00

69 lines
2.1 KiB
Go

package config_manager
import (
"testing"
//"github.com/stretchr/testify/assert"
"encoding/json"
"git.loafle.net/overflow/overflow_probe/agent_api/config_manager"
"git.loafle.net/overflow/overflow_probe/agent_api/messages"
"git.loafle.net/overflow/overflow_probe/agent_api/observer"
log "github.com/cihub/seelog"
"github.com/google/uuid"
"io/ioutil"
"time"
)
func TestLoadConfig(t *testing.T) {
// notify temp channel
//ch := make(chan interface{},0)
//observer.Add(messages.CFG_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/git.loafle.net/overflow/overflow_probe/config_manager/test_agent/global.yaml")
//c.loadCrawlerConfigAll()
//
//assert.NotEqual(t, len(c.configs),0)
//observer.Notify(messages.CFG_LOADED,c)
//time.Sleep(1 * time.Second)
}
func TestAddConfig(t *testing.T) {
_configManager.loadGlobalConfig("/root/gowork/src/git.loafle.net/overflow/overflow_probe/config_manager/test_agent/global.yaml")
// 원본 테스트 설정 파일 로드
b, err := ioutil.ReadFile("/root/gowork/src/git.loafle.net/overflow/overflow_probe/config_manager/test_agent/test.json")
if err != nil {
log.Error(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/git.loafle.net/overflow/overflow_probe/config_manager/test_agent/"+m.Id, b, 0644)
// add test
observer.Notify(messages.TASK_SENSOR_ADD, "/root/gowork/src/git.loafle.net/overflow/overflow_probe/config_manager/test_agent/"+m.Id)
time.Sleep(1 * time.Second)
}
func TestRemoveConfig(t *testing.T) {
GetInstance()
_configManager.loadGlobalConfig("/home/snoop/develop/path/go/src/git.loafle.net/overflow/overflow_probe/config_manager/test_agent/global.yaml")
_configManager.loadCrawlerConfigAll()
// remove test
//observer.Notify(messages.TASK_SENSOR_REMOVE,"d0fcc7b1-43a7-4acd-a7bf-c9572a9d4c9e")
time.Sleep(1 * time.Second)
}