X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=test%2Fsdks_test.go;h=15f78a3cddfb54093f26d5d9b3c4579002cecb3c;hb=a740425411f120ff7263f16f268e7efd7c19b311;hp=c00966f261f76eabcd8efaf87b5e88a87f6f7c91;hpb=83fad88204387d196f755c718de40828c08dc7ac;p=src%2Fxds%2Fxds-server.git diff --git a/test/sdks_test.go b/test/sdks_test.go index c00966f..15f78a3 100644 --- a/test/sdks_test.go +++ b/test/sdks_test.go @@ -26,7 +26,7 @@ import ( "time" "gerrit.automotivelinux.org/gerrit/src/xds/xds-server/lib/xsapiv1" - "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) var cpt int @@ -51,15 +51,16 @@ func ConnectSDKStateChange(t *testing.T, sCli *IOSockClient, channel chan xsapiv }) args := xsapiv1.EventRegisterArgs{Name: xsapiv1.EVTSDKStateChange} - assert.Nil(t, HTTPCli.Post("/events/register", args, nil)) + require.Nil(t, HTTPCli.Post("/events/register", args, nil)) } func DisconnectSDKStateChange(t *testing.T, sCli *IOSockClient) { args := xsapiv1.EventRegisterArgs{Name: xsapiv1.EVTSDKStateChange} - assert.Nil(t, HTTPCli.Post("/events/unregister", args, nil)) + require.Nil(t, HTTPCli.Post("/events/unregister", args, nil)) } func InitSdkDir() { + /*create sdk dir*/ sdkDir := os.Getenv(envXdtSdk) os.MkdirAll(sdkDir, 0755) currentDir, err := os.Getwd() @@ -72,66 +73,74 @@ func InitSdkDir() { } func RemoveSdk(t *testing.T, sdk xsapiv1.SDK, chSdks chan xsapiv1.SDK) { - assert.Nil(t, HTTPCli.Delete("/sdks/"+sdk.ID, &sdk)) - sdkFromEvt := <-chSdks //Uninstalling - assert.Equal(t, sdk.ID, sdkFromEvt.ID) - assert.Equal(t, sdkFromEvt.Status, "Un-installing") - sdkFromEvt = <-chSdks //not installed - assert.Equal(t, sdkFromEvt.Status, "Not Installed") + Debugf(t, "remove sdk %v", sdk.ID) + require.Nil(t, HTTPCli.Delete("/sdks/"+sdk.ID, &sdk)) + sdkFromEvt := <-chSdks //waiting for event Uninstalling + require.Equal(t, sdk.ID, sdkFromEvt.ID) + require.Equal(t, sdkFromEvt.Status, "Un-installing") + sdkFromEvt = <-chSdks //waiting for event not installed + require.Equal(t, sdkFromEvt.Status, "Not Installed") os.RemoveAll(path.Join(os.Getenv(envXdtSdk), sdk.Profile)) os.Remove(strings.Replace(sdk.URL, "file://", "", 1)) } func TestSdks(t *testing.T) { - cpt = 0 InitSdkDir() + /*get sdk list from sdk_latest.json*/ var sdkArray []xsapiv1.SDK - assert.Nil(t, HTTPCli.Get("/sdks", &sdkArray)) + require.Nil(t, HTTPCli.Get("/sdks", &sdkArray)) _, err := os.Stat(path.Join(os.Getenv(envXdtSdk), "sdks_latest.json")) - time.Sleep(1000 * time.Millisecond) - assert.Nil(t, err) + require.Nil(t, err) + /*create channel fro SDK event*/ chSdks := make(chan xsapiv1.SDK) defer close(chSdks) ConnectSDKStateChange(t, sCli, chSdks) + /*checking startup installing of SDKs*/ for i := 0; i < len(sdkArray); i++ { re := regexp.MustCompile("^[0-9a-z]+-[0-9a-z]+-[0-9a-z]+-[0-9a-z]+-[0-9a-z]+$") - assert.True(t, re.MatchString(sdkArray[i].ID)) - assert.Equal(t, sdkArray[0].Status, "Not Installed") + require.True(t, re.MatchString(sdkArray[i].ID)) + require.Equal(t, sdkArray[0].Status, "Not Installed") var sdk xsapiv1.SDK - assert.Nil(t, HTTPCli.Get("/sdks/"+sdkArray[i].ID, &sdk)) - assert.Equal(t, sdkArray[i], sdk) + require.Nil(t, HTTPCli.Get("/sdks/"+sdkArray[i].ID, &sdk)) + require.Equal(t, sdkArray[i], sdk) var sdkRes xsapiv1.SDK - assert.Nil(t, HTTPCli.Post("/sdks", sdk, &sdkRes)) - assert.Equal(t, sdkRes.Status, "Installing") - sdkFromEvent := <-chSdks - assert.Equal(t, sdkRes.ID, sdkFromEvent.ID) - assert.Equal(t, sdkFromEvent.Status, "Installing") - - assert.Nil(t, HTTPCli.Post("/sdks/abortinstall", sdk, &sdkRes)) - assert.Equal(t, sdkRes.Status, "Not Installed") - sdkFromEvent = <-chSdks - assert.Equal(t, sdkRes.ID, sdkFromEvent.ID) - assert.Equal(t, sdkRes.Status, sdkFromEvent.Status) + /*install sdk*/ + Debugf(t, "install sdk %v", sdk.Name) + require.Nil(t, HTTPCli.Post("/sdks", sdk, &sdkRes)) + require.Equal(t, sdkRes.Status, "Installing") + sdkFromEvent := <-chSdks //waiting for installing event + require.Equal(t, sdkRes.ID, sdkFromEvent.ID) + require.Equal(t, sdkFromEvent.Status, "Installing") + + /*abort sdk install*/ + Debugf(t, "abort install sdk %v", sdk.Name) + require.Nil(t, HTTPCli.Post("/sdks/abortinstall", sdk, &sdkRes)) + require.Equal(t, sdkRes.Status, "Not Installed") + sdkFromEvent = <-chSdks //waiting for not installed status*/ + require.Equal(t, sdkRes.ID, sdkFromEvent.ID) + require.Equal(t, sdkRes.Status, sdkFromEvent.Status) } } func installFakeSdk(t *testing.T, sdkInstall xsapiv1.SDKInstallArgs, chSdks chan xsapiv1.SDK) xsapiv1.SDK { InitSdkDir() var sdkRes xsapiv1.SDK - assert.Nil(t, HTTPCli.Post("/sdks", sdkInstall, &sdkRes)) - assert.Equal(t, sdkRes.Status, "Installing") + require.Nil(t, HTTPCli.Post("/sdks", sdkInstall, &sdkRes)) + Debugf(t, "Install fake sdk %v (force=%v)", sdkRes.Name, sdkInstall.Force) + require.Equal(t, sdkRes.Status, "Installing") sdkFromEvent := <-chSdks - assert.Equal(t, sdkRes.ID, sdkFromEvent.ID) - assert.Equal(t, sdkFromEvent.Status, "Installing") + require.Equal(t, sdkRes.ID, sdkFromEvent.ID) + require.Equal(t, sdkFromEvent.Status, "Installing") /*waiting for SDKStateChange event from channel*/ sdkFromEvent = <-chSdks - assert.Equal(t, sdkRes.ID, sdkFromEvent.ID) - assert.Equal(t, "Installed", sdkFromEvent.Status) - assert.Equal(t, sdkFromEvent.LastError, "") + require.Equal(t, sdkRes.ID, sdkFromEvent.ID) + require.Equal(t, "Installed", sdkFromEvent.Status) + require.Equal(t, sdkFromEvent.LastError, "") + Debugf(t, "Fake sdk %v installed", sdkFromEvent.Name) return sdkFromEvent } @@ -160,10 +169,17 @@ func TestSdksError(t *testing.T) { Filename: "", Force: false, } + Debugf(t, "error while installing sdk with no ID and no Filename") var sdkRes xsapiv1.SDK - assert.NotNil(t, HTTPCli.Post("/sdks", sdk, &sdkRes)) + /*error with no ID no filename*/ + require.NotNil(t, HTTPCli.Post("/sdks", sdk, &sdkRes)) sdk.ID = "42885c24-374e-3ef0-9723-0c8a05191aa" - assert.NotNil(t, HTTPCli.Post("/sdks", sdk, &sdkRes)) + Debugf(t, "error while installing sdk with a fake id=%v", sdk.ID) + /*error with fake ID*/ + require.NotNil(t, HTTPCli.Post("/sdks", sdk, &sdkRes)) + sdk.ID = "" sdk.Filename = "fake" - assert.NotNil(t, HTTPCli.Post("/sdks", sdk, &sdkRes)) + Debugf(t, "error while installing sdk with a fake filename=%v", sdk.Filename) + /*error with fake filename*/ + require.NotNil(t, HTTPCli.Post("/sdks", sdk, &sdkRes)) }