overflow_probe/crawler_manager/crawler_manager_test.go
2017-08-04 11:32:31 +09:00

410 lines
7.1 KiB
Go

package crawler_manager
import (
"testing"
//grpc1 "google.golang.org/grpc"
"os"
"os/exec"
"path/filepath"
"io/ioutil"
"strings"
"encoding/json"
"fmt"
"git.loafle.net/overflow/overflow_probe/agent_api/config_manager"
)
func TestCallInit(t *testing.T) {
//CallInit("")
}
func TestPid(t *testing.T) {
pp, err := os.FindProcess(12314)
if err != nil {
t.Log("err : ", err)
}
t.Log(pp.Pid)
}
func TestPr(t *testing.T) {
//ps -aux | awk '{print $2}' | grep 15538
bytes, _ := exec.Command("ps", "-aux", "awk", "{print $2}").Output()
t.Log(string(bytes))
}
func TestExe(t *testing.T) {
ps := exec.Command("ps", "-aux")
awk := exec.Command("awk", "{print $2}")
grep := exec.Command("grep", "22373")
awk.Stdin, _ = ps.StdoutPipe()
grep.Stdin, _ = awk.StdoutPipe()
ps.Start()
awk.Start()
byt, _ := grep.Output()
t.Log(len(byt))
}
func TestExeState(t *testing.T) {
ps := exec.Command("ps", "-aux")
awk := exec.Command("awk", "{print $2, $7}")
grep := exec.Command("grep", "22373")
awk2 := exec.Command("awk", "{print $2}")
awk.Stdin, _ = ps.StdoutPipe()
grep.Stdin, _ = awk.StdoutPipe()
awk2.Stdin, _ = grep.StdoutPipe()
ps.Start()
awk.Start()
grep.Start()
byt, _ := awk2.Output()
t.Log(len(byt))
t.Log(string(byt))
t.Log(len(strings.TrimSpace(string(byt))))
}
func TestPipe(t *testing.T) {
c1 := exec.Command("ls")
c2 := exec.Command("wc", "-l")
c2.Stdin, _ = c1.StdoutPipe()
//c2.Stdout = os.Stdout
_ = c1.Start()
aa, _ := c2.Output()
t.Log(string(aa))
}
func TestCom(t *testing.T) {
str := "Z"
if str == "Z" {
t.Log("aaa")
}
}
func TestReadConfig(t *testing.T) {
//c := ReadConfig("/home/snoop/develop/path/go/src/git.loafle.net/overflow/overflow_probe/crawler/config/example.json")
//t.Log(c)
}
func TestDir(t *testing.T) {
a := filepath.Dir("/home/snoop/develop/path/go/src/git.loafle.net/overflow/overflow_probe/crawler/config/example.json")
t.Log(a)
}
func TestMyPid(t *testing.T) {
t.Log(os.Getpid())
}
func TestDir22(t *testing.T) {
//cs := IsStartContainer()
//t.Log(cs)
}
func TestCrateDir(t *testing.T) {
cp := "/home/snoop/develop/path/go/src/git.loafle.net/overflow/overflow_probe/crawler_manager/"
var configPath []string
rootFolder := "/home/cm2/"
ConfigFolder := rootFolder + "/config/container/"
BinaryFolder := rootFolder + "/container/"
PidFolder := rootFolder + "/pids/"
//runFile := "ttnc"
configPath = append(configPath, ConfigFolder+"/java/oracle/")
configPath = append(configPath, ConfigFolder+"/go/test/")
configPath = append(configPath, ConfigFolder+"/java/mysql/")
configPath = append(configPath, ConfigFolder+"/network/http/")
configPath = append(configPath, ConfigFolder+"/network/redis/")
configPath = append(configPath, ConfigFolder+"/network/ldap/")
configPath = append(configPath, PidFolder)
var containerPath []string
containerPath = append(containerPath, BinaryFolder+"/java/")
containerPath = append(containerPath, BinaryFolder+"/go/")
containerPath = append(containerPath, BinaryFolder+"/network/")
b, _ := ioutil.ReadFile(cp + "config/example.json")
for i, p := range configPath {
pp := filepath.Join(p)
os.MkdirAll(pp, os.ModePerm)
if i%2 == 0 {
ioutil.WriteFile(pp+"/id.json", b, os.ModePerm)
}
}
bbb, _ := ioutil.ReadFile(cp + "config/ttnc")
for _, p := range containerPath {
pp := filepath.Join(p)
os.MkdirAll(pp, os.ModePerm)
pp += "/"
pp += "/ttnc"
ioutil.WriteFile(pp, bbb, os.ModePerm)
}
}
func TestInit(t *testing.T) {
//InitContainer()
}
func TestDirs(t *testing.T) {
//cs := IsStartContainer()
//
//for _, c := range cs {
// var ccl []string
// ExistConfigFileDir(ConfigFolder, c, &ccl)
// t.Log(ccl)
//
//}
}
func TestSplitPath(t *testing.T) {
ff := "/home/snoop/develop/path/go/src/git.loafle.net/overflow/overflow_probe/crawler/config/ffff"
a := filepath.Dir(ff)
t.Log(a)
a = filepath.Clean(a)
t.Log(a)
a = filepath.Base(a)
t.Log(a)
}
func TestInitCM(t *testing.T) {
GetInstance().init()
GetInstance().stopContainerAll()
}
func TestCallStatus(t *testing.T) {
//c := "java"
//GetInstance().runAndInitContainer(&c)
//
//callStatus(&c)
//
//GetInstance().stopContainer(&c)
}
func TestCallAdd(t *testing.T) {
////
//c := "java"
//cn := "HEALTH_"+"MYSQL"
//id := "id.json"
//
//GetInstance().runAndInitContainer(&c)
//
//callAdd(&c, &cn, &id)
//
//GetInstance().stopContainer(&c)
}
func TestCallRemove22(t *testing.T) {
//c := "java"
//cn := "HEALTH_"+"MYSQL"
//id := "id.json"
//
//GetInstance().runAndInitContainer(&c)
//
//callRemove(&c, &cn, &id)
//
//GetInstance().stopContainer(&c)
}
func TestRunRun(t *testing.T) {
c := "java"
GetInstance().runContainer(&c)
GetInstance().runContainer(&c)
GetInstance().runContainer(&c)
GetInstance().stopContainer(&c)
}
func TestActiveCrawler(t *testing.T) {
//c := "java"
//GetInstance().runContainer(&c)
//
//aa := GetInstance().activeCrawler(&c)
//
//t.Log(aa)
//
//GetInstance().stopContainer(&c)
}
func TestErer(t *testing.T) {
var asdf []string
asdf = nil
t.Log(len(asdf))
}
//
//func TestStartContainer(t *testing.T) {
//
// cs := GetStartContainer()
//
// t.Log(cs)
//
//}
//
//func GetStartContainer() []string {
//
// files, _ := ioutil.ReadDir(ConfigFolder)
//
// var cs []string
//
// for _,file := range files {
//
// if file.IsDir() {
// b := existConfigFile(ConfigFolder, file.Name())
// if b {
// cs = append(cs, file.Name())
// }
// }
//
// }
// return cs
//}
func TestJson(t *testing.T) {
c := config_manager.Config{}
c.Crawler.Name = "wmi_crawler"
c.Crawler.Container = "java_proxy"
c.Id = "WMI_TEST_ID_001"
b, _ := json.Marshal(c)
fmt.Println(string(b))
}
func TestJsonMa(t *testing.T) {
b, _ := ioutil.ReadFile("./test/example.json")
c := config_manager.Config{}
json.Unmarshal(b, &c)
t.Log(c)
}
func TestMock(t *testing.T) {
//GetInstance().ConfigMgr = &ConfigManagerTest{}
//
//GetInstance().init()
}
func TestRPC(t *testing.T) {
//c := conMgr.NewConfigManager()
//c.LoadGlobalConfigTTT("/home/snoop/develop/path/go/src/git.loafle.net/overflow/overflow_probe/config_manager/test_agent/global.yaml")
//c.LoadCrawlerConfigAllTTT()
//
//observer.Notify(messages.CONFIGMANAGER_LOADED,c)
//
//
//wg := sync.WaitGroup{}
//
//wg.Add(1)
//
//go func() {
// time.Sleep(20 * time.Second)
// wg.Done()
//}()
//
//
//wg.Wait()
}
func TestGRPC(t *testing.T) {
b := callStatusAddress("localhost:50052")
t.Log(b)
}
type ConfigManagerTest struct {
}
func (c *ConfigManagerTest) GetGlobalConfig() *config_manager.GlobalConfig {
g := config_manager.GlobalConfig{}
rootFolder := "/home/cm2/"
g.Paths.ConfigFolder = rootFolder + "/config/container/"
g.Paths.BinaryFolder = rootFolder + "/container/"
g.Paths.PidFolder = rootFolder + "/pids/"
return &g
}
func (c *ConfigManagerTest) GetCrawlerById(id string) *config_manager.Config {
return nil
}
func (c *ConfigManagerTest) GetCrawlers() map[string]*config_manager.Config {
var m map[string]*config_manager.Config
b, _ := ioutil.ReadFile("./test/example.json")
ccc := config_manager.Config{}
json.Unmarshal(b, &ccc)
m["wmi_crawler"] = &ccc
return m
}