Skip to content

Commit 36a4190

Browse files
Fix user network config being ignored in package manger operations (#2889)
* packagemanager: add test downloader config * packagemanager: fix missing downloaderConfig passing During the `Build()` we forgot to pass the pmb downloaderConfig property
1 parent bb4e6f4 commit 36a4190

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

Diff for: internal/arduino/cores/packagemanager/package_manager.go

+1
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ func (pmb *Builder) Build() *PackageManager {
124124
profile: pmb.profile,
125125
discoveryManager: pmb.discoveryManager,
126126
userAgent: pmb.userAgent,
127+
downloaderConfig: pmb.downloaderConfig,
127128
}
128129
}
129130

Diff for: internal/arduino/cores/packagemanager/package_manager_test.go

+19
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ package packagemanager
1717

1818
import (
1919
"fmt"
20+
"net/http"
2021
"net/url"
2122
"os"
2223
"runtime"
@@ -29,6 +30,7 @@ import (
2930
"github.com/arduino/go-properties-orderedmap"
3031
"github.com/stretchr/testify/require"
3132
"go.bug.st/downloader/v2"
33+
"go.bug.st/f"
3234
semver "go.bug.st/relaxed-semver"
3335
)
3436

@@ -1025,3 +1027,20 @@ func TestRunScript(t *testing.T) {
10251027
})
10261028
}
10271029
}
1030+
1031+
func TestCorrectlyUsesDownloaderConfig(t *testing.T) {
1032+
proxyURL := f.Must(url.Parse("http://proxy:[email protected]/404:42"))
1033+
1034+
downloaderCfg := downloader.Config{
1035+
HttpClient: http.Client{
1036+
Transport: &http.Transport{
1037+
Proxy: http.ProxyURL(proxyURL),
1038+
},
1039+
Timeout: 123,
1040+
},
1041+
}
1042+
pmb := NewBuilder(customHardware, customHardware, nil, customHardware, customHardware, "test", downloaderCfg)
1043+
pmb.LoadHardwareFromDirectory(customHardware)
1044+
pm := pmb.Build()
1045+
require.Equal(t, downloaderCfg, pm.downloaderConfig)
1046+
}

0 commit comments

Comments
 (0)