Skip to content

Commit d1f9334

Browse files
Migrated TestBoardListall from test_board.py to board_test.go
1 parent 2bd8501 commit d1f9334

File tree

2 files changed

+46
-25
lines changed

2 files changed

+46
-25
lines changed

Diff for: internal/integrationtest/board/board_test.go

+46
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,49 @@ func TestBoardListWithInvalidDiscovery(t *testing.T) {
7979
require.NoError(t, err)
8080
require.Contains(t, string(stdout), "builtin:serial-discovery")
8181
}
82+
83+
func TestBoardListall(t *testing.T) {
84+
env := testsuite.NewEnvironment(t)
85+
defer env.CleanUp()
86+
87+
cli := integrationtest.NewArduinoCliWithinEnvironment(env, &integrationtest.ArduinoCLIConfig{
88+
ArduinoCLIPath: paths.New("..", "..", "..", "arduino-cli"),
89+
UseSharedStagingFolder: true,
90+
})
91+
92+
_, _, err := cli.Run("update")
93+
require.NoError(t, err)
94+
_, _, err = cli.Run("core", "install", "arduino:[email protected]")
95+
require.NoError(t, err)
96+
97+
stdout, _, err := cli.Run("board", "listall", "--format", "json")
98+
require.NoError(t, err)
99+
var data map[string]interface{}
100+
err = json.Unmarshal(stdout, &data)
101+
require.NoError(t, err)
102+
103+
// maps each json contained in "boards" using
104+
// its corresponding "fqbn" value as its key
105+
boards := make(map[string]map[string]interface{})
106+
for _, v := range data["boards"].([]interface{}) {
107+
mapV := v.(map[string]interface{})
108+
boards[mapV["fqbn"].(string)] = mapV
109+
}
110+
require.Len(t, boards, 26)
111+
112+
require.Contains(t, boards, "arduino:avr:yun")
113+
require.Equal(t, boards["arduino:avr:yun"]["name"], "Arduino Yún")
114+
platform := boards["arduino:avr:yun"]["platform"].(map[string]interface{})
115+
require.Equal(t, platform["id"], "arduino:avr")
116+
require.Equal(t, platform["installed"], "1.8.3")
117+
require.NotEmpty(t, platform["latest"])
118+
require.Equal(t, platform["name"], "Arduino AVR Boards")
119+
120+
require.Contains(t, boards, "arduino:avr:uno")
121+
require.Equal(t, boards["arduino:avr:uno"]["name"], "Arduino Uno")
122+
platform = boards["arduino:avr:uno"]["platform"].(map[string]interface{})
123+
require.Equal(t, platform["id"], "arduino:avr")
124+
require.Equal(t, platform["installed"], "1.8.3")
125+
require.NotEmpty(t, platform["latest"])
126+
require.Equal(t, platform["name"], "Arduino AVR Boards")
127+
}

Diff for: test/test_board.py

-25
Original file line numberDiff line numberDiff line change
@@ -394,31 +394,6 @@
394394
""" # noqa: E501
395395

396396

397-
def test_board_listall(run_command):
398-
assert run_command(["update"])
399-
assert run_command(["core", "install", "arduino:[email protected]"])
400-
res = run_command(["board", "listall", "--format", "json"])
401-
assert res.ok
402-
data = json.loads(res.stdout)
403-
boards = {b["fqbn"]: b for b in data["boards"]}
404-
assert len(boards) == 26
405-
assert "arduino:avr:yun" in boards
406-
assert "Arduino Yún" == boards["arduino:avr:yun"]["name"]
407-
platform = boards["arduino:avr:yun"]["platform"]
408-
assert "arduino:avr" == platform["id"]
409-
assert "1.8.3" == platform["installed"]
410-
assert "" != platform["latest"]
411-
assert "Arduino AVR Boards" == platform["name"]
412-
413-
assert "arduino:avr:uno" in boards
414-
assert "Arduino Uno" == boards["arduino:avr:uno"]["name"]
415-
platform = boards["arduino:avr:uno"]["platform"]
416-
assert "arduino:avr" == platform["id"]
417-
assert "1.8.3" == platform["installed"]
418-
assert "" != platform["latest"]
419-
assert "Arduino AVR Boards" == platform["name"]
420-
421-
422397
def test_board_listall_with_manually_installed_platform(run_command, data_dir):
423398
assert run_command(["update"])
424399

0 commit comments

Comments
 (0)