tests: Update composer-cli tests for v36.0
The v36.0 release of weldr-client/composer-cli will include support for cloudapi commands. This adjusts the tests so that they will work with the new version while maintaining compatibility with the previous version. Related: RHEL-60123
This commit is contained in:
parent
6a51587417
commit
78e77ccdd5
1 changed files with 31 additions and 8 deletions
|
|
@ -128,6 +128,8 @@ func TestBlueprintCommands(t *testing.T) {
|
||||||
runComposer(t, "blueprints", "tag", "empty")
|
runComposer(t, "blueprints", "tag", "empty")
|
||||||
|
|
||||||
// undo the latest commit we can find
|
// undo the latest commit we can find
|
||||||
|
// NOTE: This will only have a weldrapi response
|
||||||
|
// blueprints changes is not supported by cloudapi
|
||||||
var changesWeldr []weldr.BlueprintsChangesV0Weldr
|
var changesWeldr []weldr.BlueprintsChangesV0Weldr
|
||||||
rawReply := runComposerJSON(t, "blueprints", "changes", "empty")
|
rawReply := runComposerJSON(t, "blueprints", "changes", "empty")
|
||||||
if isWeldrClientInstalled() {
|
if isWeldrClientInstalled() {
|
||||||
|
|
@ -208,6 +210,8 @@ func startCompose(t *testing.T, name, outputType string) uuid.UUID {
|
||||||
BuildID uuid.UUID `json:"build_id"`
|
BuildID uuid.UUID `json:"build_id"`
|
||||||
Status bool `json:"status"`
|
Status bool `json:"status"`
|
||||||
}
|
}
|
||||||
|
// NOTE: This will only have a weldrapi response
|
||||||
|
// the compose start being used here uses the weldrapi
|
||||||
type replyWithBody struct {
|
type replyWithBody struct {
|
||||||
Body reply `json:"body"`
|
Body reply `json:"body"`
|
||||||
}
|
}
|
||||||
|
|
@ -240,7 +244,8 @@ func deleteCompose(t *testing.T, id uuid.UUID) {
|
||||||
Errors []interface{} `json:"errors"`
|
Errors []interface{} `json:"errors"`
|
||||||
}
|
}
|
||||||
type replyWithBody struct {
|
type replyWithBody struct {
|
||||||
Body reply `json:"body"`
|
Path string `json:"path"`
|
||||||
|
Body reply `json:"body"`
|
||||||
}
|
}
|
||||||
var replyWeldr []replyWithBody
|
var replyWeldr []replyWithBody
|
||||||
var err error
|
var err error
|
||||||
|
|
@ -255,9 +260,15 @@ func deleteCompose(t *testing.T, id uuid.UUID) {
|
||||||
err = json.Unmarshal(rawReply, &replyWeldr[0].Body)
|
err = json.Unmarshal(rawReply, &replyWeldr[0].Body)
|
||||||
}
|
}
|
||||||
require.Nilf(t, err, "Unexpected reply: %v", err)
|
require.Nilf(t, err, "Unexpected reply: %v", err)
|
||||||
require.Zerof(t, len(replyWeldr[0].Body.Errors), "Unexpected errors")
|
// NOTE: The response may contain a cloudapi error in the first response
|
||||||
require.Equalf(t, 1, len(replyWeldr[0].Body.IDs), "Unexpected number of UUIDs returned: %d", len(replyWeldr[0].Body.IDs))
|
body := replyWeldr[0].Body
|
||||||
require.Truef(t, replyWeldr[0].Body.IDs[0].Status, "Unexpected status %v", replyWeldr[0].Body.IDs[0].Status)
|
if len(replyWeldr) > 1 &&
|
||||||
|
strings.HasPrefix(replyWeldr[0].Path, "api/image-builder-composer/v2") {
|
||||||
|
body = replyWeldr[1].Body
|
||||||
|
}
|
||||||
|
require.Zerof(t, len(body.Errors), "Unexpected errors")
|
||||||
|
require.Equalf(t, 1, len(body.IDs), "Unexpected number of UUIDs returned: %d", len(body.IDs))
|
||||||
|
require.Truef(t, body.IDs[0].Status, "Unexpected status %v", body.IDs[0].Status)
|
||||||
}
|
}
|
||||||
|
|
||||||
func waitForCompose(t *testing.T, uuid uuid.UUID) string {
|
func waitForCompose(t *testing.T, uuid uuid.UUID) string {
|
||||||
|
|
@ -277,7 +288,8 @@ func getComposeStatus(t *testing.T, uuid uuid.UUID) string {
|
||||||
QueueStatus string `json:"queue_status"`
|
QueueStatus string `json:"queue_status"`
|
||||||
}
|
}
|
||||||
type replyWithBody struct {
|
type replyWithBody struct {
|
||||||
Body reply `json:"body"`
|
Path string `json:"path"`
|
||||||
|
Body reply `json:"body"`
|
||||||
}
|
}
|
||||||
var replyWeldr []replyWithBody
|
var replyWeldr []replyWithBody
|
||||||
var err error
|
var err error
|
||||||
|
|
@ -292,7 +304,13 @@ func getComposeStatus(t *testing.T, uuid uuid.UUID) string {
|
||||||
err = json.Unmarshal(rawReply, &replyWeldr[0].Body)
|
err = json.Unmarshal(rawReply, &replyWeldr[0].Body)
|
||||||
}
|
}
|
||||||
require.Nilf(t, err, "Unexpected reply: %v", err)
|
require.Nilf(t, err, "Unexpected reply: %v", err)
|
||||||
return replyWeldr[0].Body.QueueStatus
|
// NOTE: The response may contain a cloudapi error in the first response
|
||||||
|
body := replyWeldr[0].Body
|
||||||
|
if len(replyWeldr) > 1 &&
|
||||||
|
strings.HasPrefix(replyWeldr[0].Path, "api/image-builder-composer/v2") {
|
||||||
|
body = replyWeldr[1].Body
|
||||||
|
}
|
||||||
|
return body.QueueStatus
|
||||||
}
|
}
|
||||||
|
|
||||||
func getLogs(t *testing.T, uuid uuid.UUID) string {
|
func getLogs(t *testing.T, uuid uuid.UUID) string {
|
||||||
|
|
@ -331,6 +349,8 @@ func pushBlueprint(t *testing.T, bp *blueprint.Blueprint) {
|
||||||
type reply struct {
|
type reply struct {
|
||||||
Status bool `json:"status"`
|
Status bool `json:"status"`
|
||||||
}
|
}
|
||||||
|
// NOTE: This will only have a weldrapi reply
|
||||||
|
// blueprints push it not available with cloudapi
|
||||||
type replyWithBody struct {
|
type replyWithBody struct {
|
||||||
Body reply `json:"body"`
|
Body reply `json:"body"`
|
||||||
}
|
}
|
||||||
|
|
@ -356,6 +376,8 @@ func deleteBlueprint(t *testing.T, bp *blueprint.Blueprint) {
|
||||||
type reply struct {
|
type reply struct {
|
||||||
Status bool `json:"status"`
|
Status bool `json:"status"`
|
||||||
}
|
}
|
||||||
|
// NOTE: This will only have a weldrapi reply
|
||||||
|
// blueprints delete is not available with cloudapi
|
||||||
type replyWithBody struct {
|
type replyWithBody struct {
|
||||||
Body reply `json:"body"`
|
Body reply `json:"body"`
|
||||||
}
|
}
|
||||||
|
|
@ -444,8 +466,9 @@ type TemporaryWorkDir struct {
|
||||||
// working directory to it.
|
// working directory to it.
|
||||||
//
|
//
|
||||||
// Example:
|
// Example:
|
||||||
// d := NewTemporaryWorkDir(t, "foo-*")
|
//
|
||||||
// defer d.Close(t)
|
// d := NewTemporaryWorkDir(t, "foo-*")
|
||||||
|
// defer d.Close(t)
|
||||||
func NewTemporaryWorkDir(t *testing.T, pattern string) TemporaryWorkDir {
|
func NewTemporaryWorkDir(t *testing.T, pattern string) TemporaryWorkDir {
|
||||||
var d TemporaryWorkDir
|
var d TemporaryWorkDir
|
||||||
var err error
|
var err error
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue