From e73267c7200db61353cf28a3649da74057d598e4 Mon Sep 17 00:00:00 2001 From: Alessio Perugini Date: Mon, 14 Apr 2025 07:57:56 +0200 Subject: [PATCH 1/2] packagemanager: add test downloader config --- .../packagemanager/package_manager_test.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/internal/arduino/cores/packagemanager/package_manager_test.go b/internal/arduino/cores/packagemanager/package_manager_test.go index 92530af6dc3..daef6987191 100644 --- a/internal/arduino/cores/packagemanager/package_manager_test.go +++ b/internal/arduino/cores/packagemanager/package_manager_test.go @@ -17,6 +17,7 @@ package packagemanager import ( "fmt" + "net/http" "net/url" "os" "runtime" @@ -29,6 +30,7 @@ import ( "github.com/arduino/go-properties-orderedmap" "github.com/stretchr/testify/require" "go.bug.st/downloader/v2" + "go.bug.st/f" semver "go.bug.st/relaxed-semver" ) @@ -1025,3 +1027,20 @@ func TestRunScript(t *testing.T) { }) } } + +func TestCorrectlyUsesDownloaderConfig(t *testing.T) { + proxyURL := f.Must(url.Parse("http://proxy:test@test.test/404:42")) + + downloaderCfg := downloader.Config{ + HttpClient: http.Client{ + Transport: &http.Transport{ + Proxy: http.ProxyURL(proxyURL), + }, + Timeout: 123, + }, + } + pmb := NewBuilder(customHardware, customHardware, nil, customHardware, customHardware, "test", downloaderCfg) + pmb.LoadHardwareFromDirectory(customHardware) + pm := pmb.Build() + require.Equal(t, downloaderCfg, pm.downloaderConfig) +} From 07bfeeffd43f5889a6b04ce3579f75ae78f6cc8f Mon Sep 17 00:00:00 2001 From: Alessio Perugini Date: Mon, 14 Apr 2025 07:58:18 +0200 Subject: [PATCH 2/2] packagemanager: fix missing downloaderConfig passing During the `Build()` we forgot to pass the pmb downloaderConfig property --- internal/arduino/cores/packagemanager/package_manager.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/arduino/cores/packagemanager/package_manager.go b/internal/arduino/cores/packagemanager/package_manager.go index d24ee377606..deb14931053 100644 --- a/internal/arduino/cores/packagemanager/package_manager.go +++ b/internal/arduino/cores/packagemanager/package_manager.go @@ -124,6 +124,7 @@ func (pmb *Builder) Build() *PackageManager { profile: pmb.profile, discoveryManager: pmb.discoveryManager, userAgent: pmb.userAgent, + downloaderConfig: pmb.downloaderConfig, } }