Browse Source

Stabilize swift tests

DarthSim 3 years ago
parent
commit
8887008d5a
1 changed files with 14 additions and 7 deletions
  1. 14 7
      transport/swift/swift_test.go

+ 14 - 7
transport/swift/swift_test.go

@@ -8,11 +8,12 @@ import (
 	"path/filepath"
 	"path/filepath"
 	"testing"
 	"testing"
 
 
-	"github.com/imgproxy/imgproxy/v3/config"
 	"github.com/ncw/swift/v2"
 	"github.com/ncw/swift/v2"
 	"github.com/ncw/swift/v2/swifttest"
 	"github.com/ncw/swift/v2/swifttest"
 	"github.com/stretchr/testify/assert"
 	"github.com/stretchr/testify/assert"
 	"github.com/stretchr/testify/suite"
 	"github.com/stretchr/testify/suite"
+
+	"github.com/imgproxy/imgproxy/v3/config"
 )
 )
 
 
 const (
 const (
@@ -24,6 +25,7 @@ type SwiftTestSuite struct {
 	suite.Suite
 	suite.Suite
 	server    *swifttest.SwiftServer
 	server    *swifttest.SwiftServer
 	transport http.RoundTripper
 	transport http.RoundTripper
+	etag      string
 }
 }
 
 
 func (s *SwiftTestSuite) SetupSuite() {
 func (s *SwiftTestSuite) SetupSuite() {
@@ -41,7 +43,6 @@ func (s *SwiftTestSuite) SetupSuite() {
 	var err error
 	var err error
 	s.transport, err = New()
 	s.transport, err = New()
 	assert.Nil(s.T(), err, "failed to initialize swift transport")
 	assert.Nil(s.T(), err, "failed to initialize swift transport")
-	assert.IsType(s.T(), transport{}, s.transport)
 }
 }
 
 
 func (s *SwiftTestSuite) setupTestFile() {
 func (s *SwiftTestSuite) setupTestFile() {
@@ -72,9 +73,15 @@ func (s *SwiftTestSuite) setupTestFile() {
 	data, err := ioutil.ReadFile(filepath.Join(wd, "..", "..", "testdata", "test1.png"))
 	data, err := ioutil.ReadFile(filepath.Join(wd, "..", "..", "testdata", "test1.png"))
 	assert.Nil(t, err, "failed to read testdata/test1.png")
 	assert.Nil(t, err, "failed to read testdata/test1.png")
 
 
-	b, err := f.Write(data)
-	assert.Greater(t, b, 100)
+	n, err := f.Write(data)
+	assert.Equal(t, n, len(data))
+	assert.Nil(t, err)
+
+	f.Close()
+
+	h, err := f.Headers()
 	assert.Nil(t, err)
 	assert.Nil(t, err)
+	s.etag = h["Etag"]
 }
 }
 
 
 func (s *SwiftTestSuite) TearDownSuite() {
 func (s *SwiftTestSuite) TearDownSuite() {
@@ -97,14 +104,14 @@ func (s *SwiftTestSuite) TestRoundTripWithETagEnabled() {
 	response, err := s.transport.RoundTrip(request)
 	response, err := s.transport.RoundTrip(request)
 	assert.Nil(s.T(), err)
 	assert.Nil(s.T(), err)
 	assert.Equal(s.T(), 200, response.StatusCode)
 	assert.Equal(s.T(), 200, response.StatusCode)
-	assert.Equal(s.T(), "e27ca34142be8e55220e44155c626cd0", response.Header.Get("ETag"))
+	assert.Equal(s.T(), s.etag, response.Header.Get("ETag"))
 }
 }
 
 
 func (s *SwiftTestSuite) TestRoundTripWithIfNoneMatchReturns304() {
 func (s *SwiftTestSuite) TestRoundTripWithIfNoneMatchReturns304() {
 	config.ETagEnabled = true
 	config.ETagEnabled = true
 
 
 	request, _ := http.NewRequest("GET", "swift://test/foo/test.png", nil)
 	request, _ := http.NewRequest("GET", "swift://test/foo/test.png", nil)
-	request.Header.Set("If-None-Match", "e27ca34142be8e55220e44155c626cd0")
+	request.Header.Set("If-None-Match", s.etag)
 
 
 	response, err := s.transport.RoundTrip(request)
 	response, err := s.transport.RoundTrip(request)
 	assert.Nil(s.T(), err)
 	assert.Nil(s.T(), err)
@@ -115,7 +122,7 @@ func (s *SwiftTestSuite) TestRoundTripWithUpdatedETagReturns200() {
 	config.ETagEnabled = true
 	config.ETagEnabled = true
 
 
 	request, _ := http.NewRequest("GET", "swift://test/foo/test.png", nil)
 	request, _ := http.NewRequest("GET", "swift://test/foo/test.png", nil)
-	request.Header.Set("If-None-Match", "foobar")
+	request.Header.Set("If-None-Match", s.etag+"_wrong")
 
 
 	response, err := s.transport.RoundTrip(request)
 	response, err := s.transport.RoundTrip(request)
 	assert.Nil(s.T(), err)
 	assert.Nil(s.T(), err)