Skip to content

Commit a20baae

Browse files
Migrate TestLibExamplesWithCaseMismatch from test_lib.py to lib_test.go
1 parent 53a2768 commit a20baae

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
@@ -1024,3 +1024,41 @@ func TestLibExamplesWithPdeFile(t *testing.T) {
10241024
require.Contains(t, examples, cli.SketchbookDir().Join("libraries", "Encoder", "examples", "SpeedTest").String())
10251025
require.Contains(t, examples, cli.SketchbookDir().Join("libraries", "Encoder", "examples", "TwoKnobs").String())
10261026
}
1027+
1028+
func TestLibExamplesWithCaseMismatch(t *testing.T) {
1029+
env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t)
1030+
defer env.CleanUp()
1031+
1032+
_, _, err := cli.Run("update")
1033+
require.NoError(t, err)
1034+
1035+
_, _, err = cli.Run("lib", "install", "[email protected]")
1036+
require.NoError(t, err)
1037+
1038+
stdout, _, err := cli.Run("lib", "examples", "WiFiManager", "--format", "json")
1039+
require.NoError(t, err)
1040+
requirejson.Len(t, stdout, 1)
1041+
requirejson.Query(t, stdout, ".[0] | .examples | length", "14")
1042+
1043+
examples := requirejson.Parse(t, stdout).Query(".[0] | .examples").String()
1044+
examples = strings.ReplaceAll(examples, "\\\\", "\\")
1045+
examplesPath := cli.SketchbookDir().Join("libraries", "WiFiManager", "examples")
1046+
// Verifies sketches with correct casing are listed
1047+
require.Contains(t, examples, examplesPath.Join("Advanced").String())
1048+
require.Contains(t, examples, examplesPath.Join("AutoConnect", "AutoConnectWithFeedbackLED").String())
1049+
require.Contains(t, examples, examplesPath.Join("AutoConnect", "AutoConnectWithFSParameters").String())
1050+
require.Contains(t, examples, examplesPath.Join("AutoConnect", "AutoConnectWithFSParametersAndCustomIP").String())
1051+
require.Contains(t, examples, examplesPath.Join("Basic").String())
1052+
require.Contains(t, examples, examplesPath.Join("DEV", "OnDemandConfigPortal").String())
1053+
require.Contains(t, examples, examplesPath.Join("NonBlocking", "AutoConnectNonBlocking").String())
1054+
require.Contains(t, examples, examplesPath.Join("NonBlocking", "AutoConnectNonBlockingwParams").String())
1055+
require.Contains(t, examples, examplesPath.Join("Old_examples", "AutoConnectWithFeedback").String())
1056+
require.Contains(t, examples, examplesPath.Join("Old_examples", "AutoConnectWithReset").String())
1057+
require.Contains(t, examples, examplesPath.Join("Old_examples", "AutoConnectWithStaticIP").String())
1058+
require.Contains(t, examples, examplesPath.Join("Old_examples", "AutoConnectWithTimeout").String())
1059+
require.Contains(t, examples, examplesPath.Join("OnDemand", "OnDemandConfigPortal").String())
1060+
require.Contains(t, examples, examplesPath.Join("ParamsChildClass").String())
1061+
// Verifies sketches with wrong casing are not returned
1062+
require.NotContains(t, examples, examplesPath.Join("NonBlocking", "OnDemandNonBlocking").String())
1063+
require.NotContains(t, examples, examplesPath.Join("OnDemand", "OnDemandWebPortal").String())
1064+
}

test/test_lib.py

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -206,41 +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_lib_examples_with_case_mismatch(run_command, data_dir):
210-
assert run_command(["update"])
211-
212-
assert run_command(["lib", "install", "[email protected]"])
213-
214-
res = run_command(["lib", "examples", "WiFiManager", "--format", "json"])
215-
assert res.ok
216-
data = json.loads(res.stdout)
217-
assert len(data) == 1
218-
examples = data[0]["examples"]
219-
220-
assert len(examples) == 14
221-
222-
examples_path = Path(data_dir, "libraries", "WiFiManager", "examples")
223-
# Verifies sketches with correct casing are listed
224-
assert str(examples_path / "Advanced") in examples
225-
assert str(examples_path / "AutoConnect" / "AutoConnectWithFeedbackLED") in examples
226-
assert str(examples_path / "AutoConnect" / "AutoConnectWithFSParameters") in examples
227-
assert str(examples_path / "AutoConnect" / "AutoConnectWithFSParametersAndCustomIP") in examples
228-
assert str(examples_path / "Basic") in examples
229-
assert str(examples_path / "DEV" / "OnDemandConfigPortal") in examples
230-
assert str(examples_path / "NonBlocking" / "AutoConnectNonBlocking") in examples
231-
assert str(examples_path / "NonBlocking" / "AutoConnectNonBlockingwParams") in examples
232-
assert str(examples_path / "Old_examples" / "AutoConnectWithFeedback") in examples
233-
assert str(examples_path / "Old_examples" / "AutoConnectWithReset") in examples
234-
assert str(examples_path / "Old_examples" / "AutoConnectWithStaticIP") in examples
235-
assert str(examples_path / "Old_examples" / "AutoConnectWithTimeout") in examples
236-
assert str(examples_path / "OnDemand" / "OnDemandConfigPortal") in examples
237-
assert str(examples_path / "ParamsChildClass") in examples
238-
239-
# Verifies sketches with wrong casing are not returned
240-
assert str(examples_path / "NonBlocking" / "OnDemandNonBlocking") not in examples
241-
assert str(examples_path / "OnDemand" / "OnDemandWebPortal") not in examples
242-
243-
244209
def test_lib_list_using_library_with_invalid_version(run_command, data_dir):
245210
assert run_command(["update"])
246211

0 commit comments

Comments
 (0)