-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
AWS - target - elasticsearch - removed SVC - moved signer to head folder
- Loading branch information
1 parent
2d472a3
commit 70e2b45
Showing
5 changed files
with
296 additions
and
193 deletions.
There are no files selected for viewing
2 changes: 1 addition & 1 deletion
2
targets/aws/elasticsearch/signer/client.go → targets/aws/elasticsearch/client.go
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
package signer | ||
package elasticsearch | ||
|
||
import ( | ||
"context" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,293 @@ | ||
package elasticsearch | ||
|
||
import ( | ||
"context" | ||
"fmt" | ||
"github.com/kubemq-hub/kubemq-targets/config" | ||
"github.com/kubemq-hub/kubemq-targets/types" | ||
"github.com/stretchr/testify/require" | ||
"io/ioutil" | ||
|
||
"testing" | ||
"time" | ||
) | ||
|
||
type testStructure struct { | ||
awsKey string | ||
awsSecretKey string | ||
region string | ||
token string | ||
|
||
json string | ||
domain string | ||
index string | ||
endpoint string | ||
service string | ||
id string | ||
|
||
} | ||
|
||
func getTestStructure() (*testStructure, error) { | ||
t := &testStructure{} | ||
dat, err := ioutil.ReadFile("./../../../credentials/aws/awsKey.txt") | ||
if err != nil { | ||
return nil, err | ||
} | ||
t.awsKey = string(dat) | ||
dat, err = ioutil.ReadFile("./../../../credentials/aws/awsSecretKey.txt") | ||
if err != nil { | ||
return nil, err | ||
} | ||
t.awsSecretKey = string(dat) | ||
dat, err = ioutil.ReadFile("./../../../credentials/aws/region.txt") | ||
if err != nil { | ||
return nil, err | ||
} | ||
t.region = fmt.Sprintf("%s", dat) | ||
t.token = "" | ||
|
||
dat, err = ioutil.ReadFile("./../../../credentials/aws/elasticsearch/signer/json.txt") | ||
if err != nil { | ||
return nil, err | ||
} | ||
t.json = string(dat) | ||
dat, err = ioutil.ReadFile("./../../../credentials/aws/elasticsearch/signer/domain.txt") | ||
if err != nil { | ||
return nil, err | ||
} | ||
t.domain = string(dat) | ||
dat, err = ioutil.ReadFile("./../../../credentials/aws/elasticsearch/signer/index.txt") | ||
if err != nil { | ||
return nil, err | ||
} | ||
t.index = string(dat) | ||
dat, err = ioutil.ReadFile("./../../../credentials/aws/elasticsearch/signer/endpoint.txt") | ||
if err != nil { | ||
return nil, err | ||
} | ||
t.endpoint = string(dat) | ||
dat, err = ioutil.ReadFile("./../../../credentials/aws/elasticsearch/signer/service.txt") | ||
if err != nil { | ||
return nil, err | ||
} | ||
t.service = string(dat) | ||
dat, err = ioutil.ReadFile("./../../../credentials/aws/elasticsearch/signer/id.txt") | ||
if err != nil { | ||
return nil, err | ||
} | ||
t.id = string(dat) | ||
|
||
|
||
return t, nil | ||
} | ||
|
||
func TestClient_Init(t *testing.T) { | ||
dat, err := getTestStructure() | ||
require.NoError(t, err) | ||
tests := []struct { | ||
name string | ||
cfg config.Spec | ||
wantErr bool | ||
}{ | ||
{ | ||
name: "init", | ||
cfg: config.Spec{ | ||
Name: "aws-elasticsearch", | ||
Kind: "aws.elasticsearch", | ||
Properties: map[string]string{ | ||
"aws_key": dat.awsKey, | ||
"aws_secret_key": dat.awsSecretKey, | ||
}, | ||
}, | ||
wantErr: false, | ||
}, { | ||
name: "init - missing key", | ||
cfg: config.Spec{ | ||
Name: "aws-elasticsearch", | ||
Kind: "aws.elasticsearch", | ||
Properties: map[string]string{ | ||
"aws_secret_key": dat.awsSecretKey, | ||
}, | ||
}, | ||
wantErr: true, | ||
}, { | ||
name: "init - missing secret key", | ||
cfg: config.Spec{ | ||
Name: "aws-elasticsearch", | ||
Kind: "aws.elasticsearch", | ||
Properties: map[string]string{ | ||
"aws_key": dat.awsKey, | ||
}, | ||
}, | ||
wantErr: true, | ||
}, | ||
} | ||
for _, tt := range tests { | ||
t.Run(tt.name, func(t *testing.T) { | ||
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) | ||
defer cancel() | ||
c := New() | ||
|
||
err := c.Init(ctx, tt.cfg) | ||
if tt.wantErr { | ||
require.Error(t, err) | ||
t.Logf("init() error = %v, wantSetErr %v", err, tt.wantErr) | ||
return | ||
} | ||
require.NoError(t, err) | ||
require.EqualValues(t, tt.cfg.Name, c.Name()) | ||
}) | ||
} | ||
} | ||
|
||
func TestClient_Do(t *testing.T) { | ||
dat, err := getTestStructure() | ||
require.NoError(t, err) | ||
cfg := config.Spec{ | ||
Name: "aws-elasticsearch", | ||
Kind: "aws.elasticsearch", | ||
Properties: map[string]string{ | ||
"aws_key": dat.awsKey, | ||
"aws_secret_key": dat.awsSecretKey, | ||
}, | ||
} | ||
ctx, cancel := context.WithTimeout(context.Background(), 20*time.Second) | ||
defer cancel() | ||
c := New() | ||
|
||
err = c.Init(ctx, cfg) | ||
require.NoError(t, err) | ||
tests := []struct { | ||
name string | ||
request *types.Request | ||
wantErr bool | ||
}{ | ||
{ | ||
name: "valid post", | ||
request: types.NewRequest(). | ||
SetMetadataKeyValue("method", "POST"). | ||
SetMetadataKeyValue("region", dat.region). | ||
SetMetadataKeyValue("json", dat.json). | ||
SetMetadataKeyValue("domain", dat.domain). | ||
SetMetadataKeyValue("endpoint", dat.endpoint). | ||
SetMetadataKeyValue("index", dat.index). | ||
SetMetadataKeyValue("service", dat.service). | ||
SetMetadataKeyValue("id", dat.id), | ||
wantErr: false, | ||
},{ | ||
name: "invalid post - missing method", | ||
request: types.NewRequest(). | ||
SetMetadataKeyValue("region", dat.region). | ||
SetMetadataKeyValue("json", dat.json). | ||
SetMetadataKeyValue("domain", dat.domain). | ||
SetMetadataKeyValue("endpoint", dat.endpoint). | ||
SetMetadataKeyValue("index", dat.index). | ||
SetMetadataKeyValue("service", dat.service). | ||
SetMetadataKeyValue("id", dat.id), | ||
wantErr: true, | ||
}, | ||
{ | ||
name: "invalid post - incorrect method", | ||
request: types.NewRequest(). | ||
SetMetadataKeyValue("method", "MADE_UP"). | ||
SetMetadataKeyValue("region", dat.region). | ||
SetMetadataKeyValue("json", dat.json). | ||
SetMetadataKeyValue("domain", dat.domain). | ||
SetMetadataKeyValue("endpoint", dat.endpoint). | ||
SetMetadataKeyValue("index", dat.index). | ||
SetMetadataKeyValue("service", dat.service). | ||
SetMetadataKeyValue("id", dat.id), | ||
wantErr: true, | ||
}, | ||
{ | ||
name: "invalid post - missing region", | ||
request: types.NewRequest(). | ||
SetMetadataKeyValue("method", "POST"). | ||
SetMetadataKeyValue("json", dat.json). | ||
SetMetadataKeyValue("domain", dat.domain). | ||
SetMetadataKeyValue("endpoint", dat.endpoint). | ||
SetMetadataKeyValue("index", dat.index). | ||
SetMetadataKeyValue("service", dat.service). | ||
SetMetadataKeyValue("id", dat.id), | ||
wantErr: true, | ||
},{ | ||
name: "invalid post - missing json", | ||
request: types.NewRequest(). | ||
SetMetadataKeyValue("method", "POST"). | ||
SetMetadataKeyValue("region", dat.region). | ||
SetMetadataKeyValue("domain", dat.domain). | ||
SetMetadataKeyValue("endpoint", dat.endpoint). | ||
SetMetadataKeyValue("index", dat.index). | ||
SetMetadataKeyValue("service", dat.service). | ||
SetMetadataKeyValue("id", dat.id), | ||
wantErr: true, | ||
},{ | ||
name: "invalid post - missing domain", | ||
request: types.NewRequest(). | ||
SetMetadataKeyValue("method", "POST"). | ||
SetMetadataKeyValue("region", dat.region). | ||
SetMetadataKeyValue("json", dat.json). | ||
SetMetadataKeyValue("endpoint", dat.endpoint). | ||
SetMetadataKeyValue("index", dat.index). | ||
SetMetadataKeyValue("service", dat.service). | ||
SetMetadataKeyValue("id", dat.id), | ||
wantErr: true, | ||
},{ | ||
name: "invalid post - missing endpoint", | ||
request: types.NewRequest(). | ||
SetMetadataKeyValue("method", "POST"). | ||
SetMetadataKeyValue("region", dat.region). | ||
SetMetadataKeyValue("json", dat.json). | ||
SetMetadataKeyValue("domain", dat.domain). | ||
SetMetadataKeyValue("index", dat.index). | ||
SetMetadataKeyValue("service", dat.service). | ||
SetMetadataKeyValue("id", dat.id), | ||
wantErr: true, | ||
},{ | ||
name: "invalid post - missing index", | ||
request: types.NewRequest(). | ||
SetMetadataKeyValue("method", "POST"). | ||
SetMetadataKeyValue("region", dat.region). | ||
SetMetadataKeyValue("json", dat.json). | ||
SetMetadataKeyValue("domain", dat.domain). | ||
SetMetadataKeyValue("endpoint", dat.endpoint). | ||
SetMetadataKeyValue("service", dat.service). | ||
SetMetadataKeyValue("id", dat.id), | ||
wantErr: true, | ||
},{ | ||
name: "invalid post - missing service ", | ||
request: types.NewRequest(). | ||
SetMetadataKeyValue("method", "POST"). | ||
SetMetadataKeyValue("region", dat.region). | ||
SetMetadataKeyValue("json", dat.json). | ||
SetMetadataKeyValue("domain", dat.domain). | ||
SetMetadataKeyValue("endpoint", dat.endpoint). | ||
SetMetadataKeyValue("index", dat.index). | ||
SetMetadataKeyValue("id", dat.id), | ||
wantErr: true, | ||
},{ | ||
name: "invalid post - missing id", | ||
request: types.NewRequest(). | ||
SetMetadataKeyValue("method", "POST"). | ||
SetMetadataKeyValue("region", dat.region). | ||
SetMetadataKeyValue("json", dat.json). | ||
SetMetadataKeyValue("domain", dat.domain). | ||
SetMetadataKeyValue("endpoint", dat.endpoint). | ||
SetMetadataKeyValue("index", dat.index). | ||
SetMetadataKeyValue("service", dat.service), | ||
wantErr: true, | ||
}, | ||
|
||
} | ||
for _, tt := range tests { | ||
t.Run(tt.name, func(t *testing.T) { | ||
got, err := c.Do(ctx, tt.request) | ||
if tt.wantErr { | ||
require.Error(t, err) | ||
return | ||
} | ||
require.NoError(t, err) | ||
require.NotNil(t, got) | ||
}) | ||
} | ||
} |
2 changes: 1 addition & 1 deletion
2
targets/aws/elasticsearch/signer/metadata.go → targets/aws/elasticsearch/metadata.go
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
package signer | ||
package elasticsearch | ||
|
||
import ( | ||
"fmt" | ||
|
2 changes: 1 addition & 1 deletion
2
targets/aws/elasticsearch/signer/options.go → targets/aws/elasticsearch/options.go
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
package signer | ||
package elasticsearch | ||
|
||
import ( | ||
"fmt" | ||
|
Oops, something went wrong.