Skip to content

Commit 76d3dd3

Browse files
Migrate TestInstallZipLibWithMacosMetadata from test_lib.py to lib_test.go
1 parent e7c13a8 commit 76d3dd3

File tree

3 files changed

+37
-36
lines changed

3 files changed

+37
-36
lines changed

internal/integrationtest/lib/lib_test.go

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1101,3 +1101,40 @@ func TestLibCommandsWithLibraryHavingInvalidVersion(t *testing.T) {
11011101
requirejson.Len(t, stdout, 1)
11021102
requirejson.Query(t, stdout, ".[0] | .library | .version != \"\"", "true")
11031103
}
1104+
1105+
func TestInstallZipLibWithMacosMetadata(t *testing.T) {
1106+
env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t)
1107+
defer env.CleanUp()
1108+
1109+
// Initialize configs to enable --zip-path flag
1110+
envVar := cli.GetDefaultEnv()
1111+
envVar["ARDUINO_ENABLE_UNSAFE_LIBRARY_INSTALL"] = "true"
1112+
_, _, err := cli.RunWithCustomEnv(envVar, "config", "init", "--dest-dir", ".")
1113+
require.NoError(t, err)
1114+
1115+
libInstallDir := cli.SketchbookDir().Join("libraries", "fake-lib")
1116+
// Verifies library is not already installed
1117+
require.NoDirExists(t, libInstallDir.String())
1118+
1119+
wd, err := paths.Getwd()
1120+
require.NoError(t, err)
1121+
zipPath := wd.Parent().Join("testdata", "fake-lib.zip")
1122+
// Test zip-path install
1123+
stdout, _, err := cli.Run("lib", "install", "--zip-path", zipPath.String())
1124+
require.NoError(t, err)
1125+
require.Contains(t, string(stdout), "--git-url and --zip-path flags allow installing untrusted files, use it at your own risk.")
1126+
1127+
// Verifies library is installed in expected path
1128+
require.DirExists(t, libInstallDir.String())
1129+
require.FileExists(t, libInstallDir.Join("library.properties").String())
1130+
require.FileExists(t, libInstallDir.Join("src", "fake-lib.h").String())
1131+
1132+
// Reinstall library
1133+
_, _, err = cli.Run("lib", "install", "--zip-path", zipPath.String())
1134+
require.NoError(t, err)
1135+
1136+
// Verifies library remains installed
1137+
require.DirExists(t, libInstallDir.String())
1138+
require.FileExists(t, libInstallDir.Join("library.properties").String())
1139+
require.FileExists(t, libInstallDir.Join("src", "fake-lib.h").String())
1140+
}

test/test_lib.py

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -206,42 +206,6 @@ def test_install_with_zip_path_multiple_libraries(run_command, downloads_dir, da
206206
assert ble_install_dir.exists()
207207

208208

209-
def test_install_zip_lib_with_macos_metadata(run_command, data_dir, downloads_dir):
210-
# Initialize configs to enable --zip-path flag
211-
env = {
212-
"ARDUINO_DATA_DIR": data_dir,
213-
"ARDUINO_DOWNLOADS_DIR": downloads_dir,
214-
"ARDUINO_SKETCHBOOK_DIR": data_dir,
215-
"ARDUINO_ENABLE_UNSAFE_LIBRARY_INSTALL": "true",
216-
}
217-
assert run_command(["config", "init", "--dest-dir", "."], custom_env=env)
218-
219-
lib_install_dir = Path(data_dir, "libraries", "fake-lib")
220-
# Verifies library is not already installed
221-
assert not lib_install_dir.exists()
222-
223-
zip_path = Path(__file__).parent / "testdata" / "fake-lib.zip"
224-
# Test zip-path install
225-
res = run_command(["lib", "install", "--zip-path", zip_path])
226-
assert res.ok
227-
assert "--git-url and --zip-path flags allow installing untrusted files, use it at your own risk." in res.stdout
228-
229-
# Verifies library is installed in expected path
230-
assert lib_install_dir.exists()
231-
files = list(lib_install_dir.glob("**/*"))
232-
assert lib_install_dir / "library.properties" in files
233-
assert lib_install_dir / "src" / "fake-lib.h" in files
234-
235-
# Reinstall library
236-
assert run_command(["lib", "install", "--zip-path", zip_path])
237-
238-
# Verifies library remains installed
239-
assert lib_install_dir.exists()
240-
files = list(lib_install_dir.glob("**/*"))
241-
assert lib_install_dir / "library.properties" in files
242-
assert lib_install_dir / "src" / "fake-lib.h" in files
243-
244-
245209
def test_install_zip_invalid_library(run_command, data_dir, downloads_dir):
246210
# Initialize configs to enable --zip-path flag
247211
env = {

0 commit comments

Comments
 (0)