Skip to content

Commit

Permalink
Merge pull request #3 from ohsawa0515/ec2metadata
Browse files Browse the repository at this point in the history
add ec2metadata testing
  • Loading branch information
ohsawa0515 committed Oct 12, 2020
2 parents 6fb4c7e + 6521501 commit 34277cc
Show file tree
Hide file tree
Showing 6 changed files with 95 additions and 15 deletions.
15 changes: 4 additions & 11 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,27 +1,20 @@
language: go
sudo: false

env:
global:
secure: "1PjOS0yhvV9gmkfu7Y6XEYPDkxejOb7Qe6m4BAFmLQe133DqsgvGf9TC3SItXuAQfzi5qJwgUiGotasX8wNFr2EQDO1Dzo+0rX2fNa/dLwgUam6foXx5HhXinGOHbbc6LyAaRx2D3eDqZaw3PssPZ94pMy9ALCCawXWc85sVwFQS0mPB8h6oBtVfN/Hdp7v1w7cVR89s1KYSA+T9FAYKGDaaRS9Mmihs3o52K9NsURsnPVZj7sI1Z2ir1xdOwFIvUIbl6nkRNs0lFEgrld+69+8p0bSGqcZJjo4EaVNb2F4HPm5z+zxwVPPJJn1WhqVgUFG9dQ5w2HZM6VcQynbxGqEQJRbXqY+wmCmL/HrWq0iof9hIF2gtTU2Z7CrNRDdTSmCsDMJP02sPD/XhqiKoeo8SM7GwGcayoDSzQUYXgcOeRUMtajyjLimM2u5CAu4+DbDfdip6OzinSkDgca65pYIub61abDRdOEGD+ayZkSrZofzeky+h0TakhlS2n1OZorDNTu32umGsB8iM9ycbB9WWONi034SaUimvLd3xl5qqUhEBTzhnFuTHnwN84ilHdw25V3Jm5IuU/v71hVecluRqDk5Fts+54utyyvas6M5NjsCW2mqpAkB1ScdnL1S78KITgNHF8QjDrVOrM+9O7x6dvr8qgtMZprm9Fo+NdEI="

- secure: GGwVbq8Fo/ygExdjMToQDYYaXG2r/QPWzvA/r4DDzqLMBPXht1DWSlfoyU9841M86p2W0Z2er2eqGlRwj0co9SubiQki166kImveP2hPPdpYvfrUcDJjk1NhjZDROLvC2pz1OE9w9niRN8s9X5pmJuF/ArkI1kFKUR+EMNQkITGumOw7KyZHia5d3BROYwAdtj6gz3EdHbiODe6nfZTC7bq3ZyBz/3xNhivBtZI0t54XqeElZcP4P00RMVux0M7pCxAwdWb8wuoRGitPgXOu416T4RyUYoU6Iy2EVTrzKj0xfjQTxFeAG5nAeOPC7tgQhmQ9rKiMbe9DD9v9PZjrNebVUOohv/1gCBOhisfgCIEmyAgjcLVMXLndE2iJdmL2sI8fiJKQFZ51YiCc4Jj7vHFWOsYglJO7YQ+B4Tw0xVMDEG2f97o9JxFgleRkdfEkHtvMtFSDC1b/86PT2QiasXOgL5I3gsaKtMqDF70/ogbpv3ZEK670thWsQ85fKnkR9Yq+Lia1PIVF6Zm6zCNWE2ZjtmSQSuLRp/5kTB5oEXU4U5B55oMIMbhSw7uX06hnDUSotpDdD4z3EHdMjCdx/TMW08lx5Mg5Lb29hr8tn2vwynqL44X/swZrubik/zVeSUCH4CeFMC2tyA37mP9SuEwnZu5ock3Ve0sn3wZY4+U=
os:
- linux
- osx

go:
- 1.11

- 1.15
script:
- go test -v
- $HOME/gopath/bin/goveralls -repotoken $COVERALLS_TOKEN -service=travis-ci

- "$HOME/gopath/bin/goveralls -repotoken $COVERALLS_TOKEN -service=travis-ci"
before_install:
- go get github.com/axw/gocov/gocov
- go get github.com/mattn/goveralls
- go get golang.org/x/tools/cmd/cover

