X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=src%2Fxds%2Fxds-server.git;a=blobdiff_plain;f=test%2Fxdsserver_test.go;h=f2b4d9d8f5f82e6b4878b8785a44e6e8e9072c71;hp=75f4f92ad44912e085a2ed8ac6af81a03cc2fee3;hb=d3a41ad067e7752a835c71d9f91ddd7230cd648a;hpb=59ecda69d26eeb6461a6b2f9e2e5ec13a1cec311 diff --git a/test/xdsserver_test.go b/test/xdsserver_test.go index 75f4f92..f2b4d9d 100644 --- a/test/xdsserver_test.go +++ b/test/xdsserver_test.go @@ -17,19 +17,13 @@ package xdsservertest import ( - "io/ioutil" "log" - "net" "os" "os/exec" - "regexp" - "strings" "testing" "time" common "gerrit.automotivelinux.org/gerrit/src/xds/xds-common.git/golib" - "gerrit.automotivelinux.org/gerrit/src/xds/xds-server/lib/xsapiv1" - "github.com/stretchr/testify/assert" ) //global client @@ -117,183 +111,3 @@ func TestMain(m *testing.M) { func init() { } - -func CheckIP(ipconfig string) bool { - ifaces, _ := net.Interfaces() - for _, i := range ifaces { - addrs, _ := i.Addrs() - for _, addr := range addrs { - if strings.HasPrefix(addr.String(), ipconfig) { - return true - } - } - } - return false -} - -func TestVersion(t *testing.T) { - var datVersion map[string]interface{} - assert.Nil(t, HTTPCli.Get("/version", &datVersion)) - t.Log(datVersion) - - ver, present := datVersion["version"] - assert.True(t, present) - t.Logf("version is %s", ver.(string)) - re := regexp.MustCompile("^v*[0-9]+.[0-9]+.[0-9]+$") - assert.True(t, re.MatchString(ver.(string))) -} - -func TestConfig(t *testing.T) { - var cfg xsapiv1.APIConfig - assert.Nil(t, HTTPCli.Get("/config", &cfg)) - - re := regexp.MustCompile("^[0-9a-z]+-[0-9a-z]+-[0-9a-z]+-[0-9a-z]+-[0-9a-z]+$") - assert.True(t, re.MatchString(cfg.ServerUID)) //ID - pathMap, present := cfg.SupportedSharing["PathMap"] - assert.True(t, present) - assert.True(t, pathMap) - assert.True(t, CheckIP(cfg.Builder.IP)) -} -func TestFolders(t *testing.T) { - var cfgArray []xsapiv1.FolderConfig - assert.Nil(t, HTTPCli.Get("/folders", &cfgArray)) - assert.Equal(t, len(cfgArray), 0) - - fPrj := xsapiv1.FolderConfig{ - Label: "testproject", - ClientPath: logDir + "testproject", - Type: xsapiv1.TypePathMap, - ClientData: "clientdatatest", - DataPathMap: xsapiv1.PathMapConfig{ - ServerPath: logDir + "testserverpath", - }, - } - var cfg xsapiv1.FolderConfig - assert.Nil(t, HTTPCli.Post("/folders", fPrj, &cfg)) - assert.NotNil(t, cfg) - - isCfgPrjMatch := func(fPrj xsapiv1.FolderConfig, cfg xsapiv1.FolderConfig) { - re := regexp.MustCompile("^[0-9a-z]+-[0-9a-z]+-[0-9a-z]+-[0-9a-z]+-[0-9a-z]+$") - assert.True(t, re.MatchString(cfg.ID)) //ID - assert.Equal(t, cfg.Label, fPrj.Label) //Label - assert.Equal(t, cfg.ClientPath, fPrj.ClientPath) - assert.Equal(t, cfg.Type, fPrj.Type) - assert.Equal(t, cfg.Status, "Enable") - assert.Equal(t, cfg.IsInSync, true) - assert.Equal(t, len(cfg.DefaultSdk), 0) - assert.Equal(t, fPrj.ClientData, cfg.ClientData) - assert.Equal(t, fPrj.DataPathMap.ServerPath, cfg.DataPathMap.ServerPath) - } - isCfgPrjMatch(fPrj, cfg) - var cfg2 xsapiv1.FolderConfig - assert.Nil(t, HTTPCli.Get("/folders/"+cfg.ID, &cfg2)) - isCfgPrjMatch(fPrj, cfg2) - - assert.Nil(t, HTTPCli.Get("/folders", &cfgArray)) - assert.Equal(t, len(cfgArray), 1) - - //call with the same uid create error - assert.NotNil(t, HTTPCli.Post("/folders", cfg, &cfg)) - - /*create/delete folders*/ - var cfgArrayBis []xsapiv1.FolderConfig - assert.Nil(t, HTTPCli.Post("/folders", fPrj, &cfg)) - assert.Nil(t, HTTPCli.Post("/folders", fPrj, &cfg)) - assert.Nil(t, HTTPCli.Get("/folders", &cfgArray)) - assert.Equal(t, len(cfgArray), 3) - assert.Nil(t, HTTPCli.Delete("/folders/"+cfgArray[1].ID, &cfg)) - assert.Equal(t, cfg, cfgArray[1]) - assert.Nil(t, HTTPCli.Get("/folders", &cfgArrayBis)) - assert.Equal(t, len(cfgArrayBis), 2) - assert.Nil(t, HTTPCli.Delete("/folders/"+cfgArray[0].ID, &cfg)) - assert.Equal(t, cfg, cfgArray[0]) - assert.Nil(t, HTTPCli.Get("/folders", &cfgArrayBis)) - assert.Equal(t, len(cfgArrayBis), 1) - assert.Nil(t, HTTPCli.Delete("/folders/"+cfgArray[2].ID, &cfg)) - assert.Equal(t, cfg, cfgArray[2]) - assert.Nil(t, HTTPCli.Get("/folders", &cfgArrayBis)) - assert.Equal(t, len(cfgArrayBis), 0) -} - -func TestFoldersEmptyValues(t *testing.T) { - fPrj := xsapiv1.FolderConfig{ - Label: "testproject", - ClientPath: logDir + "testproject", - Type: xsapiv1.TypePathMap, - ClientData: "clientdatatest", - DataPathMap: xsapiv1.PathMapConfig{ - ServerPath: "", - }, - } - var cfg xsapiv1.FolderConfig - /*ServerPath is empty*/ - assert.NotNil(t, HTTPCli.Post("/folders", fPrj, &cfg)) - - fPrj.DataPathMap.ServerPath = logDir + "sameserverpath" - fPrj.ClientPath = "" - /*ClientPath is Empty*/ - assert.NotNil(t, HTTPCli.Post("/folders", fPrj, &cfg)) - - fPrj.ClientPath = "logDir" - fPrj.Type = "" - /*Type is empty*/ - assert.NotNil(t, HTTPCli.Post("/folders", fPrj, &cfg)) - - var cfgArray []xsapiv1.FolderConfig - assert.Nil(t, HTTPCli.Get("/folders", &cfgArray)) - assert.Equal(t, len(cfgArray), 0) -} - -func TestFoldersPathMapConfig(t *testing.T) { - fPrj := xsapiv1.FolderConfig{ - Label: "testproject", - ClientPath: logDir + "clientpathtest", - Type: xsapiv1.TypePathMap, - ClientData: "clientdatatest", - DataPathMap: xsapiv1.PathMapConfig{ - ServerPath: logDir + "serverpath", - CheckFile: "checkfile", - }, - } - var cfg xsapiv1.FolderConfig - /*file not present*/ - assert.NotNil(t, HTTPCli.Post("/folders", fPrj, &cfg)) - - var checkFileClient = fPrj.ClientPath + "/checkfile" - var checkFileServer = fPrj.DataPathMap.ServerPath + "/checkfile" - - /*create file*/ - os.MkdirAll(fPrj.ClientPath, 0755) - fPrj.DataPathMap.CheckFile = checkFileClient - fPrj.DataPathMap.CheckContent = "CheckContent From Client\n" - file, err := os.OpenFile(checkFileClient, os.O_CREATE|os.O_RDWR, 0644) - if err != nil { - t.Log(err) - } - if err := os.Symlink(checkFileClient, checkFileServer); err != nil { - t.Log(err) - } - /*file content differ*/ - assert.NotNil(t, HTTPCli.Post("/folders", fPrj, &cfg)) - - /*write same message*/ - if _, err := file.WriteString(fPrj.DataPathMap.CheckContent); err != nil { - t.Log(err) - } - assert.Nil(t, HTTPCli.Post("/folders", fPrj, &cfg)) - - /*check server msg: ServerUID needed*/ - var APIcfg xsapiv1.APIConfig - assert.Nil(t, HTTPCli.Get("/config", &APIcfg)) - msg := "Pathmap checked message written by xds-server ID: " + APIcfg.ServerUID + "\n" - data, err := ioutil.ReadAll(file) - if err != nil { - t.Log(err) - } - assert.Equal(t, msg, string(data)) - - assert.Nil(t, HTTPCli.Delete("/folders/"+cfg.ID, &cfg)) - var cfgArray []xsapiv1.FolderConfig - assert.Nil(t, HTTPCli.Get("/folders", &cfgArray)) - assert.Equal(t, len(cfgArray), 0) -}