Skip to content

Commit a0aa9d8

Browse files
wip: fix 'core' integrationtests
1 parent d1dcce8 commit a0aa9d8

File tree

1 file changed

+40
-24
lines changed

1 file changed

+40
-24
lines changed

internal/integrationtest/core/core_test.go

Lines changed: 40 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ func TestCorrectHandlingOfPlatformVersionProperty(t *testing.T) {
4848
// Trigger problematic call
4949
out, _, err := cli.Run("core", "list", "--format", "json")
5050
require.NoError(t, err)
51-
requirejson.Contains(t, out, `[{"id":"DxCore-dev:megaavr","installed":"1.4.10","name":"DxCore"}]`)
51+
requirejson.Contains(t, out, `[{"id":"DxCore-dev:megaavr","installed_version":"1.4.10","name":"DxCore"}]`)
5252
}
5353

5454
func TestCoreSearch(t *testing.T) {
@@ -73,8 +73,8 @@ func TestCoreSearch(t *testing.T) {
7373
out, _, err = cli.Run("core", "search", "avr", "--format", "json")
7474
require.NoError(t, err)
7575
requirejson.NotEmpty(t, out)
76-
// Verify that "installed" is set
77-
requirejson.Contains(t, out, `[{installed: "1.8.6"}]`)
76+
// Verify that "installed_version" is set
77+
requirejson.Contains(t, out, `[{installed_version: "1.8.6"}]`)
7878

7979
// additional URL
8080
out, _, err = cli.Run("core", "search", "test_core", "--format", "json", "--additional-urls="+url.String())
@@ -84,10 +84,10 @@ func TestCoreSearch(t *testing.T) {
8484
// show all versions
8585
out, _, err = cli.Run("core", "search", "test_core", "--all", "--format", "json", "--additional-urls="+url.String())
8686
require.NoError(t, err)
87-
requirejson.Len(t, out, 3)
87+
requirejson.Query(t, out, `.[].releases | length`, "3")
8888

8989
checkPlatformIsInJSONOutput := func(stdout []byte, id, version string) {
90-
jqquery := fmt.Sprintf(`[{id:"%s", latest:"%s"}]`, id, version)
90+
jqquery := fmt.Sprintf(`[{id:"%s", releases:{"%s":{}}}]`, id, version)
9191
requirejson.Contains(t, out, jqquery, "platform %s@%s is missing from the output", id, version)
9292
}
9393

@@ -171,7 +171,7 @@ func TestCoreSearchNoArgs(t *testing.T) {
171171
// same thing in JSON format, also check the number of platforms found is the same
172172
stdout, _, err = cli.Run("core", "search", "--format", "json")
173173
require.NoError(t, err)
174-
requirejson.Contains(t, stdout, `[ { "name":"test_core" } ]`)
174+
requirejson.Contains(t, stdout, `[{"id": "test:x86", "releases": { "2.0.0": {"name":"test_core"}}}]`)
175175
requirejson.Query(t, stdout, "length", fmt.Sprint(numPlatforms))
176176

177177
// list all with additional urls, check the test core is there
@@ -188,8 +188,8 @@ func TestCoreSearchNoArgs(t *testing.T) {
188188
// same thing in JSON format, also check the number of platforms found is the same
189189
stdout, _, err = cli.Run("core", "search", "--format", "json", "--additional-urls="+url.String())
190190
require.NoError(t, err)
191-
requirejson.Contains(t, stdout, `[ { "name":"test_core" } ]`)
192-
requirejson.Query(t, stdout, "length", fmt.Sprint(numPlatforms))
191+
requirejson.Contains(t, stdout, `[{"id": "test:x86", "releases": { "3.0.0": {"name":"test_core"}}}]`)
192+
requirejson.Query(t, stdout, `[.[].releases | length] | add`, fmt.Sprint(numPlatforms))
193193
}
194194

195195
func TestCoreUpdateIndexUrlNotFound(t *testing.T) {
@@ -303,7 +303,7 @@ func TestCoreInstall(t *testing.T) {
303303
require.NoError(t, err)
304304
stdout, _, err := cli.Run("core", "list", "--format", "json")
305305
require.NoError(t, err)
306-
requirejson.Query(t, stdout, `.[] | select(.id == "arduino:avr") | .installed`, `"1.6.16"`)
306+
requirejson.Query(t, stdout, `.[] | select(.id == "arduino:avr") | .installed_version`, `"1.6.16"`)
307307

308308
// Replace it with the same with --no-overwrite (should NOT fail)
309309
_, _, err = cli.Run("core", "install", "arduino:[email protected]", "--no-overwrite")
@@ -318,22 +318,22 @@ func TestCoreInstall(t *testing.T) {
318318
require.NoError(t, err)
319319
stdout, _, err = cli.Run("core", "list", "--format", "json")
320320
require.NoError(t, err)
321-
requirejson.Query(t, stdout, `.[] | select(.id == "arduino:avr") | .installed`, `"1.6.17"`)
321+
requirejson.Query(t, stdout, `.[] | select(.id == "arduino:avr") | .installed_version`, `"1.6.17"`)
322322

323323
// Confirm core is listed as "updatable"
324324
stdout, _, err = cli.Run("core", "list", "--updatable", "--format", "json")
325325
require.NoError(t, err)
326326
jsonout := requirejson.Parse(t, stdout)
327327
q := jsonout.Query(`.[] | select(.id == "arduino:avr")`)
328-
q.Query(".installed").MustEqual(`"1.6.17"`)
329-
latest := q.Query(".latest")
328+
q.Query(".installed_version").MustEqual(`"1.6.17"`)
329+
latest := q.Query(".latest_version")
330330

331331
// Upgrade the core to latest version
332332
_, _, err = cli.Run("core", "upgrade", "arduino:avr")
333333
require.NoError(t, err)
334334
stdout, _, err = cli.Run("core", "list", "--format", "json")
335335
require.NoError(t, err)
336-
requirejson.Query(t, stdout, `.[] | select(.id == "arduino:avr") | .installed`, latest.String())
336+
requirejson.Query(t, stdout, `.[] | select(.id == "arduino:avr") | .installed_version`, latest.String())
337337

338338
// double check the core isn't updatable anymore
339339
stdout, _, err = cli.Run("core", "list", "--updatable", "--format", "json")
@@ -483,10 +483,14 @@ func TestCoreListAllManuallyInstalledCore(t *testing.T) {
483483
requirejson.Contains(t, stdout, `[
484484
{
485485
"id": "arduino-beta-development:avr",
486-
"latest": "1.8.3",
487-
"name": "Arduino AVR Boards"
486+
"latest_version": "1.8.3",
487+
"releases": {
488+
"1.8.3": {
489+
"name": "Arduino AVR Boards"
490+
}
488491
}
489-
]`)
492+
}
493+
]`)
490494
}
491495

492496
func TestCoreListUpdatableAllFlags(t *testing.T) {
@@ -519,10 +523,14 @@ func TestCoreListUpdatableAllFlags(t *testing.T) {
519523
requirejson.Contains(t, stdout, `[
520524
{
521525
"id": "arduino-beta-development:avr",
522-
"latest": "1.8.3",
523-
"name": "Arduino AVR Boards"
526+
"latest_version": "1.8.3",
527+
"releases": {
528+
"1.8.3": {
529+
"name": "Arduino AVR Boards"
530+
}
524531
}
525-
]`)
532+
}
533+
]`)
526534
}
527535

528536
func TestCoreUpgradeRemovesUnusedTools(t *testing.T) {
@@ -592,7 +600,11 @@ func TestCoreListWithInstalledJson(t *testing.T) {
592600
requirejson.Contains(t, stdout, `[
593601
{
594602
"id": "adafruit:avr",
595-
"name": "Adafruit AVR Boards"
603+
"releases": {
604+
"1.4.13": {
605+
"name": "Adafruit AVR Boards"
606+
}
607+
}
596608
}
597609
]`)
598610

@@ -614,7 +626,11 @@ func TestCoreListWithInstalledJson(t *testing.T) {
614626
requirejson.Contains(t, stdout, `[
615627
{
616628
"id": "adafruit:avr",
617-
"name": "Adafruit Boards"
629+
"releases": {
630+
"1.4.13": {
631+
"name": "Adafruit Boards"
632+
}
633+
}
618634
}
619635
]`)
620636
}
@@ -940,10 +956,10 @@ func TestCoreListOutdatedCore(t *testing.T) {
940956
stdout, _, err := cli.Run("core", "list", "--format", "json")
941957
require.NoError(t, err)
942958
requirejson.Len(t, stdout, 1)
943-
requirejson.Query(t, stdout, ".[0] | .installed", "\"1.8.6\"")
944-
installedVersion, err := semver.Parse(strings.Trim(requirejson.Parse(t, stdout).Query(".[0] | .installed").String(), "\""))
959+
requirejson.Query(t, stdout, ".[0] | .installed_version", "\"1.8.6\"")
960+
installedVersion, err := semver.Parse(strings.Trim(requirejson.Parse(t, stdout).Query(".[0] | .installed_version").String(), "\""))
945961
require.NoError(t, err)
946-
latestVersion, err := semver.Parse(strings.Trim(requirejson.Parse(t, stdout).Query(".[0] | .latest").String(), "\""))
962+
latestVersion, err := semver.Parse(strings.Trim(requirejson.Parse(t, stdout).Query(".[0] | .latest_version").String(), "\""))
947963
require.NoError(t, err)
948964
// Installed version must be older than latest
949965
require.True(t, installedVersion.LessThan(latestVersion))

0 commit comments

Comments
 (0)