Skip to content

Commit

Permalink
fix integration tests
Browse files Browse the repository at this point in the history
  • Loading branch information
alessio-perugini committed Oct 23, 2023
1 parent a7162af commit 0df532f
Showing 1 changed file with 15 additions and 15 deletions.
30 changes: 15 additions & 15 deletions internal/integrationtest/core/core_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1134,15 +1134,15 @@ func TestCoreHavingIncompatibleDepTools(t *testing.T) {
stdout, _, err := cli.Run("core", "list", "--all", "--format", "json", additionalURLs)
require.NoError(t, err)
t.Log(string(stdout))
requirejson.Query(t, stdout, `.[] | select(.id == "foo_vendor:avr") | .latest`, `"1.0.2"`)
requirejson.Query(t, stdout, `.[] | select(.id == "foo_vendor:avr") | .latest_compatible`, `"1.0.1"`)
requirejson.Query(t, stdout, `.[] | select(.id == "foo_vendor:avr") | .latest_version`, `"1.0.2"`)
requirejson.Query(t, stdout, `.[] | select(.id == "foo_vendor:avr") | .latest_compatible_version`, `"1.0.1"`)

// install latest compatible version
_, _, err = cli.Run("core", "install", "foo_vendor:avr", additionalURLs)
require.NoError(t, err)
stdout, _, err = cli.Run("core", "list", "--all", "--format", "json", additionalURLs)
require.NoError(t, err)
requirejson.Query(t, stdout, `.[] | select(.id == "foo_vendor:avr") | .latest_compatible`, `"1.0.1"`)
requirejson.Query(t, stdout, `.[] | select(.id == "foo_vendor:avr") | .latest_compatible_version`, `"1.0.1"`)

// install incompatible version
_, stderr, err := cli.Run("core", "install", "foo_vendor:[email protected]", additionalURLs)
Expand All @@ -1154,26 +1154,26 @@ func TestCoreHavingIncompatibleDepTools(t *testing.T) {
require.NoError(t, err)
stdout, _, err = cli.Run("core", "list", "--format", "json", additionalURLs)
require.NoError(t, err)
requirejson.Query(t, stdout, `.[] | select(.id == "foo_vendor:avr") | .installed`, `"1.0.0"`)
requirejson.Query(t, stdout, `.[] | select(.id == "foo_vendor:avr") | .installed_version`, `"1.0.0"`)

// Lists all updatable cores
stdout, _, err = cli.Run("core", "list", "--updatable", "--format", "json", additionalURLs)
require.NoError(t, err)
requirejson.Query(t, stdout, `.[] | select(.id == "foo_vendor:avr") | .latest_compatible`, `"1.0.1"`)
requirejson.Query(t, stdout, `.[] | select(.id == "foo_vendor:avr") | .latest_compatible_version`, `"1.0.1"`)

// upgrade to latest compatible (1.0.0 -> 1.0.1)
_, _, err = cli.Run("core", "upgrade", "foo_vendor:avr", "--format", "json", additionalURLs)
require.NoError(t, err)
stdout, _, err = cli.Run("core", "list", "--format", "json", additionalURLs)
require.NoError(t, err)
requirejson.Query(t, stdout, `.[] | select(.id == "foo_vendor:avr") | .installed`, `"1.0.1"`)
requirejson.Query(t, stdout, `.[] | select(.id == "foo_vendor:avr") | .installed_version`, `"1.0.1"`)

// upgrade to latest incompatible not possible (1.0.1 -> 1.0.2)
_, _, err = cli.Run("core", "upgrade", "foo_vendor:avr", "--format", "json", additionalURLs)
require.NoError(t, err)
stdout, _, err = cli.Run("core", "list", "--format", "json", additionalURLs)
require.NoError(t, err)
requirejson.Query(t, stdout, `.[] | select(.id == "foo_vendor:avr") | .installed`, `"1.0.1"`)
requirejson.Query(t, stdout, `.[] | select(.id == "foo_vendor:avr") | .installed_version`, `"1.0.1"`)

// When no compatible version are found return error
_, stderr, err = cli.Run("core", "install", "incompatible_vendor:avr", additionalURLs)
Expand All @@ -1184,19 +1184,19 @@ func TestCoreHavingIncompatibleDepTools(t *testing.T) {
stdout, _, err = cli.Run("core", "search", "--all", "--format", "json", additionalURLs)
require.NoError(t, err)
requirejson.Query(t, stdout,
`[.[] | select(.id == "foo_vendor:avr") | {latest: .latest, incompatible: .incompatible}] | sort_by(.latest)`,
`[.[] | select(.id == "foo_vendor:avr") | .releases | map(.) | .[] | {version: .version, incompatible: .incompatible}] | sort_by(.version)`,
`[
{"incompatible":null,"latest":"1.0.0"},
{"incompatible":null,"latest":"1.0.1"},
{"incompatible":true,"latest":"1.0.2"}
{"incompatible":null,"version":"1.0.0"},
{"incompatible":null,"version":"1.0.1"},
{"incompatible":true,"version":"1.0.2"}
]`,
)

// Core search shows latest compatible version
// Core search shows latest compatible version even if incompatible
stdout, _, err = cli.Run("core", "search", "--format", "json", additionalURLs)
require.NoError(t, err)
requirejson.Query(t, stdout, `.[] | select(.id == "foo_vendor:avr") | .latest`, `"1.0.1"`)
requirejson.Query(t, stdout, `.[] | select(.id == "incompatible_vendor:avr") | .incompatible`, `true`)
requirejson.Query(t, stdout, `.[] | select(.id == "foo_vendor:avr") | .latest_version`, `"1.0.2"`)
requirejson.Query(t, stdout, `.[] | select(.id == "incompatible_vendor:avr") | .releases[.latest_version].incompatible`, `true`)

// In text mode, core search doesn't show any version if no compatible one are present
stdout, _, err = cli.Run("core", "search", additionalURLs)
Expand All @@ -1205,5 +1205,5 @@ func TestCoreHavingIncompatibleDepTools(t *testing.T) {
for _, v := range strings.Split(strings.TrimSpace(string(stdout)), "\n") {
lines = append(lines, strings.Fields(strings.TrimSpace(v)))
}
require.Contains(t, lines, []string{"incompatible_vendor:avr", "Incompatible", "Boards"})
require.Contains(t, lines, []string{"incompatible_vendor:avr"})
}

0 comments on commit 0df532f

Please sign in to comment.