Commit 84b8a332 authored by Joshua Dolitsky's avatar Joshua Dolitsky
Browse files

tests and docs for SSE

Showing with 20 additions and 3 deletions
+20 -3
......@@ -204,6 +204,7 @@ The contents of index.yaml will be printed to stdout and the program will exit.
- `--allow-overwrite` - allow chart versions to be re-uploaded
- `--chart-url=<url>` - absolute url for .tgzs in index.yaml
- `--storage-amazon-endpoint=<endpoint>` - alternative s3 endpoint
- `--storage-amazon-sse=<algorithm>` - s3 server side encryption algorithm
- `--chart-post-form-field-name=<field>` - form field which will be queried for the chart file content
- `--prov-post-form-field-name=<field>` - form field which will be queried for the provenance file content
......
......@@ -23,8 +23,7 @@ type AmazonS3Backend struct {
}
// NewAmazonS3Backend creates a new instance of AmazonS3Backend
func NewAmazonS3Backend(bucket string, prefix string, region string, endpoint string,
sse string) *AmazonS3Backend {
func NewAmazonS3Backend(bucket string, prefix string, region string, endpoint string, sse string) *AmazonS3Backend {
service := s3.New(session.New(), &aws.Config{
Region: aws.String(region),
Endpoint: aws.String(endpoint),
......
......@@ -11,6 +11,7 @@ type AmazonTestSuite struct {
suite.Suite
BrokenAmazonS3Backend *AmazonS3Backend
NoPrefixAmazonS3Backend *AmazonS3Backend
SSEAmazonS3Backend *AmazonS3Backend
}
func (suite *AmazonTestSuite) SetupSuite() {
......@@ -22,15 +23,25 @@ func (suite *AmazonTestSuite) SetupSuite() {
backend = NewAmazonS3Backend(s3Bucket, "", s3Region, "", "")
suite.NoPrefixAmazonS3Backend = backend
backend = NewAmazonS3Backend(s3Bucket, "ssetest", s3Region, "", "AES256")
suite.SSEAmazonS3Backend = backend
data := []byte("some object")
path := "deleteme.txt"
err := suite.NoPrefixAmazonS3Backend.PutObject(path, data)
suite.Nil(err, "no error putting deleteme.txt using AmazonS3 backend")
err = suite.SSEAmazonS3Backend.PutObject(path, data)
suite.Nil(err, "no error putting deleteme.txt using AmazonS3 backend (SSE)")
}
func (suite *AmazonTestSuite) TearDownSuite() {
err := suite.NoPrefixAmazonS3Backend.DeleteObject("deleteme.txt")
suite.Nil(err, "no error deleting deleteme.txt using AmazonS3 backend")
err = suite.SSEAmazonS3Backend.DeleteObject("deleteme.txt")
suite.Nil(err, "no error deleting deleteme.txt using AmazonS3 backend")
}
func (suite *AmazonTestSuite) TestListObjects() {
......@@ -39,11 +50,17 @@ func (suite *AmazonTestSuite) TestListObjects() {
_, err = suite.NoPrefixAmazonS3Backend.ListObjects()
suite.Nil(err, "can list objects with good bucket, no prefix")
_, err = suite.SSEAmazonS3Backend.ListObjects()
suite.Nil(err, "can list objects with good bucket, SSE")
}
func (suite *AmazonTestSuite) TestGetObject() {
_, err := suite.BrokenAmazonS3Backend.GetObject("this-file-cannot-possibly-exist.tgz")
suite.NotNil(err, "cannot get objects with bad bucket")
obj, err := suite.SSEAmazonS3Backend.GetObject("deleteme.txt")
suite.Equal([]byte("some object"), obj.Content, "able to get object with SSE")
}
func (suite *AmazonTestSuite) TestPutObject() {
......
......@@ -31,7 +31,7 @@ func (suite *StorageTestSuite) setupStorageBackends() {
s3Region := os.Getenv("TEST_STORAGE_AMAZON_REGION")
gcsBucket := os.Getenv("TEST_STORAGE_GOOGLE_BUCKET")
if s3Bucket != "" && s3Region != "" {
suite.StorageBackends["AmazonS3"] = Backend(NewAmazonS3Backend(s3Bucket, prefix, s3Region, ""))
suite.StorageBackends["AmazonS3"] = Backend(NewAmazonS3Backend(s3Bucket, prefix, s3Region, "", ""))
}
if gcsBucket != "" {
suite.StorageBackends["GoogleCS"] = Backend(NewGoogleCSBackend(gcsBucket, prefix))
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment