Merge branch 'main' into issue_494_http_scanning_error

main
Toussaint Louis 2021-06-04 15:45:36 +02:00 committed by GitHub
commit c3934f4d83
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 90 additions and 57 deletions

View File

@ -35,7 +35,7 @@ func NewEC2Repository(session *session.Session, c cache.Cache) *ec2Repository {
} }
func (r *ec2Repository) ListAllImages() ([]*ec2.Image, error) { func (r *ec2Repository) ListAllImages() ([]*ec2.Image, error) {
if v := r.cache.Get("ec2AllImages"); v != nil { if v := r.cache.Get("ec2ListAllImages"); v != nil {
return v.([]*ec2.Image), nil return v.([]*ec2.Image), nil
} }
@ -48,12 +48,12 @@ func (r *ec2Repository) ListAllImages() ([]*ec2.Image, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
r.cache.Put("ec2AllImages", images.Images) r.cache.Put("ec2ListAllImages", images.Images)
return images.Images, err return images.Images, err
} }
func (r *ec2Repository) ListAllSnapshots() ([]*ec2.Snapshot, error) { func (r *ec2Repository) ListAllSnapshots() ([]*ec2.Snapshot, error) {
if v := r.cache.Get("ec2AllSnapshots"); v != nil { if v := r.cache.Get("ec2ListAllSnapshots"); v != nil {
return v.([]*ec2.Snapshot), nil return v.([]*ec2.Snapshot), nil
} }
@ -70,12 +70,12 @@ func (r *ec2Repository) ListAllSnapshots() ([]*ec2.Snapshot, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
r.cache.Put("ec2AllSnapshots", snapshots) r.cache.Put("ec2ListAllSnapshots", snapshots)
return snapshots, err return snapshots, err
} }
func (r *ec2Repository) ListAllVolumes() ([]*ec2.Volume, error) { func (r *ec2Repository) ListAllVolumes() ([]*ec2.Volume, error) {
if v := r.cache.Get("ec2AllVolumes"); v != nil { if v := r.cache.Get("ec2ListAllVolumes"); v != nil {
return v.([]*ec2.Volume), nil return v.([]*ec2.Volume), nil
} }
@ -88,12 +88,12 @@ func (r *ec2Repository) ListAllVolumes() ([]*ec2.Volume, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
r.cache.Put("ec2AllVolumes", volumes) r.cache.Put("ec2ListAllVolumes", volumes)
return volumes, nil return volumes, nil
} }
func (r *ec2Repository) ListAllAddresses() ([]*ec2.Address, error) { func (r *ec2Repository) ListAllAddresses() ([]*ec2.Address, error) {
if v := r.cache.Get("ec2AllAddresses"); v != nil { if v := r.cache.Get("ec2ListAllAddresses"); v != nil {
return v.([]*ec2.Address), nil return v.([]*ec2.Address), nil
} }
@ -102,12 +102,12 @@ func (r *ec2Repository) ListAllAddresses() ([]*ec2.Address, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
r.cache.Put("ec2AllAddresses", response.Addresses) r.cache.Put("ec2ListAllAddresses", response.Addresses)
return response.Addresses, nil return response.Addresses, nil
} }
func (r *ec2Repository) ListAllAddressesAssociation() ([]string, error) { func (r *ec2Repository) ListAllAddressesAssociation() ([]string, error) {
if v := r.cache.Get("ec2AddressesAssociation"); v != nil { if v := r.cache.Get("ec2ListAllAddressesAssociation"); v != nil {
return v.([]string), nil return v.([]string), nil
} }
@ -121,12 +121,12 @@ func (r *ec2Repository) ListAllAddressesAssociation() ([]string, error) {
results = append(results, aws.StringValue(address.AssociationId)) results = append(results, aws.StringValue(address.AssociationId))
} }
} }
r.cache.Put("ec2AddressesAssociation", results) r.cache.Put("ec2ListAllAddressesAssociation", results)
return results, nil return results, nil
} }
func (r *ec2Repository) ListAllInstances() ([]*ec2.Instance, error) { func (r *ec2Repository) ListAllInstances() ([]*ec2.Instance, error) {
if v := r.cache.Get("ec2AllInstances"); v != nil { if v := r.cache.Get("ec2ListAllInstances"); v != nil {
return v.([]*ec2.Instance), nil return v.([]*ec2.Instance), nil
} }
@ -141,12 +141,12 @@ func (r *ec2Repository) ListAllInstances() ([]*ec2.Instance, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
r.cache.Put("ec2AllInstances", instances) r.cache.Put("ec2ListAllInstances", instances)
return instances, nil return instances, nil
} }
func (r *ec2Repository) ListAllKeyPairs() ([]*ec2.KeyPairInfo, error) { func (r *ec2Repository) ListAllKeyPairs() ([]*ec2.KeyPairInfo, error) {
if v := r.cache.Get("ec2AllKeyPairs"); v != nil { if v := r.cache.Get("ec2ListAllKeyPairs"); v != nil {
return v.([]*ec2.KeyPairInfo), nil return v.([]*ec2.KeyPairInfo), nil
} }
@ -155,6 +155,6 @@ func (r *ec2Repository) ListAllKeyPairs() ([]*ec2.KeyPairInfo, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
r.cache.Put("ec2AllKeyPairs", pairs.KeyPairs) r.cache.Put("ec2ListAllKeyPairs", pairs.KeyPairs)
return pairs.KeyPairs, err return pairs.KeyPairs, err
} }

View File

@ -1,7 +1,6 @@
package repository package repository
import ( import (
"reflect"
"strings" "strings"
"testing" "testing"
@ -51,14 +50,24 @@ func Test_ec2Repository_ListAllImages(t *testing.T) {
} }
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
store := cache.New(1)
client := &MockEC2Client{} client := &MockEC2Client{}
tt.mocks(client) tt.mocks(client)
r := &ec2Repository{ r := &ec2Repository{
client: client, client: client,
cache: cache.New(10), cache: store,
} }
got, err := r.ListAllImages() got, err := r.ListAllImages()
assert.Equal(t, tt.wantErr, err) assert.Equal(t, tt.wantErr, err)
if err == nil {
// Check that results were cached
cachedData, err := r.ListAllImages()
assert.NoError(t, err)
assert.Equal(t, got, cachedData)
assert.IsType(t, []*ec2.Image{}, store.Get("ec2ListAllImages"))
}
changelog, err := diff.Diff(got, tt.want) changelog, err := diff.Diff(got, tt.want)
assert.Nil(t, err) assert.Nil(t, err)
if len(changelog) > 0 { if len(changelog) > 0 {
@ -67,11 +76,6 @@ func Test_ec2Repository_ListAllImages(t *testing.T) {
} }
t.Fail() t.Fail()
} }
// Check that results were cached
cachedData, err := r.ListAllImages()
assert.NoError(t, err)
assert.True(t, reflect.DeepEqual(got, cachedData))
}) })
} }
} }
@ -125,14 +129,24 @@ func Test_ec2Repository_ListAllSnapshots(t *testing.T) {
} }
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
store := cache.New(1)
client := &MockEC2Client{} client := &MockEC2Client{}
tt.mocks(client) tt.mocks(client)
r := &ec2Repository{ r := &ec2Repository{
client: client, client: client,
cache: cache.New(10), cache: store,
} }
got, err := r.ListAllSnapshots() got, err := r.ListAllSnapshots()
assert.Equal(t, tt.wantErr, err) assert.Equal(t, tt.wantErr, err)
if err == nil {
// Check that results were cached
cachedData, err := r.ListAllSnapshots()
assert.NoError(t, err)
assert.Equal(t, got, cachedData)
assert.IsType(t, []*ec2.Snapshot{}, store.Get("ec2ListAllSnapshots"))
}
changelog, err := diff.Diff(got, tt.want) changelog, err := diff.Diff(got, tt.want)
assert.Nil(t, err) assert.Nil(t, err)
if len(changelog) > 0 { if len(changelog) > 0 {
@ -141,11 +155,6 @@ func Test_ec2Repository_ListAllSnapshots(t *testing.T) {
} }
t.Fail() t.Fail()
} }
// Check that results were cached
cachedData, err := r.ListAllSnapshots()
assert.NoError(t, err)
assert.True(t, reflect.DeepEqual(got, cachedData))
}) })
} }
} }
@ -195,14 +204,24 @@ func Test_ec2Repository_ListAllVolumes(t *testing.T) {
} }
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
store := cache.New(1)
client := &MockEC2Client{} client := &MockEC2Client{}
tt.mocks(client) tt.mocks(client)
r := &ec2Repository{ r := &ec2Repository{
client: client, client: client,
cache: cache.New(10), cache: store,
} }
got, err := r.ListAllVolumes() got, err := r.ListAllVolumes()
assert.Equal(t, tt.wantErr, err) assert.Equal(t, tt.wantErr, err)
if err == nil {
// Check that results were cached
cachedData, err := r.ListAllVolumes()
assert.NoError(t, err)
assert.Equal(t, got, cachedData)
assert.IsType(t, []*ec2.Volume{}, store.Get("ec2ListAllVolumes"))
}
changelog, err := diff.Diff(got, tt.want) changelog, err := diff.Diff(got, tt.want)
assert.Nil(t, err) assert.Nil(t, err)
if len(changelog) > 0 { if len(changelog) > 0 {
@ -211,11 +230,6 @@ func Test_ec2Repository_ListAllVolumes(t *testing.T) {
} }
t.Fail() t.Fail()
} }
// Check that results were cached
cachedData, err := r.ListAllVolumes()
assert.NoError(t, err)
assert.True(t, reflect.DeepEqual(got, cachedData))
}) })
} }
} }
@ -250,14 +264,24 @@ func Test_ec2Repository_ListAllAddresses(t *testing.T) {
} }
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
store := cache.New(1)
client := &MockEC2Client{} client := &MockEC2Client{}
tt.mocks(client) tt.mocks(client)
r := &ec2Repository{ r := &ec2Repository{
client: client, client: client,
cache: cache.New(10), cache: store,
} }
got, err := r.ListAllAddresses() got, err := r.ListAllAddresses()
assert.Equal(t, tt.wantErr, err) assert.Equal(t, tt.wantErr, err)
if err == nil {
// Check that results were cached
cachedData, err := r.ListAllAddresses()
assert.NoError(t, err)
assert.Equal(t, got, cachedData)
assert.IsType(t, []*ec2.Address{}, store.Get("ec2ListAllAddresses"))
}
changelog, err := diff.Diff(got, tt.want) changelog, err := diff.Diff(got, tt.want)
assert.Nil(t, err) assert.Nil(t, err)
if len(changelog) > 0 { if len(changelog) > 0 {
@ -266,11 +290,6 @@ func Test_ec2Repository_ListAllAddresses(t *testing.T) {
} }
t.Fail() t.Fail()
} }
// Check that results were cached
cachedData, err := r.ListAllAddresses()
assert.NoError(t, err)
assert.True(t, reflect.DeepEqual(got, cachedData))
}) })
} }
} }
@ -305,14 +324,24 @@ func Test_ec2Repository_ListAllAddressesAssociation(t *testing.T) {
} }
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
store := cache.New(1)
client := &MockEC2Client{} client := &MockEC2Client{}
tt.mocks(client) tt.mocks(client)
r := &ec2Repository{ r := &ec2Repository{
client: client, client: client,
cache: cache.New(10), cache: store,
} }
got, err := r.ListAllAddressesAssociation() got, err := r.ListAllAddressesAssociation()
assert.Equal(t, tt.wantErr, err) assert.Equal(t, tt.wantErr, err)
if err == nil {
// Check that results were cached
cachedData, err := r.ListAllAddressesAssociation()
assert.NoError(t, err)
assert.Equal(t, got, cachedData)
assert.IsType(t, []string{}, store.Get("ec2ListAllAddressesAssociation"))
}
changelog, err := diff.Diff(got, tt.want) changelog, err := diff.Diff(got, tt.want)
assert.Nil(t, err) assert.Nil(t, err)
if len(changelog) > 0 { if len(changelog) > 0 {
@ -321,11 +350,6 @@ func Test_ec2Repository_ListAllAddressesAssociation(t *testing.T) {
} }
t.Fail() t.Fail()
} }
// Check that results were cached
cachedData, err := r.ListAllAddressesAssociation()
assert.NoError(t, err)
assert.True(t, reflect.DeepEqual(got, cachedData))
}) })
} }
} }
@ -399,14 +423,23 @@ func Test_ec2Repository_ListAllInstances(t *testing.T) {
} }
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
store := cache.New(1)
client := &MockEC2Client{} client := &MockEC2Client{}
tt.mocks(client) tt.mocks(client)
r := &ec2Repository{ r := &ec2Repository{
client: client, client: client,
cache: cache.New(10), cache: store,
} }
got, err := r.ListAllInstances() got, err := r.ListAllInstances()
assert.Equal(t, tt.wantErr, err) assert.Equal(t, tt.wantErr, err)
if err == nil {
// Check that results were cached
cachedData, err := r.ListAllInstances()
assert.NoError(t, err)
assert.Equal(t, got, cachedData)
assert.IsType(t, []*ec2.Instance{}, store.Get("ec2ListAllInstances"))
}
changelog, err := diff.Diff(got, tt.want) changelog, err := diff.Diff(got, tt.want)
assert.Nil(t, err) assert.Nil(t, err)
if len(changelog) > 0 { if len(changelog) > 0 {
@ -415,11 +448,6 @@ func Test_ec2Repository_ListAllInstances(t *testing.T) {
} }
t.Fail() t.Fail()
} }
// Check that results were cached
cachedData, err := r.ListAllInstances()
assert.NoError(t, err)
assert.True(t, reflect.DeepEqual(got, cachedData))
}) })
} }
} }
@ -454,14 +482,24 @@ func Test_ec2Repository_ListAllKeyPairs(t *testing.T) {
} }
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
store := cache.New(1)
client := &MockEC2Client{} client := &MockEC2Client{}
tt.mocks(client) tt.mocks(client)
r := &ec2Repository{ r := &ec2Repository{
client: client, client: client,
cache: cache.New(10), cache: store,
} }
got, err := r.ListAllKeyPairs() got, err := r.ListAllKeyPairs()
assert.Equal(t, tt.wantErr, err) assert.Equal(t, tt.wantErr, err)
if err == nil {
// Check that results were cached
cachedData, err := r.ListAllKeyPairs()
assert.NoError(t, err)
assert.Equal(t, got, cachedData)
assert.IsType(t, []*ec2.KeyPairInfo{}, store.Get("ec2ListAllKeyPairs"))
}
changelog, err := diff.Diff(got, tt.want) changelog, err := diff.Diff(got, tt.want)
assert.Nil(t, err) assert.Nil(t, err)
if len(changelog) > 0 { if len(changelog) > 0 {
@ -470,11 +508,6 @@ func Test_ec2Repository_ListAllKeyPairs(t *testing.T) {
} }
t.Fail() t.Fail()
} }
// Check that results were cached
cachedData, err := r.ListAllKeyPairs()
assert.NoError(t, err)
assert.True(t, reflect.DeepEqual(got, cachedData))
}) })
} }
} }