Skip to content

Commit f0c3a10

Browse files
authored
Merge pull request #10 from muroon/update_test
updating test for unusing deprecated program in aws sdk
2 parents 79b682d + 5e86006 commit f0c3a10

File tree

2 files changed

+31
-8
lines changed

2 files changed

+31
-8
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ environment variables, but you can use anything supported by the
5454
The tests support a few environment variables:
5555
- `ATHENA_DATABASE` can be used to override the default database "go_athena_tests"
5656
- `S3_BUCKET` can be used to override the default S3 bucket of "go-athena-tests"
57+
- `ATHENA_REGION` or `AWS_DEFAULT_REGION` can be used to override the default region of "us-east-1"
5758

5859

5960
[database/sql]: https://golang.org/pkg/database/sql/

db_test.go

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import (
1313

1414
"github.com/aws/aws-sdk-go/aws"
1515
"github.com/aws/aws-sdk-go/aws/session"
16-
"github.com/aws/aws-sdk-go/service/s3"
16+
"github.com/aws/aws-sdk-go/service/s3/s3manager"
1717
uuid "github.com/satori/go.uuid"
1818
"github.com/stretchr/testify/assert"
1919
"github.com/stretchr/testify/require"
@@ -22,6 +22,7 @@ import (
2222
var (
2323
AthenaDatabase = "go_athena_tests"
2424
S3Bucket = "go-athena-tests"
25+
AwsRegion = "us-east-1"
2526
)
2627

2728
func init() {
@@ -32,11 +33,18 @@ func init() {
3233
if v := os.Getenv("S3_BUCKET"); v != "" {
3334
S3Bucket = v
3435
}
36+
37+
if v := os.Getenv("AWS_DEFAULT_REGION"); v != "" {
38+
AwsRegion = v
39+
}
40+
if v := os.Getenv("ATHENA_REGION"); v != "" {
41+
AwsRegion = v
42+
}
3543
}
3644

3745
func TestQuery(t *testing.T) {
3846
harness := setup(t)
39-
// defer harness.teardown()
47+
defer harness.teardown()
4048

4149
expected := []dummyRow{
4250
{
@@ -115,8 +123,13 @@ func TestQuery(t *testing.T) {
115123
}
116124

117125
func TestOpen(t *testing.T) {
126+
var acfg []*aws.Config
127+
acfg = append(acfg, &aws.Config{Region: aws.String(AwsRegion)})
128+
session, err := session.NewSession(acfg...)
129+
require.NoError(t, err, "Query")
130+
118131
db, err := Open(Config{
119-
Session: session.Must(session.NewSession()),
132+
Session: session,
120133
Database: AthenaDatabase,
121134
OutputLocation: fmt.Sprintf("s3://%s/noop", S3Bucket),
122135
})
@@ -164,16 +177,23 @@ type dummyRow struct {
164177
type athenaHarness struct {
165178
t *testing.T
166179
db *sql.DB
167-
s3 *s3.S3
180+
sess *session.Session
168181

169182
table string
170183
}
171184

172185
func setup(t *testing.T) *athenaHarness {
173-
harness := athenaHarness{t: t, s3: s3.New(session.New())}
186+
var acfg []*aws.Config
187+
acfg = append(acfg, &aws.Config{
188+
Region: aws.String(AwsRegion),
189+
})
190+
sess, err := session.NewSession(acfg...)
191+
if err != nil {
192+
require.NoError(t, err)
193+
}
194+
harness := athenaHarness{t: t, sess: sess}
174195

175-
var err error
176-
harness.db, err = sql.Open("athena", fmt.Sprintf("db=%s&output_location=s3://%s/output", AthenaDatabase, S3Bucket))
196+
harness.db, err = sql.Open("athena", fmt.Sprintf("db=%s&output_location=s3://%s/output&region=%s", AthenaDatabase, S3Bucket, AwsRegion))
177197
require.NoError(t, err)
178198

179199
harness.setupTable()
@@ -230,7 +250,9 @@ func (a *athenaHarness) uploadData(rows []dummyRow) {
230250
require.NoError(a.t, err)
231251
}
232252

233-
_, err := a.s3.PutObject(&s3.PutObjectInput{
253+
uploader := s3manager.NewUploader(a.sess)
254+
255+
_, err := uploader.Upload(&s3manager.UploadInput{
234256
Bucket: aws.String(S3Bucket),
235257
Key: aws.String(fmt.Sprintf("%s/fixture.json", a.table)),
236258
Body: bytes.NewReader(buf.Bytes()),

0 commit comments

Comments
 (0)