notifications:
email: false
slack:
secure: "C5rLRy/goL4PB2gd7zmCy88EXZ4PKLTDD/vO7aMtm8jbBGMjnVFTj9EtBpILr01sa4VssD+UlE5UZhujVWSw7zed7QTZbC2AL7WoKRpetgRb8dTtGalDf0x5a1IWIM7LZHPGcj76Uog6EBysNDs/cMhAHKLUZPaRSH5SopCkScf8z/44AYoNM4/5qp9P09T4IEs1CVcAPiTd6PCZQHmGa/ek7wR7+V8+izjA/0eTb0An9Z55O4oQaqZZEcG/B1aNUaR8QT9raNbhsMdDAHwWNNGScnZvBPVWGZ1eeDdjbUd4Bd8zmuJ4jX1FqZ1APqt3F06k1ydg/1YIhiHCWM05n59VPzDV3XhF3HtLp+tsaZDOvyamwnGgCxqkvsnjp4GLF8CTzSJgwZ4/U2EXAJ4fj9XiNCCyZghSPtYNbJOvvlbpb/BNZJs8uBG9ZhzDUbrZMu+2/DYavNoXiyv4XoqJo+tnXI88GmWQPUtrG2ScmjcE3yljLIJ/ldFjlgjiYH2C/ODkLb5N86oCkhUgOe+AM+KZx7bCOBtXMOw/WDQb012keGUmUN64GfnqNh2vzosddhvJ1K/yZO8g/U0E0+AM5ByAk/IiWs0U1sHbh3r6n8J/TBn/EaL9uYDirBp0hPQ2nLUebPC85SxMxDYVT7hdhPswvGeFSugvT5KdXjAa76I="
secure: C5rLRy/goL4PB2gd7zmCy88EXZ4PKLTDD/vO7aMtm8jbBGMjnVFTj9EtBpILr01sa4VssD+UlE5UZhujVWSw7zed7QTZbC2AL7WoKRpetgRb8dTtGalDf0x5a1IWIM7LZHPGcj76Uog6EBysNDs/cMhAHKLUZPaRSH5SopCkScf8z/44AYoNM4/5qp9P09T4IEs1CVcAPiTd6PCZQHmGa/ek7wR7+V8+izjA/0eTb0An9Z55O4oQaqZZEcG/B1aNUaR8QT9raNbhsMdDAHwWNNGScnZvBPVWGZ1eeDdjbUd4Bd8zmuJ4jX1FqZ1APqt3F06k1ydg/1YIhiHCWM05n59VPzDV3XhF3HtLp+tsaZDOvyamwnGgCxqkvsnjp4GLF8CTzSJgwZ4/U2EXAJ4fj9XiNCCyZghSPtYNbJOvvlbpb/BNZJs8uBG9ZhzDUbrZMu+2/DYavNoXiyv4XoqJo+tnXI88GmWQPUtrG2ScmjcE3yljLIJ/ldFjlgjiYH2C/ODkLb5N86oCkhUgOe+AM+KZx7bCOBtXMOw/WDQb012keGUmUN64GfnqNh2vzosddhvJ1K/yZO8g/U0E0+AM5ByAk/IiWs0U1sHbh3r6n8J/TBn/EaL9uYDirBp0hPQ2nLUebPC85SxMxDYVT7hdhPswvGeFSugvT5KdXjAa76I=
8 changes: 8 additions & 0 deletions ec2metadata.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package main

import "github.com/aws/aws-sdk-go/aws/ec2metadata"

// GetInstanceID returns EC2 instance ID getting by metadata.
func GetInstanceID(svc *ec2metadata.EC2Metadata) (string, error) {
return svc.GetMetadata("instance-id")
}
40 changes: 40 additions & 0 deletions ec2metadata_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package main

import (
"fmt"
"net/http"
"net/http/httptest"
"testing"

"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/ec2metadata"
"github.com/aws/aws-sdk-go/aws/session"
)

var mockSession = session.Must(session.NewSession(&aws.Config{
Region: aws.String("mock-region"),
}))

func TestGetInstanceID(t *testing.T) {
expectedInstanceID := "i-1234567890ab"
metadataInstanceID := "i-1234567890ab"

mux := http.NewServeMux()
mux.HandleFunc("/latest/meta-data/instance-id", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, metadataInstanceID)
})
server := httptest.NewServer(mux)
defer server.Close()

mockEC2MetaDataSvc := ec2metadata.New(mockSession, &aws.Config{
Endpoint: aws.String(server.URL),
})

instanceID, err := GetInstanceID(mockEC2MetaDataSvc)
if err != nil {
t.Errorf("expected no error, but got %v.", err)
}
if instanceID != expectedInstanceID {
t.Errorf("expected value of tag: %s, but got tag value: %v.", expectedInstanceID, instanceID)
}
}
6 changes: 5 additions & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,8 @@ module github.com/ohsawa0515/aws-sdk-go-test

go 1.15

require github.com/aws/aws-sdk-go v1.35.7
require (
github.com/aws/aws-sdk-go v1.35.7
github.com/mattn/goveralls v0.0.7 // indirect
golang.org/x/tools v0.0.0-20201011145850-ed2f50202694 // indirect
)
26 changes: 26 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,38 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
github.com/mattn/goveralls v0.0.7 h1:vzy0i4a2iDzEFMdXIxcanRadkr0FBvSBKUmj0P8SPlQ=
github.com/mattn/goveralls v0.0.7/go.mod h1:h8b4ow6FxSPMQHF6o2ve3qsclnffZjYTNEKmLesRwqw=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375 h1:SjQ2+AKWgZLc1xej6WSzL+Dfs5Uyd5xcZH1mGC411IA=
golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20201011145850-ed2f50202694 h1:BANdcOVw3KTuUiyfDp7wrzCpkCe8UP3lowugJngxBTg=
golang.org/x/tools v0.0.0-20201011145850-ed2f50202694/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
15 changes: 12 additions & 3 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"log"

"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/ec2metadata"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/ec2"
)
Expand All @@ -19,11 +20,19 @@ func main() {
Region: aws.String(region),
}))

client := NewClient(ec2.New(sess))
instances, err := client.ListIds()
// EC2
ec2Client := NewClient(ec2.New(sess))
instances, err := ec2Client.ListIds()
if err != nil {
log.Fatal(err)
}

fmt.Println(instances)

// EC2metadata
ec2MetadataSvc := ec2metadata.New(sess)
instanceID, err := GetInstanceID(ec2MetadataSvc)
if err != nil {
log.Fatal(err)
}
fmt.Println(instanceID)
}

0 comments on commit 34277cc

Please sign in to comment.