"time"
"gerrit.automotivelinux.org/gerrit/src/xds/xds-server/lib/xsapiv1"
- "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
var cpt int
})
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()
}
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
}
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))
}