mirror of
https://github.com/imgproxy/imgproxy.git
synced 2025-02-12 11:46:10 +02:00
Use custom HTTP client with Azure; Fix Azure transport tests
This commit is contained in:
parent
4f43f2ca23
commit
3b252b83e4
@ -10,6 +10,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
|
||||||
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
|
||||||
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
|
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
|
||||||
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
|
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
|
||||||
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob"
|
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob"
|
||||||
@ -17,6 +18,7 @@ import (
|
|||||||
|
|
||||||
"github.com/imgproxy/imgproxy/v3/config"
|
"github.com/imgproxy/imgproxy/v3/config"
|
||||||
"github.com/imgproxy/imgproxy/v3/httprange"
|
"github.com/imgproxy/imgproxy/v3/httprange"
|
||||||
|
defaultTransport "github.com/imgproxy/imgproxy/v3/transport"
|
||||||
"github.com/imgproxy/imgproxy/v3/transport/notmodified"
|
"github.com/imgproxy/imgproxy/v3/transport/notmodified"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -46,20 +48,31 @@ func New() (http.RoundTripper, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
trans, err := defaultTransport.New(false)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
opts := azblob.ClientOptions{
|
||||||
|
ClientOptions: policy.ClientOptions{
|
||||||
|
Transport: &http.Client{Transport: trans},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
if len(config.ABSKey) > 0 {
|
if len(config.ABSKey) > 0 {
|
||||||
sharedKeyCredential, err = azblob.NewSharedKeyCredential(config.ABSName, config.ABSKey)
|
sharedKeyCredential, err = azblob.NewSharedKeyCredential(config.ABSName, config.ABSKey)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
client, err = azblob.NewClientWithSharedKeyCredential(endpointURL.String(), sharedKeyCredential, nil)
|
client, err = azblob.NewClientWithSharedKeyCredential(endpointURL.String(), sharedKeyCredential, &opts)
|
||||||
} else {
|
} else {
|
||||||
defaultAzureCredential, err = azidentity.NewDefaultAzureCredential(nil)
|
defaultAzureCredential, err = azidentity.NewDefaultAzureCredential(nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
client, err = azblob.NewClient(endpointURL.String(), defaultAzureCredential, nil)
|
client, err = azblob.NewClient(endpointURL.String(), defaultAzureCredential, &opts)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -28,10 +28,12 @@ func (s *AzureTestSuite) SetupSuite() {
|
|||||||
|
|
||||||
logrus.SetOutput(os.Stdout)
|
logrus.SetOutput(os.Stdout)
|
||||||
|
|
||||||
|
config.IgnoreSslVerification = true
|
||||||
|
|
||||||
s.etag = "testetag"
|
s.etag = "testetag"
|
||||||
s.lastModified, _ = time.Parse(http.TimeFormat, "Wed, 21 Oct 2015 07:28:00 GMT")
|
s.lastModified, _ = time.Parse(http.TimeFormat, "Wed, 21 Oct 2015 07:28:00 GMT")
|
||||||
|
|
||||||
s.server = httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) {
|
s.server = httptest.NewTLSServer(http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) {
|
||||||
require.Equal(s.T(), "/test/foo/test.png", r.URL.Path)
|
require.Equal(s.T(), "/test/foo/test.png", r.URL.Path)
|
||||||
|
|
||||||
rw.Header().Set("Etag", s.etag)
|
rw.Header().Set("Etag", s.etag)
|
||||||
@ -52,6 +54,7 @@ func (s *AzureTestSuite) SetupSuite() {
|
|||||||
|
|
||||||
func (s *AzureTestSuite) TearDownSuite() {
|
func (s *AzureTestSuite) TearDownSuite() {
|
||||||
s.server.Close()
|
s.server.Close()
|
||||||
|
config.IgnoreSslVerification = false
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *AzureTestSuite) TestRoundTripWithETagDisabledReturns200() {
|
func (s *AzureTestSuite) TestRoundTripWithETagDisabledReturns200() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user