Skip to content

Commit f46f0c2

Browse files
Migrate TestInstallLibraryWithDependencies from test_lib.py to lib_test.go
1 parent 77d8846 commit f46f0c2

File tree

2 files changed

+38
-35
lines changed

2 files changed

+38
-35
lines changed

internal/integrationtest/lib/lib_test.go

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -530,3 +530,41 @@ func TestInstall(t *testing.T) {
530530
require.Error(t, err)
531531
require.Contains(t, string(stderr), "No valid dependencies solution found: dependency 'MD_MAX72xx' is not available")
532532
}
533+
534+
func TestInstallLibraryWithDependencies(t *testing.T) {
535+
env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t)
536+
defer env.CleanUp()
537+
538+
_, _, err := cli.Run("update")
539+
require.NoError(t, err)
540+
541+
// Verifies libraries are not installed
542+
stdout, _, err := cli.Run("lib", "list", "--format", "json")
543+
require.NoError(t, err)
544+
requirejson.Empty(t, stdout)
545+
546+
// Install library
547+
_, _, err = cli.Run("lib", "install", "MD_Parola@3.5.5")
548+
require.NoError(t, err)
549+
550+
// Verifies library's dependencies are correctly installed
551+
stdout, _, err = cli.Run("lib", "list", "--format", "json")
552+
require.NoError(t, err)
553+
requirejson.Query(t, stdout, "[ .[] | .library | .name ] | sort", "[\"MD_MAX72XX\",\"MD_Parola\"]")
554+
555+
// Try upgrading with --no-overwrite (should fail) and without --no-overwrite (should succeed)
556+
_, _, err = cli.Run("lib", "install", "MD_Parola@3.6.1", "--no-overwrite")
557+
require.Error(t, err)
558+
_, _, err = cli.Run("lib", "install", "MD_Parola@3.6.1")
559+
require.NoError(t, err)
560+
561+
// Test --no-overwrite with transitive dependencies
562+
_, _, err = cli.Run("lib", "install", "SD")
563+
require.NoError(t, err)
564+
_, _, err = cli.Run("lib", "install", "Arduino_Builtin", "--no-overwrite")
565+
require.NoError(t, err)
566+
_, _, err = cli.Run("lib", "install", "SD@1.2.3")
567+
require.NoError(t, err)
568+
_, _, err = cli.Run("lib", "install", "Arduino_Builtin", "--no-overwrite")
569+
require.Error(t, err)
570+
}

test/test_lib.py

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -49,41 +49,6 @@ def download_lib(url, download_dir):
4949
z.close()
5050

5151

52-
def test_install_library_with_dependencies(run_command):
53-
assert run_command(["update"])
54-
55-
# Verifies libraries are not installed
56-
res = run_command(["lib", "list", "--format", "json"])
57-
assert res.ok
58-
data = json.loads(res.stdout)
59-
installed_libraries = [l["library"]["name"] for l in data]
60-
assert "MD_Parola" not in installed_libraries
61-
assert "MD_MAX72XX" not in installed_libraries
62-
63-
# Install library
64-
assert run_command(["lib", "install", "MD_Parola@3.5.5"])
65-
66-
# Verifies library's dependencies are correctly installed
67-
res = run_command(["lib", "list", "--format", "json"])
68-
assert res.ok
69-
data = json.loads(res.stdout)
70-
installed_libraries = [l["library"]["name"] for l in data]
71-
assert "MD_Parola" in installed_libraries
72-
assert "MD_MAX72XX" in installed_libraries
73-
74-
# Try upgrading with --no-overwrite (should fail) and without --no-overwrite (should succeed)
75-
res = run_command(["lib", "install", "MD_Parola@3.6.1", "--no-overwrite"])
76-
assert res.failed
77-
assert run_command(["lib", "install", "MD_Parola@3.6.1"])
78-
79-
# Test --no-overwrite with transitive dependencies
80-
assert run_command(["lib", "install", "SD"])
81-
assert run_command(["lib", "install", "Arduino_Builtin", "--no-overwrite"])
82-
assert run_command(["lib", "install", "SD@1.2.3"])
83-
res = run_command(["lib", "install", "Arduino_Builtin", "--no-overwrite"])
84-
assert res.failed
85-
86-
8752
def test_install_no_deps(run_command):
8853
assert run_command(["update"])
8954

0 commit comments

Comments
 (0)