mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-05-05 22:08:27 +00:00
Update vendored deps, including AWS SDK, openpgp, ftp, ...
This commit is contained in:
16
vendor/github.com/aws/aws-sdk-go/awstesting/assert.go
generated
vendored
16
vendor/github.com/aws/aws-sdk-go/awstesting/assert.go
generated
vendored
@@ -125,6 +125,22 @@ func AssertXML(t *testing.T, expect, actual string, container interface{}, msgAn
|
||||
return equal(t, expectVal, actualVal, msgAndArgs...)
|
||||
}
|
||||
|
||||
// DidPanic returns if the function paniced and returns true if the function paniced.
|
||||
func DidPanic(fn func()) (bool, interface{}) {
|
||||
var paniced bool
|
||||
var msg interface{}
|
||||
func() {
|
||||
defer func() {
|
||||
if msg = recover(); msg != nil {
|
||||
paniced = true
|
||||
}
|
||||
}()
|
||||
fn()
|
||||
}()
|
||||
|
||||
return paniced, msg
|
||||
}
|
||||
|
||||
// objectsAreEqual determines if two objects are considered equal.
|
||||
//
|
||||
// This function does no assertion of any kind.
|
||||
|
||||
@@ -1,82 +1,42 @@
|
||||
// +build integration
|
||||
|
||||
// Package s3_test runs integration tests for S3
|
||||
package s3_test
|
||||
// Package s3 runs integration tests for S3
|
||||
package s3
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"os"
|
||||
"reflect"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/awstesting/integration"
|
||||
"github.com/aws/aws-sdk-go/service/s3"
|
||||
)
|
||||
|
||||
var bucketName *string
|
||||
var svc *s3.S3
|
||||
|
||||
func TestMain(m *testing.M) {
|
||||
setup()
|
||||
defer teardown() // only called if we panic
|
||||
result := m.Run()
|
||||
teardown()
|
||||
os.Exit(result)
|
||||
}
|
||||
|
||||
// Create a bucket for testing
|
||||
func setup() {
|
||||
svc = s3.New(integration.Session)
|
||||
bucketName = aws.String(
|
||||
fmt.Sprintf("aws-sdk-go-integration-%d-%s", time.Now().Unix(), integration.UniqueID()))
|
||||
|
||||
for i := 0; i < 10; i++ {
|
||||
_, err := svc.CreateBucket(&s3.CreateBucketInput{Bucket: bucketName})
|
||||
if err == nil {
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
for {
|
||||
_, err := svc.HeadBucket(&s3.HeadBucketInput{Bucket: bucketName})
|
||||
if err == nil {
|
||||
break
|
||||
}
|
||||
time.Sleep(1 * time.Second)
|
||||
}
|
||||
}
|
||||
|
||||
// Delete the bucket
|
||||
func teardown() {
|
||||
resp, _ := svc.ListObjects(&s3.ListObjectsInput{Bucket: bucketName})
|
||||
for _, o := range resp.Contents {
|
||||
svc.DeleteObject(&s3.DeleteObjectInput{Bucket: bucketName, Key: o.Key})
|
||||
}
|
||||
svc.DeleteBucket(&s3.DeleteBucketInput{Bucket: bucketName})
|
||||
}
|
||||
|
||||
func TestWriteToObject(t *testing.T) {
|
||||
_, err := svc.PutObject(&s3.PutObjectInput{
|
||||
Bucket: bucketName,
|
||||
Key: aws.String("key name"),
|
||||
Body: bytes.NewReader([]byte("hello world")),
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
if err != nil {
|
||||
t.Errorf("expect no error, got %v", err)
|
||||
}
|
||||
|
||||
resp, err := svc.GetObject(&s3.GetObjectInput{
|
||||
Bucket: bucketName,
|
||||
Key: aws.String("key name"),
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
if err != nil {
|
||||
t.Errorf("expect no error, got %v", err)
|
||||
}
|
||||
|
||||
b, _ := ioutil.ReadAll(resp.Body)
|
||||
assert.Equal(t, []byte("hello world"), b)
|
||||
if e, a := []byte("hello world"), b; !reflect.DeepEqual(e, a) {
|
||||
t.Errorf("expect %v, got %v", e, a)
|
||||
}
|
||||
}
|
||||
|
||||
func TestPresignedGetPut(t *testing.T) {
|
||||
@@ -89,18 +49,26 @@ func TestPresignedGetPut(t *testing.T) {
|
||||
// Presign a PUT request
|
||||
var puturl string
|
||||
puturl, err = putreq.Presign(300 * time.Second)
|
||||
assert.NoError(t, err)
|
||||
if err != nil {
|
||||
t.Errorf("expect no error, got %v", err)
|
||||
}
|
||||
|
||||
// PUT to the presigned URL with a body
|
||||
var puthttpreq *http.Request
|
||||
buf := bytes.NewReader([]byte("hello world"))
|
||||
puthttpreq, err = http.NewRequest("PUT", puturl, buf)
|
||||
assert.NoError(t, err)
|
||||
if err != nil {
|
||||
t.Errorf("expect no error, got %v", err)
|
||||
}
|
||||
|
||||
var putresp *http.Response
|
||||
putresp, err = http.DefaultClient.Do(puthttpreq)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, 200, putresp.StatusCode)
|
||||
if err != nil {
|
||||
t.Errorf("expect put with presign url no error, got %v", err)
|
||||
}
|
||||
if e, a := 200, putresp.StatusCode; e != a {
|
||||
t.Errorf("expect %v, got %v", e, a)
|
||||
}
|
||||
|
||||
// Presign a GET on the same URL
|
||||
getreq, _ := svc.GetObjectRequest(&s3.GetObjectInput{
|
||||
@@ -110,15 +78,21 @@ func TestPresignedGetPut(t *testing.T) {
|
||||
|
||||
var geturl string
|
||||
geturl, err = getreq.Presign(300 * time.Second)
|
||||
assert.NoError(t, err)
|
||||
if err != nil {
|
||||
t.Errorf("expect no error, got %v", err)
|
||||
}
|
||||
|
||||
// Get the body
|
||||
var getresp *http.Response
|
||||
getresp, err = http.Get(geturl)
|
||||
assert.NoError(t, err)
|
||||
if err != nil {
|
||||
t.Errorf("expect no error, got %v", err)
|
||||
}
|
||||
|
||||
var b []byte
|
||||
defer getresp.Body.Close()
|
||||
b, err = ioutil.ReadAll(getresp.Body)
|
||||
assert.Equal(t, "hello world", string(b))
|
||||
if e, a := "hello world", string(b); e != a {
|
||||
t.Errorf("expect %v, got %v", e, a)
|
||||
}
|
||||
}
|
||||
|
||||
102
vendor/github.com/aws/aws-sdk-go/awstesting/integration/customizations/s3/object_checksum_test.go
generated
vendored
Normal file
102
vendor/github.com/aws/aws-sdk-go/awstesting/integration/customizations/s3/object_checksum_test.go
generated
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
// +build integration
|
||||
|
||||
package s3
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"crypto/md5"
|
||||
"encoding/base64"
|
||||
"fmt"
|
||||
"io"
|
||||
"testing"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/service/s3"
|
||||
)
|
||||
|
||||
func base64Sum(content []byte) string {
|
||||
sum := md5.Sum(content)
|
||||
return base64.StdEncoding.EncodeToString(sum[:])
|
||||
}
|
||||
|
||||
func SkipTestContentMD5Validate(t *testing.T) {
|
||||
body := []byte("really cool body content")
|
||||
|
||||
cases := []struct {
|
||||
Name string
|
||||
Body []byte
|
||||
Sum64 string
|
||||
RangeGet []int64
|
||||
}{
|
||||
{
|
||||
Body: body,
|
||||
Sum64: base64Sum(body),
|
||||
Name: "contentMD5validation.pop",
|
||||
},
|
||||
{
|
||||
Body: []byte{},
|
||||
Sum64: base64Sum([]byte{}),
|
||||
Name: "contentMD5validation.empty",
|
||||
},
|
||||
{
|
||||
Body: body,
|
||||
Sum64: base64Sum(body),
|
||||
RangeGet: []int64{0, 9},
|
||||
Name: "contentMD5validation.range",
|
||||
},
|
||||
}
|
||||
|
||||
for i, c := range cases {
|
||||
keyName := aws.String(c.Name)
|
||||
req, _ := svc.PutObjectRequest(&s3.PutObjectInput{
|
||||
Bucket: bucketName,
|
||||
Key: keyName,
|
||||
Body: bytes.NewReader(c.Body),
|
||||
})
|
||||
|
||||
req.Build()
|
||||
if e, a := c.Sum64, req.HTTPRequest.Header.Get("Content-Md5"); e != a {
|
||||
t.Errorf("%d, expect %v sum, got %v", i, e, a)
|
||||
}
|
||||
|
||||
if err := req.Send(); err != nil {
|
||||
t.Fatalf("%d, expect no error, got %v", i, err)
|
||||
}
|
||||
|
||||
getObjIn := &s3.GetObjectInput{
|
||||
Bucket: bucketName,
|
||||
Key: keyName,
|
||||
}
|
||||
|
||||
expectBody := c.Body
|
||||
if c.RangeGet != nil {
|
||||
getObjIn.Range = aws.String(fmt.Sprintf("bytes=%d-%d", c.RangeGet[0], c.RangeGet[1]-1))
|
||||
expectBody = c.Body[c.RangeGet[0]:c.RangeGet[1]]
|
||||
}
|
||||
|
||||
getReq, getOut := svc.GetObjectRequest(getObjIn)
|
||||
|
||||
getReq.Build()
|
||||
if e, a := "append-md5", getReq.HTTPRequest.Header.Get("X-Amz-Te"); e != a {
|
||||
t.Errorf("%d, expect %v encoding, got %v", i, e, a)
|
||||
}
|
||||
if err := getReq.Send(); err != nil {
|
||||
t.Fatalf("%d, expect no error, got %v", i, err)
|
||||
}
|
||||
defer getOut.Body.Close()
|
||||
|
||||
if e, a := "append-md5", getReq.HTTPResponse.Header.Get("X-Amz-Transfer-Encoding"); e != a {
|
||||
t.Fatalf("%d, expect response tx encoding header %v, got %v", i, e, a)
|
||||
}
|
||||
|
||||
var readBody bytes.Buffer
|
||||
_, err := io.Copy(&readBody, getOut.Body)
|
||||
if err != nil {
|
||||
t.Fatalf("%d, expect no error, got %v", i, err)
|
||||
}
|
||||
|
||||
if e, a := expectBody, readBody.Bytes(); !bytes.Equal(e, a) {
|
||||
t.Errorf("%d, expect %v body, got %v", i, e, a)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11,7 +11,6 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/gucumber/gucumber"
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/session"
|
||||
@@ -31,7 +30,9 @@ func init() {
|
||||
Bucket: aws.String(bucket),
|
||||
Prefix: aws.String(baseFolder + "/" + prefix),
|
||||
})
|
||||
assert.NoError(gucumber.T, err)
|
||||
if err != nil {
|
||||
gucumber.T.Errorf("expect no error, got %v", err)
|
||||
}
|
||||
|
||||
plaintexts := make(map[string][]byte)
|
||||
for _, obj := range out.Contents {
|
||||
@@ -40,10 +41,14 @@ func init() {
|
||||
Bucket: aws.String(bucket),
|
||||
Key: plaintextKey,
|
||||
})
|
||||
assert.NoError(gucumber.T, err)
|
||||
if err != nil {
|
||||
gucumber.T.Errorf("expect no error, got %v", err)
|
||||
}
|
||||
caseKey := strings.TrimPrefix(*plaintextKey, baseFolder+"/"+prefix)
|
||||
plaintext, err := ioutil.ReadAll(ptObj.Body)
|
||||
assert.NoError(gucumber.T, err)
|
||||
if err != nil {
|
||||
gucumber.T.Errorf("expect no error, got %v", err)
|
||||
}
|
||||
|
||||
plaintexts[caseKey] = plaintext
|
||||
}
|
||||
@@ -84,10 +89,14 @@ func init() {
|
||||
Key: &cipherKey,
|
||||
},
|
||||
)
|
||||
assert.NoError(gucumber.T, err)
|
||||
if err != nil {
|
||||
gucumber.T.Errorf("expect no error, got %v", err)
|
||||
}
|
||||
|
||||
ciphertext, err := ioutil.ReadAll(ctObj.Body)
|
||||
assert.NoError(gucumber.T, err)
|
||||
if err != nil {
|
||||
gucumber.T.Errorf("expect no error, got %v", err)
|
||||
}
|
||||
ciphertexts[caseKey] = ciphertext
|
||||
}
|
||||
gucumber.World["decrypted"] = ciphertexts
|
||||
@@ -97,8 +106,12 @@ func init() {
|
||||
plaintexts := gucumber.World["plaintexts"].(map[string][]byte)
|
||||
ciphertexts := gucumber.World["decrypted"].(map[string][]byte)
|
||||
for caseKey, ciphertext := range ciphertexts {
|
||||
assert.Equal(gucumber.T, len(plaintexts[caseKey]), len(ciphertext))
|
||||
assert.True(gucumber.T, bytes.Equal(plaintexts[caseKey], ciphertext))
|
||||
if e, a := len(plaintexts[caseKey]), len(ciphertext); e != a {
|
||||
gucumber.T.Errorf("expect %v, got %v", e, a)
|
||||
}
|
||||
if e, a := plaintexts[caseKey], ciphertext; !bytes.Equal(e, a) {
|
||||
gucumber.T.Errorf("expect %v, got %v", e, a)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -108,16 +121,22 @@ func init() {
|
||||
switch kek {
|
||||
case "kms":
|
||||
arn, err := getAliasInformation(v1, v2)
|
||||
assert.Nil(gucumber.T, err)
|
||||
if err != nil {
|
||||
gucumber.T.Errorf("expect nil, got %v", nil)
|
||||
}
|
||||
|
||||
b64Arn := base64.StdEncoding.EncodeToString([]byte(arn))
|
||||
assert.Nil(gucumber.T, err)
|
||||
if err != nil {
|
||||
gucumber.T.Errorf("expect nil, got %v", nil)
|
||||
}
|
||||
gucumber.World["Masterkey"] = b64Arn
|
||||
|
||||
handler = s3crypto.NewKMSKeyGenerator(kms.New(session.New(&aws.Config{
|
||||
Region: &v2,
|
||||
})), arn)
|
||||
assert.Nil(gucumber.T, err)
|
||||
if err != nil {
|
||||
gucumber.T.Errorf("expect nil, got %v", nil)
|
||||
}
|
||||
default:
|
||||
gucumber.T.Skip()
|
||||
}
|
||||
@@ -157,7 +176,9 @@ func init() {
|
||||
}
|
||||
|
||||
_, err := c.PutObject(input)
|
||||
assert.Nil(gucumber.T, err)
|
||||
if err != nil {
|
||||
gucumber.T.Errorf("expect nil, got %v", nil)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -12,7 +12,6 @@ import (
|
||||
"regexp"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||
@@ -52,7 +51,7 @@ func setup() error {
|
||||
|
||||
// Create a bucket for testing
|
||||
bucketName = aws.String(
|
||||
fmt.Sprintf("aws-sdk-go-integration-%d-%s", time.Now().Unix(), integration.UniqueID()))
|
||||
fmt.Sprintf("aws-sdk-go-integration-%s", integration.UniqueID()))
|
||||
|
||||
_, err := svc.CreateBucket(&s3.CreateBucketInput{Bucket: bucketName})
|
||||
if err != nil {
|
||||
|
||||
67
vendor/github.com/aws/aws-sdk-go/awstesting/integration/customizations/s3/shared_test.go
generated
vendored
Normal file
67
vendor/github.com/aws/aws-sdk-go/awstesting/integration/customizations/s3/shared_test.go
generated
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
// +build integration
|
||||
|
||||
package s3
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/awstesting/integration"
|
||||
"github.com/aws/aws-sdk-go/service/s3"
|
||||
)
|
||||
|
||||
const integBucketPrefix = "aws-sdk-go-integration"
|
||||
|
||||
var bucketName *string
|
||||
var svc *s3.S3
|
||||
|
||||
func TestMain(m *testing.M) {
|
||||
setup()
|
||||
defer teardown() // only called if we panic
|
||||
|
||||
result := m.Run()
|
||||
teardown()
|
||||
os.Exit(result)
|
||||
}
|
||||
|
||||
// Create a bucket for testing
|
||||
func setup() {
|
||||
svc = s3.New(integration.Session)
|
||||
bucketName = aws.String(
|
||||
fmt.Sprintf("%s-%s",
|
||||
integBucketPrefix, integration.UniqueID()))
|
||||
|
||||
_, err := svc.CreateBucket(&s3.CreateBucketInput{Bucket: bucketName})
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("failed to create bucket %s, %v", *bucketName, err))
|
||||
}
|
||||
|
||||
err = svc.WaitUntilBucketExists(&s3.HeadBucketInput{Bucket: bucketName})
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("failed waiting for bucket %s to be created", *bucketName))
|
||||
}
|
||||
}
|
||||
|
||||
// Delete the bucket
|
||||
func teardown() {
|
||||
resp, err := svc.ListObjects(&s3.ListObjectsInput{Bucket: bucketName})
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("failed to list s3 bucket %s objects, %v", *bucketName, err))
|
||||
}
|
||||
|
||||
errs := []error{}
|
||||
for _, o := range resp.Contents {
|
||||
_, err = svc.DeleteObject(&s3.DeleteObjectInput{Bucket: bucketName, Key: o.Key})
|
||||
if err != nil {
|
||||
errs = append(errs, err)
|
||||
}
|
||||
}
|
||||
|
||||
if len(errs) != 0 {
|
||||
panic(fmt.Sprintf("failed to delete objects, %s", errs))
|
||||
}
|
||||
|
||||
svc.DeleteBucket(&s3.DeleteBucketInput{Bucket: bucketName})
|
||||
}
|
||||
7
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/autoscalingplans/autoscalingplans.feature
generated
vendored
Normal file
7
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/autoscalingplans/autoscalingplans.feature
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
# language: en
|
||||
@autoscalingplans @client
|
||||
Feature: AWS Auto Scaling Plans
|
||||
|
||||
Scenario: Making a request
|
||||
When I call the "DescribeScalingPlans" API
|
||||
Then the request should be successful
|
||||
16
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/autoscalingplans/client.go
generated
vendored
Normal file
16
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/autoscalingplans/client.go
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
// +build integration
|
||||
|
||||
//Package autoscalingplans provides gucumber integration tests support.
|
||||
package autoscalingplans
|
||||
|
||||
import (
|
||||
"github.com/aws/aws-sdk-go/awstesting/integration/smoke"
|
||||
"github.com/aws/aws-sdk-go/service/autoscalingplans"
|
||||
"github.com/gucumber/gucumber"
|
||||
)
|
||||
|
||||
func init() {
|
||||
gucumber.Before("@autoscalingplans", func() {
|
||||
gucumber.World["client"] = autoscalingplans.New(smoke.Session)
|
||||
})
|
||||
}
|
||||
16
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/cloudhsmv2/client.go
generated
vendored
Normal file
16
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/cloudhsmv2/client.go
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
// +build integration
|
||||
|
||||
//Package cloudhsmv2 provides gucumber integration tests support.
|
||||
package cloudhsmv2
|
||||
|
||||
import (
|
||||
"github.com/aws/aws-sdk-go/awstesting/integration/smoke"
|
||||
"github.com/aws/aws-sdk-go/service/cloudhsmv2"
|
||||
"github.com/gucumber/gucumber"
|
||||
)
|
||||
|
||||
func init() {
|
||||
gucumber.Before("@cloudhsmv2", func() {
|
||||
gucumber.World["client"] = cloudhsmv2.New(smoke.Session)
|
||||
})
|
||||
}
|
||||
7
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/cloudhsmv2/cloudhsmv2.feature
generated
vendored
Normal file
7
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/cloudhsmv2/cloudhsmv2.feature
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
# language: en
|
||||
@cloudhsmv2 @client
|
||||
Feature: Amazon CloudHSMv2
|
||||
|
||||
Scenario: Making a request
|
||||
When I call the "DescribeBackups" API
|
||||
Then the request should be successful
|
||||
16
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/mediastore/client.go
generated
vendored
Normal file
16
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/mediastore/client.go
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
// +build integration
|
||||
|
||||
//Package mediastore provides gucumber integration tests support.
|
||||
package mediastore
|
||||
|
||||
import (
|
||||
"github.com/aws/aws-sdk-go/awstesting/integration/smoke"
|
||||
"github.com/aws/aws-sdk-go/service/mediastore"
|
||||
"github.com/gucumber/gucumber"
|
||||
)
|
||||
|
||||
func init() {
|
||||
gucumber.Before("@mediastore", func() {
|
||||
gucumber.World["client"] = mediastore.New(smoke.Session)
|
||||
})
|
||||
}
|
||||
7
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/mediastore/mediastore.feature
generated
vendored
Normal file
7
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/mediastore/mediastore.feature
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
# language: en
|
||||
@mediastore @client
|
||||
Feature: AWS Elemental MediaStore
|
||||
|
||||
Scenario: Making a request
|
||||
When I call the "ListContainers" API
|
||||
Then the request should be successful
|
||||
34
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/mediastoredata/client.go
generated
vendored
Normal file
34
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/mediastoredata/client.go
generated
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
// +build integration
|
||||
|
||||
//Package mediastoredata provides gucumber integration tests support.
|
||||
package mediastoredata
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/awstesting/integration/smoke"
|
||||
"github.com/aws/aws-sdk-go/service/mediastore"
|
||||
"github.com/aws/aws-sdk-go/service/mediastoredata"
|
||||
"github.com/gucumber/gucumber"
|
||||
)
|
||||
|
||||
func init() {
|
||||
const containerName = "awsgosdkteamintegcontainer"
|
||||
|
||||
gucumber.Before("@mediastoredata", func() {
|
||||
mediastoreSvc := mediastore.New(smoke.Session)
|
||||
|
||||
resp, err := mediastoreSvc.DescribeContainer(&mediastore.DescribeContainerInput{
|
||||
ContainerName: aws.String(containerName),
|
||||
})
|
||||
if err != nil {
|
||||
gucumber.World["error"] = fmt.Errorf("failed to get mediastore container endpoint for test, %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
gucumber.World["client"] = mediastoredata.New(smoke.Session, &aws.Config{
|
||||
Endpoint: resp.Container.Endpoint,
|
||||
})
|
||||
})
|
||||
}
|
||||
7
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/mediastoredata/mediastoredata.feature
generated
vendored
Normal file
7
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/mediastoredata/mediastoredata.feature
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
# language: en
|
||||
@mediastoredata @client
|
||||
Feature: AWS Elemental MediaStore Data Plane
|
||||
|
||||
Scenario: Making a request
|
||||
When I call the "ListItems" API
|
||||
Then the request should be successful
|
||||
16
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/mobile/client.go
generated
vendored
Normal file
16
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/mobile/client.go
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
// +build integration
|
||||
|
||||
//Package mobile provides gucumber integration tests support.
|
||||
package mobile
|
||||
|
||||
import (
|
||||
"github.com/aws/aws-sdk-go/awstesting/integration/smoke"
|
||||
"github.com/aws/aws-sdk-go/service/mobile"
|
||||
"github.com/gucumber/gucumber"
|
||||
)
|
||||
|
||||
func init() {
|
||||
gucumber.Before("@mobile", func() {
|
||||
gucumber.World["client"] = mobile.New(smoke.Session)
|
||||
})
|
||||
}
|
||||
7
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/mobile/mobile.feature
generated
vendored
Normal file
7
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/mobile/mobile.feature
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
# language: en
|
||||
@mobile @client
|
||||
Feature: AWS Mobile
|
||||
|
||||
Scenario: Making a request
|
||||
When I call the "ListBundles" API
|
||||
Then the request should be successful
|
||||
16
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/sagemakerruntime/client.go
generated
vendored
Normal file
16
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/sagemakerruntime/client.go
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
// +build integration
|
||||
|
||||
//Package sagemakerruntime provides gucumber integration tests support.
|
||||
package sagemakerruntime
|
||||
|
||||
import (
|
||||
"github.com/aws/aws-sdk-go/awstesting/integration/smoke"
|
||||
"github.com/aws/aws-sdk-go/service/sagemakerruntime"
|
||||
"github.com/gucumber/gucumber"
|
||||
)
|
||||
|
||||
func init() {
|
||||
gucumber.Before("@sagemakerruntime", func() {
|
||||
gucumber.World["client"] = sagemakerruntime.New(smoke.Session)
|
||||
})
|
||||
}
|
||||
10
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/sagemakerruntime/sagemakerruntime.feature
generated
vendored
Normal file
10
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/sagemakerruntime/sagemakerruntime.feature
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
# language: en
|
||||
@sagemakerruntime @client
|
||||
Feature: Amazon SageMaker Runtime
|
||||
|
||||
Scenario: Making a request
|
||||
When I attempt to call the "InvokeEndpoint" API with JSON:
|
||||
"""
|
||||
{"EndpointName": "fake-endpoint", "Body": [123, 125]}
|
||||
"""
|
||||
Then I expect the response error code to be "ValidationError"
|
||||
86
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/shared.go
generated
vendored
86
vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/shared.go
generated
vendored
@@ -5,7 +5,6 @@ package smoke
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"os"
|
||||
"reflect"
|
||||
"regexp"
|
||||
@@ -13,7 +12,6 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/gucumber/gucumber"
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||
@@ -47,12 +45,16 @@ func init() {
|
||||
|
||||
gucumber.Then(`^the value at "(.+?)" should be a list$`, func(member string) {
|
||||
vals, _ := awsutil.ValuesAtPath(gucumber.World["response"], member)
|
||||
assert.NotNil(gucumber.T, vals)
|
||||
if vals == nil {
|
||||
gucumber.T.Errorf("expect not nil, was")
|
||||
}
|
||||
})
|
||||
|
||||
gucumber.Then(`^the response should contain a "(.+?)"$`, func(member string) {
|
||||
vals, _ := awsutil.ValuesAtPath(gucumber.World["response"], member)
|
||||
assert.NotEmpty(gucumber.T, vals)
|
||||
if len(vals) == 0 {
|
||||
gucumber.T.Errorf("expect values, got none")
|
||||
}
|
||||
})
|
||||
|
||||
gucumber.When(`^I attempt to call the "(.+?)" API with:$`, func(op string, args [][]string) {
|
||||
@@ -61,23 +63,33 @@ func init() {
|
||||
|
||||
gucumber.Then(`^I expect the response error code to be "(.+?)"$`, func(code string) {
|
||||
err, ok := gucumber.World["error"].(awserr.Error)
|
||||
assert.True(gucumber.T, ok, "no error returned")
|
||||
if !ok {
|
||||
gucumber.T.Errorf("no error returned")
|
||||
}
|
||||
if ok {
|
||||
assert.Equal(gucumber.T, code, err.Code(), "Error: %v", err)
|
||||
if e, a := code, err.Code(); e != a {
|
||||
gucumber.T.Errorf("Error: %v", err)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
gucumber.And(`^I expect the response error message to include:$`, func(data string) {
|
||||
err, ok := gucumber.World["error"].(awserr.Error)
|
||||
assert.True(gucumber.T, ok, "no error returned")
|
||||
if !ok {
|
||||
gucumber.T.Errorf("no error returned")
|
||||
}
|
||||
if ok {
|
||||
assert.Contains(gucumber.T, err.Error(), data)
|
||||
if a := err.Error(); len(a) == 0 {
|
||||
gucumber.T.Errorf("expect string length to be greater than zero")
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
gucumber.And(`^I expect the response error message to include one of:$`, func(table [][]string) {
|
||||
err, ok := gucumber.World["error"].(awserr.Error)
|
||||
assert.True(gucumber.T, ok, "no error returned")
|
||||
if !ok {
|
||||
gucumber.T.Errorf("no error returned")
|
||||
}
|
||||
if ok {
|
||||
found := false
|
||||
for _, row := range table {
|
||||
@@ -87,14 +99,20 @@ func init() {
|
||||
}
|
||||
}
|
||||
|
||||
assert.True(gucumber.T, found, fmt.Sprintf("no error messages matched: \"%s\"", err.Error()))
|
||||
if !found {
|
||||
gucumber.T.Errorf("no error messages matched: \"%s\"", err.Error())
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
gucumber.And(`^I expect the response error message not be empty$`, func() {
|
||||
err, ok := gucumber.World["error"].(awserr.Error)
|
||||
assert.True(gucumber.T, ok, "no error returned")
|
||||
assert.NotEmpty(gucumber.T, err.Message())
|
||||
if !ok {
|
||||
gucumber.T.Errorf("no error returned")
|
||||
}
|
||||
if len(err.Message()) == 0 {
|
||||
gucumber.T.Errorf("expect values, got none")
|
||||
}
|
||||
})
|
||||
|
||||
gucumber.When(`^I call the "(.+?)" API with JSON:$`, func(s1 string, data string) {
|
||||
@@ -107,26 +125,42 @@ func init() {
|
||||
|
||||
gucumber.Then(`^the error code should be "(.+?)"$`, func(s1 string) {
|
||||
err, ok := gucumber.World["error"].(awserr.Error)
|
||||
assert.True(gucumber.T, ok, "no error returned")
|
||||
assert.Equal(gucumber.T, s1, err.Code())
|
||||
if !ok {
|
||||
gucumber.T.Errorf("no error returned")
|
||||
}
|
||||
if e, a := s1, err.Code(); e != a {
|
||||
gucumber.T.Errorf("expect %v, got %v", e, a)
|
||||
}
|
||||
})
|
||||
|
||||
gucumber.And(`^the error message should contain:$`, func(data string) {
|
||||
err, ok := gucumber.World["error"].(awserr.Error)
|
||||
assert.True(gucumber.T, ok, "no error returned")
|
||||
assert.Contains(gucumber.T, err.Error(), data)
|
||||
if !ok {
|
||||
gucumber.T.Errorf("no error returned")
|
||||
}
|
||||
if a := err.Error(); len(a) == 0 {
|
||||
gucumber.T.Errorf("expect string length to be greater than zero")
|
||||
}
|
||||
})
|
||||
|
||||
gucumber.Then(`^the request should fail$`, func() {
|
||||
err, ok := gucumber.World["error"].(awserr.Error)
|
||||
assert.True(gucumber.T, ok, "no error returned")
|
||||
assert.Error(gucumber.T, err)
|
||||
if !ok {
|
||||
gucumber.T.Errorf("no error returned")
|
||||
}
|
||||
if err == nil {
|
||||
gucumber.T.Errorf("expect error, got none")
|
||||
}
|
||||
})
|
||||
|
||||
gucumber.Then(`^the request should be successful$`, func() {
|
||||
err, ok := gucumber.World["error"].(awserr.Error)
|
||||
assert.False(gucumber.T, ok, "error returned")
|
||||
assert.NoError(gucumber.T, err)
|
||||
if ok {
|
||||
gucumber.T.Errorf("error returned")
|
||||
}
|
||||
if err != nil {
|
||||
gucumber.T.Errorf("expect no error, got %v", err)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -160,10 +194,12 @@ func call(op string, args [][]string, allowError bool) {
|
||||
|
||||
if !allowError {
|
||||
err, _ := gucumber.World["error"].(error)
|
||||
assert.NoError(gucumber.T, err)
|
||||
if err != nil {
|
||||
gucumber.T.Errorf("expect no error, got %v", err)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
assert.Fail(gucumber.T, "failed to find operation "+op)
|
||||
gucumber.T.Errorf("failed to find operation " + op)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -215,10 +251,12 @@ func callWithJSON(op, j string, allowError bool) {
|
||||
|
||||
if !allowError {
|
||||
err, _ := gucumber.World["error"].(error)
|
||||
assert.NoError(gucumber.T, err)
|
||||
if err != nil {
|
||||
gucumber.T.Errorf("expect no error, got %v", err)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
assert.Fail(gucumber.T, "failed to find operation "+op)
|
||||
gucumber.T.Errorf("failed to find operation " + op)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
9
vendor/github.com/aws/aws-sdk-go/awstesting/performance/init.go
generated
vendored
9
vendor/github.com/aws/aws-sdk-go/awstesting/performance/init.go
generated
vendored
@@ -9,7 +9,6 @@ import (
|
||||
"runtime"
|
||||
|
||||
"github.com/gucumber/gucumber"
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||
@@ -32,8 +31,12 @@ func init() {
|
||||
gucumber.Then(`^I should not have leaked any resources$`, func() {
|
||||
runtime.GC()
|
||||
err, ok := gucumber.World["error"].(awserr.Error)
|
||||
assert.False(gucumber.T, ok, "error returned")
|
||||
assert.NoError(gucumber.T, err)
|
||||
if ok {
|
||||
gucumber.T.Errorf("error returned")
|
||||
}
|
||||
if err != nil {
|
||||
gucumber.T.Errorf("expect no error, got %v", err)
|
||||
}
|
||||
})
|
||||
|
||||
gucumber.And(`^I have a list of services$`, func() {
|
||||
|
||||
58
vendor/github.com/aws/aws-sdk-go/awstesting/util_test.go
generated
vendored
58
vendor/github.com/aws/aws-sdk-go/awstesting/util_test.go
generated
vendored
@@ -4,8 +4,6 @@ import (
|
||||
"io"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"github.com/aws/aws-sdk-go/awstesting"
|
||||
)
|
||||
|
||||
@@ -13,9 +11,15 @@ func TestReadCloserClose(t *testing.T) {
|
||||
rc := awstesting.ReadCloser{Size: 1}
|
||||
err := rc.Close()
|
||||
|
||||
assert.Nil(t, err)
|
||||
assert.True(t, rc.Closed)
|
||||
assert.Equal(t, rc.Size, 1)
|
||||
if err != nil {
|
||||
t.Errorf("expect nil, got %v", err)
|
||||
}
|
||||
if !rc.Closed {
|
||||
t.Errorf("expect closed, was not")
|
||||
}
|
||||
if e, a := rc.Size, 1; e != a {
|
||||
t.Errorf("expect %v, got %v", e, a)
|
||||
}
|
||||
}
|
||||
|
||||
func TestReadCloserRead(t *testing.T) {
|
||||
@@ -24,16 +28,30 @@ func TestReadCloserRead(t *testing.T) {
|
||||
|
||||
n, err := rc.Read(b)
|
||||
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, n, 2)
|
||||
assert.False(t, rc.Closed)
|
||||
assert.Equal(t, rc.Size, 3)
|
||||
if err != nil {
|
||||
t.Errorf("expect nil, got %v", err)
|
||||
}
|
||||
if e, a := n, 2; e != a {
|
||||
t.Errorf("expect %v, got %v", e, a)
|
||||
}
|
||||
if rc.Closed {
|
||||
t.Errorf("expect not to be closed")
|
||||
}
|
||||
if e, a := rc.Size, 3; e != a {
|
||||
t.Errorf("expect %v, got %v", e, a)
|
||||
}
|
||||
|
||||
err = rc.Close()
|
||||
assert.Nil(t, err)
|
||||
if err != nil {
|
||||
t.Errorf("expect nil, got %v", err)
|
||||
}
|
||||
n, err = rc.Read(b)
|
||||
assert.Equal(t, err, io.EOF)
|
||||
assert.Equal(t, n, 0)
|
||||
if e, a := err, io.EOF; e != a {
|
||||
t.Errorf("expect %v, got %v", e, a)
|
||||
}
|
||||
if e, a := n, 0; e != a {
|
||||
t.Errorf("expect %v, got %v", e, a)
|
||||
}
|
||||
}
|
||||
|
||||
func TestReadCloserReadAll(t *testing.T) {
|
||||
@@ -42,8 +60,16 @@ func TestReadCloserReadAll(t *testing.T) {
|
||||
|
||||
n, err := rc.Read(b)
|
||||
|
||||
assert.Equal(t, err, io.EOF)
|
||||
assert.Equal(t, n, 5)
|
||||
assert.False(t, rc.Closed)
|
||||
assert.Equal(t, rc.Size, 0)
|
||||
if e, a := err, io.EOF; e != a {
|
||||
t.Errorf("expect %v, got %v", e, a)
|
||||
}
|
||||
if e, a := n, 5; e != a {
|
||||
t.Errorf("expect %v, got %v", e, a)
|
||||
}
|
||||
if rc.Closed {
|
||||
t.Errorf("expect not to be closed")
|
||||
}
|
||||
if e, a := rc.Size, 0; e != a {
|
||||
t.Errorf("expect %v, got %v", e, a)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user