Components' init functions should return interfaces (#1997)
* Components' init functions should return interfaces
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
* 💄
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
* pin latest berndverst contrib fork
Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
* Fixed component registration in tests
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
* Updated all cert tests
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
Co-authored-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
This commit is contained in:
parent
b9e1408d69
commit
bcea284c7b
|
|
@ -58,7 +58,7 @@ var webhooks = struct { //nolint:gochecknoglobals
|
|||
m map[string]*outgoingWebhook
|
||||
}{m: make(map[string]*outgoingWebhook)}
|
||||
|
||||
func NewDingTalkWebhook(l logger.Logger) *DingTalkWebhook {
|
||||
func NewDingTalkWebhook(l logger.Logger) bindings.InputOutputBinding {
|
||||
// See guidance on proper HTTP client settings here:
|
||||
// https://medium.com/@nate510/don-t-use-go-s-default-http-client-4804cb19f779
|
||||
dialer := &net.Dialer{ //nolint:exhaustivestruct
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ type DubboOutputBinding struct {
|
|||
|
||||
var dubboBinding *DubboOutputBinding
|
||||
|
||||
func NewDubboOutput(logger logger.Logger) *DubboOutputBinding {
|
||||
func NewDubboOutput(logger logger.Logger) bindings.OutputBinding {
|
||||
if dubboBinding == nil {
|
||||
dubboBinding = &DubboOutputBinding{
|
||||
ctxCache: make(map[string]*dubboContext),
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ type Nacos struct {
|
|||
}
|
||||
|
||||
// NewNacos returns a new Nacos instance.
|
||||
func NewNacos(logger logger.Logger) *Nacos {
|
||||
func NewNacos(logger logger.Logger) bindings.OutputBinding {
|
||||
return &Nacos{
|
||||
logger: logger,
|
||||
watchesLock: sync.Mutex{},
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ func TestInputBindingRead(t *testing.T) { //nolint:paralleltest
|
|||
var err error
|
||||
m.Properties, err = getNacosLocalCacheMetadata()
|
||||
require.NoError(t, err)
|
||||
n := NewNacos(logger.NewLogger("test"))
|
||||
n := NewNacos(logger.NewLogger("test")).(*Nacos)
|
||||
err = n.Init(m)
|
||||
require.NoError(t, err)
|
||||
var count int32
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ type ossMetadata struct {
|
|||
}
|
||||
|
||||
// NewAliCloudOSS returns a new instance.
|
||||
func NewAliCloudOSS(logger logger.Logger) *AliCloudOSS {
|
||||
func NewAliCloudOSS(logger logger.Logger) bindings.OutputBinding {
|
||||
return &AliCloudOSS{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ func (s *AliCloudSlsLogstorage) Init(metadata bindings.Metadata) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func NewAliCloudSlsLogstorage(logger logger.Logger) *AliCloudSlsLogstorage {
|
||||
func NewAliCloudSlsLogstorage(logger logger.Logger) bindings.OutputBinding {
|
||||
logger.Debug("initialized Sls log storage binding component")
|
||||
s := &AliCloudSlsLogstorage{
|
||||
logger: logger,
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ type AliCloudTableStore struct {
|
|||
metadata tablestoreMetadata
|
||||
}
|
||||
|
||||
func NewAliCloudTableStore(log logger.Logger) *AliCloudTableStore {
|
||||
func NewAliCloudTableStore(log logger.Logger) bindings.OutputBinding {
|
||||
return &AliCloudTableStore{
|
||||
logger: log,
|
||||
client: nil,
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ type APNS struct {
|
|||
}
|
||||
|
||||
// NewAPNS will create a new APNS output binding.
|
||||
func NewAPNS(logger logger.Logger) *APNS {
|
||||
func NewAPNS(logger logger.Logger) bindings.OutputBinding {
|
||||
return &APNS{
|
||||
logger: logger,
|
||||
client: &http.Client{},
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ func TestInit(t *testing.T) {
|
|||
privateKeyKey: testPrivateKey,
|
||||
},
|
||||
}}
|
||||
binding := NewAPNS(testLogger)
|
||||
binding := NewAPNS(testLogger).(*APNS)
|
||||
err := binding.Init(metadata)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, developmentPrefix, binding.urlPrefix)
|
||||
|
|
@ -65,7 +65,7 @@ func TestInit(t *testing.T) {
|
|||
privateKeyKey: testPrivateKey,
|
||||
},
|
||||
}}
|
||||
binding := NewAPNS(testLogger)
|
||||
binding := NewAPNS(testLogger).(*APNS)
|
||||
err := binding.Init(metadata)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, productionPrefix, binding.urlPrefix)
|
||||
|
|
@ -79,7 +79,7 @@ func TestInit(t *testing.T) {
|
|||
privateKeyKey: testPrivateKey,
|
||||
},
|
||||
}}
|
||||
binding := NewAPNS(testLogger)
|
||||
binding := NewAPNS(testLogger).(*APNS)
|
||||
err := binding.Init(metadata)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, productionPrefix, binding.urlPrefix)
|
||||
|
|
@ -94,7 +94,7 @@ func TestInit(t *testing.T) {
|
|||
privateKeyKey: testPrivateKey,
|
||||
},
|
||||
}}
|
||||
binding := NewAPNS(testLogger)
|
||||
binding := NewAPNS(testLogger).(*APNS)
|
||||
err := binding.Init(metadata)
|
||||
assert.Error(t, err, "invalid value for development parameter: True")
|
||||
})
|
||||
|
|
@ -106,7 +106,7 @@ func TestInit(t *testing.T) {
|
|||
privateKeyKey: testPrivateKey,
|
||||
},
|
||||
}}
|
||||
binding := NewAPNS(testLogger)
|
||||
binding := NewAPNS(testLogger).(*APNS)
|
||||
err := binding.Init(metadata)
|
||||
assert.Error(t, err, "the key-id parameter is required")
|
||||
})
|
||||
|
|
@ -119,7 +119,7 @@ func TestInit(t *testing.T) {
|
|||
privateKeyKey: testPrivateKey,
|
||||
},
|
||||
}}
|
||||
binding := NewAPNS(testLogger)
|
||||
binding := NewAPNS(testLogger).(*APNS)
|
||||
err := binding.Init(metadata)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, testKeyID, binding.authorizationBuilder.keyID)
|
||||
|
|
@ -132,7 +132,7 @@ func TestInit(t *testing.T) {
|
|||
privateKeyKey: testPrivateKey,
|
||||
},
|
||||
}}
|
||||
binding := NewAPNS(testLogger)
|
||||
binding := NewAPNS(testLogger).(*APNS)
|
||||
err := binding.Init(metadata)
|
||||
assert.Error(t, err, "the team-id parameter is required")
|
||||
})
|
||||
|
|
@ -145,7 +145,7 @@ func TestInit(t *testing.T) {
|
|||
privateKeyKey: testPrivateKey,
|
||||
},
|
||||
}}
|
||||
binding := NewAPNS(testLogger)
|
||||
binding := NewAPNS(testLogger).(*APNS)
|
||||
err := binding.Init(metadata)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, testTeamID, binding.authorizationBuilder.teamID)
|
||||
|
|
@ -158,7 +158,7 @@ func TestInit(t *testing.T) {
|
|||
teamIDKey: testTeamID,
|
||||
},
|
||||
}}
|
||||
binding := NewAPNS(testLogger)
|
||||
binding := NewAPNS(testLogger).(*APNS)
|
||||
err := binding.Init(metadata)
|
||||
assert.Error(t, err, "the private-key parameter is required")
|
||||
})
|
||||
|
|
@ -171,7 +171,7 @@ func TestInit(t *testing.T) {
|
|||
privateKeyKey: testPrivateKey,
|
||||
},
|
||||
}}
|
||||
binding := NewAPNS(testLogger)
|
||||
binding := NewAPNS(testLogger).(*APNS)
|
||||
err := binding.Init(metadata)
|
||||
assert.Nil(t, err)
|
||||
assert.NotNil(t, binding.authorizationBuilder.privateKey)
|
||||
|
|
@ -180,7 +180,7 @@ func TestInit(t *testing.T) {
|
|||
|
||||
func TestOperations(t *testing.T) {
|
||||
testLogger := logger.NewLogger("test")
|
||||
testBinding := NewAPNS(testLogger)
|
||||
testBinding := NewAPNS(testLogger).(*APNS)
|
||||
operations := testBinding.Operations()
|
||||
assert.Equal(t, 1, len(operations))
|
||||
assert.Equal(t, bindings.CreateOperation, operations[0])
|
||||
|
|
@ -326,7 +326,7 @@ func TestInvoke(t *testing.T) {
|
|||
}
|
||||
|
||||
func makeTestBinding(t *testing.T, log logger.Logger) *APNS {
|
||||
testBinding := NewAPNS(log)
|
||||
testBinding := NewAPNS(log).(*APNS)
|
||||
bindingMetadata := bindings.Metadata{Base: metadata.Base{
|
||||
Properties: map[string]string{
|
||||
developmentKey: "true",
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ type dynamoDBMetadata struct {
|
|||
}
|
||||
|
||||
// NewDynamoDB returns a new DynamoDB instance.
|
||||
func NewDynamoDB(logger logger.Logger) *DynamoDB {
|
||||
func NewDynamoDB(logger logger.Logger) bindings.OutputBinding {
|
||||
return &DynamoDB{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ type recordProcessor struct {
|
|||
}
|
||||
|
||||
// NewAWSKinesis returns a new AWS Kinesis instance.
|
||||
func NewAWSKinesis(logger logger.Logger) *AWSKinesis {
|
||||
func NewAWSKinesis(logger logger.Logger) bindings.InputOutputBinding {
|
||||
return &AWSKinesis{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ type listPayload struct {
|
|||
}
|
||||
|
||||
// NewAWSS3 returns a new AWSS3 instance.
|
||||
func NewAWSS3(logger logger.Logger) *AWSS3 {
|
||||
func NewAWSS3(logger logger.Logger) bindings.OutputBinding {
|
||||
return &AWSS3{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@ func TestMergeWithRequestMetadata(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestGetOption(t *testing.T) {
|
||||
s3 := NewAWSS3(logger.NewLogger("s3"))
|
||||
s3 := NewAWSS3(logger.NewLogger("s3")).(*AWSS3)
|
||||
s3.metadata = &s3Metadata{}
|
||||
|
||||
t.Run("return error if key is missing", func(t *testing.T) {
|
||||
|
|
@ -154,7 +154,7 @@ func TestGetOption(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestDeleteOption(t *testing.T) {
|
||||
s3 := NewAWSS3(logger.NewLogger("s3"))
|
||||
s3 := NewAWSS3(logger.NewLogger("s3")).(*AWSS3)
|
||||
s3.metadata = &s3Metadata{}
|
||||
|
||||
t.Run("return error if key is missing", func(t *testing.T) {
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ type sesMetadata struct {
|
|||
}
|
||||
|
||||
// NewAWSSES creates a new AWSSES binding instance.
|
||||
func NewAWSSES(logger logger.Logger) *AWSSES {
|
||||
func NewAWSSES(logger logger.Logger) bindings.OutputBinding {
|
||||
return &AWSSES{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ type dataPayload struct {
|
|||
}
|
||||
|
||||
// NewAWSSNS creates a new AWSSNS binding instance.
|
||||
func NewAWSSNS(logger logger.Logger) *AWSSNS {
|
||||
func NewAWSSNS(logger logger.Logger) bindings.OutputBinding {
|
||||
return &AWSSNS{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ type sqsMetadata struct {
|
|||
}
|
||||
|
||||
// NewAWSSQS returns a new AWS SQS instance.
|
||||
func NewAWSSQS(logger logger.Logger) *AWSSQS {
|
||||
func NewAWSSQS(logger logger.Logger) bindings.InputOutputBinding {
|
||||
return &AWSSQS{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ type listPayload struct {
|
|||
}
|
||||
|
||||
// NewAzureBlobStorage returns a new Azure Blob Storage instance.
|
||||
func NewAzureBlobStorage(logger logger.Logger) *AzureBlobStorage {
|
||||
func NewAzureBlobStorage(logger logger.Logger) bindings.OutputBinding {
|
||||
return &AzureBlobStorage{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ import (
|
|||
|
||||
func TestParseMetadata(t *testing.T) {
|
||||
m := bindings.Metadata{}
|
||||
blobStorage := NewAzureBlobStorage(logger.NewLogger("test"))
|
||||
blobStorage := NewAzureBlobStorage(logger.NewLogger("test")).(*AzureBlobStorage)
|
||||
|
||||
t.Run("parse all metadata", func(t *testing.T) {
|
||||
m.Properties = map[string]string{
|
||||
|
|
@ -83,7 +83,7 @@ func TestParseMetadata(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestGetOption(t *testing.T) {
|
||||
blobStorage := NewAzureBlobStorage(logger.NewLogger("test"))
|
||||
blobStorage := NewAzureBlobStorage(logger.NewLogger("test")).(*AzureBlobStorage)
|
||||
|
||||
t.Run("return error if blobName is missing", func(t *testing.T) {
|
||||
r := bindings.InvokeRequest{}
|
||||
|
|
@ -95,7 +95,7 @@ func TestGetOption(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestDeleteOption(t *testing.T) {
|
||||
blobStorage := NewAzureBlobStorage(logger.NewLogger("test"))
|
||||
blobStorage := NewAzureBlobStorage(logger.NewLogger("test")).(*AzureBlobStorage)
|
||||
|
||||
t.Run("return error if blobName is missing", func(t *testing.T) {
|
||||
r := bindings.InvokeRequest{}
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ type cosmosDBCredentials struct {
|
|||
const timeoutValue = 30
|
||||
|
||||
// NewCosmosDB returns a new CosmosDB instance.
|
||||
func NewCosmosDB(logger logger.Logger) *CosmosDB {
|
||||
func NewCosmosDB(logger logger.Logger) bindings.OutputBinding {
|
||||
return &CosmosDB{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ type cosmosDBGremlinAPICredentials struct {
|
|||
}
|
||||
|
||||
// NewCosmosDBGremlinAPI returns a new CosmosDBGremlinAPI instance.
|
||||
func NewCosmosDBGremlinAPI(logger logger.Logger) *CosmosDBGremlinAPI {
|
||||
func NewCosmosDBGremlinAPI(logger logger.Logger) bindings.OutputBinding {
|
||||
return &CosmosDBGremlinAPI{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ type azureEventGridMetadata struct {
|
|||
}
|
||||
|
||||
// NewAzureEventGrid returns a new Azure Event Grid instance.
|
||||
func NewAzureEventGrid(logger logger.Logger) *AzureEventGrid {
|
||||
func NewAzureEventGrid(logger logger.Logger) bindings.InputOutputBinding {
|
||||
return &AzureEventGrid{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ func (m azureEventHubsMetadata) partitioned() bool {
|
|||
}
|
||||
|
||||
// NewAzureEventHubs returns a new Azure Event hubs instance.
|
||||
func NewAzureEventHubs(logger logger.Logger) *AzureEventHubs {
|
||||
func NewAzureEventHubs(logger logger.Logger) bindings.InputOutputBinding {
|
||||
return &AzureEventHubs{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ func TestParseMetadata(t *testing.T) {
|
|||
t.Run(tt.name, func(t *testing.T) {
|
||||
m := bindings.Metadata{}
|
||||
m.Properties = tt.properties
|
||||
a := NewAzureServiceBusQueues(logger.NewLogger("test"))
|
||||
a := NewAzureServiceBusQueues(logger.NewLogger("test")).(*AzureServiceBusQueues)
|
||||
meta, err := a.parseMetadata(m)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, tt.expectedConnectionString, meta.ConnectionString)
|
||||
|
|
@ -137,7 +137,7 @@ func TestParseMetadataWithInvalidTTL(t *testing.T) {
|
|||
m := bindings.Metadata{}
|
||||
m.Properties = tt.properties
|
||||
|
||||
a := NewAzureServiceBusQueues(logger.NewLogger("test"))
|
||||
a := NewAzureServiceBusQueues(logger.NewLogger("test")).(*AzureServiceBusQueues)
|
||||
_, err := a.parseMetadata(m)
|
||||
assert.NotNil(t, err)
|
||||
})
|
||||
|
|
@ -183,7 +183,7 @@ func TestParseMetadataConnectionStringAndNamespaceNameExclusivity(t *testing.T)
|
|||
t.Run(tt.name, func(t *testing.T) {
|
||||
m := bindings.Metadata{}
|
||||
m.Properties = tt.properties
|
||||
a := NewAzureServiceBusQueues(logger.NewLogger("test"))
|
||||
a := NewAzureServiceBusQueues(logger.NewLogger("test")).(*AzureServiceBusQueues)
|
||||
meta, err := a.parseMetadata(m)
|
||||
if tt.expectedErr {
|
||||
assert.NotNil(t, err)
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ type AzureServiceBusQueues struct {
|
|||
}
|
||||
|
||||
// NewAzureServiceBusQueues returns a new AzureServiceBusQueues instance.
|
||||
func NewAzureServiceBusQueues(logger logger.Logger) *AzureServiceBusQueues {
|
||||
func NewAzureServiceBusQueues(logger logger.Logger) bindings.InputOutputBinding {
|
||||
return &AzureServiceBusQueues{
|
||||
senderLock: sync.RWMutex{},
|
||||
logger: logger,
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ func init() {
|
|||
}
|
||||
|
||||
// NewSignalR creates a new output binding for Azure SignalR.
|
||||
func NewSignalR(logger logger.Logger) *SignalR {
|
||||
func NewSignalR(logger logger.Logger) bindings.OutputBinding {
|
||||
return &SignalR{
|
||||
logger: logger,
|
||||
httpClient: httpClient,
|
||||
|
|
|
|||
|
|
@ -186,7 +186,7 @@ func TestConfigurationValid(t *testing.T) {
|
|||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
s := NewSignalR(logger.NewLogger("test"))
|
||||
s := NewSignalR(logger.NewLogger("test")).(*SignalR)
|
||||
err := s.parseMetadata(tt.properties)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, tt.expectedEndpoint, s.endpoint)
|
||||
|
|
@ -256,7 +256,7 @@ func TestInvalidConfigurations(t *testing.T) {
|
|||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
s := NewSignalR(logger.NewLogger("test"))
|
||||
s := NewSignalR(logger.NewLogger("test")).(*SignalR)
|
||||
err := s.parseMetadata(tt.properties)
|
||||
assert.NotNil(t, err)
|
||||
})
|
||||
|
|
@ -287,7 +287,7 @@ func TestWriteShouldFail(t *testing.T) {
|
|||
response: &http.Response{StatusCode: http.StatusOK, Body: io.NopCloser(strings.NewReader(""))},
|
||||
}
|
||||
|
||||
s := NewSignalR(logger.NewLogger("test"))
|
||||
s := NewSignalR(logger.NewLogger("test")).(*SignalR)
|
||||
s.endpoint = "https://fake.service.signalr.net"
|
||||
s.accessKey = "G7+nIt9n48+iYSltPRf1v8kE+MupFfEt/9NSNTKOdzA="
|
||||
s.httpClient = &http.Client{
|
||||
|
|
@ -338,7 +338,7 @@ func TestWriteShouldSucceed(t *testing.T) {
|
|||
response: &http.Response{StatusCode: http.StatusOK, Body: io.NopCloser(strings.NewReader(""))},
|
||||
}
|
||||
|
||||
s := NewSignalR(logger.NewLogger("test"))
|
||||
s := NewSignalR(logger.NewLogger("test")).(*SignalR)
|
||||
s.endpoint = "https://fake.service.signalr.net"
|
||||
s.accessKey = "fakekey"
|
||||
s.httpClient = &http.Client{
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@ type storageQueuesMetadata struct {
|
|||
}
|
||||
|
||||
// NewAzureStorageQueues returns a new AzureStorageQueues instance.
|
||||
func NewAzureStorageQueues(logger logger.Logger) *AzureStorageQueues {
|
||||
func NewAzureStorageQueues(logger logger.Logger) bindings.InputOutputBinding {
|
||||
return &AzureStorageQueues{helper: NewAzureQueueHelper(logger), logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,20 @@
|
|||
/*
|
||||
Copyright 2021 The Dapr Authors
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
package bindings
|
||||
|
||||
// InputOutputBinding is the interface for bindings that implement both input and output bindings.
|
||||
type InputOutputBinding interface {
|
||||
InputBinding
|
||||
OutputBinding
|
||||
}
|
||||
|
|
@ -43,7 +43,7 @@ type commercetoolsMetadata struct {
|
|||
scopes string
|
||||
}
|
||||
|
||||
func NewCommercetools(logger logger.Logger) *Binding {
|
||||
func NewCommercetools(logger logger.Logger) bindings.OutputBinding {
|
||||
return &Binding{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ type Binding struct {
|
|||
}
|
||||
|
||||
// NewCron returns a new Cron event input binding.
|
||||
func NewCron(logger logger.Logger) *Binding {
|
||||
func NewCron(logger logger.Logger) bindings.InputOutputBinding {
|
||||
return &Binding{
|
||||
logger: logger,
|
||||
parser: cron.NewParser(
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ func getNewCron() *Binding {
|
|||
l.SetOutputLevel(logger.DebugLevel)
|
||||
}
|
||||
|
||||
return NewCron(l)
|
||||
return NewCron(l).(*Binding)
|
||||
}
|
||||
|
||||
// go test -v -timeout 15s -count=1 ./bindings/cron/.
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ type createResponse struct {
|
|||
}
|
||||
|
||||
// NewGCPStorage returns a new GCP storage instance.
|
||||
func NewGCPStorage(logger logger.Logger) *GCPStorage {
|
||||
func NewGCPStorage(logger logger.Logger) bindings.OutputBinding {
|
||||
return &GCPStorage{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ type pubSubMetadata struct {
|
|||
}
|
||||
|
||||
// NewGCPPubSub returns a new GCPPubSub instance.
|
||||
func NewGCPPubSub(logger logger.Logger) *GCPPubSub {
|
||||
func NewGCPPubSub(logger logger.Logger) bindings.InputOutputBinding {
|
||||
return &GCPPubSub{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ type GraphQL struct {
|
|||
}
|
||||
|
||||
// NewGraphQL returns a new GraphQL binding instance.
|
||||
func NewGraphQL(logger logger.Logger) *GraphQL {
|
||||
func NewGraphQL(logger logger.Logger) bindings.OutputBinding {
|
||||
return &GraphQL{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ type httpMetadata struct {
|
|||
}
|
||||
|
||||
// NewHTTP returns a new HTTPSource.
|
||||
func NewHTTP(logger logger.Logger) *HTTPSource {
|
||||
func NewHTTP(logger logger.Logger) bindings.OutputBinding {
|
||||
return &HTTPSource{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ type listPayload struct {
|
|||
}
|
||||
|
||||
// NewHuaweiOBS returns a new Huawei OBS instance.
|
||||
func NewHuaweiOBS(logger logger.Logger) *HuaweiOBS {
|
||||
func NewHuaweiOBS(logger logger.Logger) bindings.OutputBinding {
|
||||
return &HuaweiOBS{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ func (m *MockHuaweiOBSService) ListObjects(ctx context.Context, input *obs.ListO
|
|||
}
|
||||
|
||||
func TestParseMetadata(t *testing.T) {
|
||||
obs := NewHuaweiOBS(logger.NewLogger("test"))
|
||||
obs := NewHuaweiOBS(logger.NewLogger("test")).(*HuaweiOBS)
|
||||
|
||||
t.Run("Has correct metadata", func(t *testing.T) {
|
||||
m := bindings.Metadata{}
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ type influxMetadata struct {
|
|||
}
|
||||
|
||||
// NewInflux returns a new kafka binding instance.
|
||||
func NewInflux(logger logger.Logger) *Influx {
|
||||
func NewInflux(logger logger.Logger) bindings.OutputBinding {
|
||||
return &Influx{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ func TestOperations(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestInflux_Init(t *testing.T) {
|
||||
influx := NewInflux(logger.NewLogger("test"))
|
||||
influx := NewInflux(logger.NewLogger("test")).(*Influx)
|
||||
assert.Nil(t, influx.queryAPI)
|
||||
assert.Nil(t, influx.writeAPI)
|
||||
assert.Nil(t, influx.metadata)
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ type IPFSBinding struct {
|
|||
}
|
||||
|
||||
// NewIPFSBinding returns a new IPFSBinding.
|
||||
func NewIPFSBinding(logger logger.Logger) *IPFSBinding {
|
||||
func NewIPFSBinding(logger logger.Logger) bindings.OutputBinding {
|
||||
return &IPFSBinding{
|
||||
logger: logger,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ func TestSingleNodeGlobalNetwork(t *testing.T) {
|
|||
sort.Strings(folderCids)
|
||||
|
||||
t.Run("init node", func(t *testing.T) {
|
||||
b = NewIPFSBinding(logger.NewLogger("tests"))
|
||||
b = NewIPFSBinding(logger.NewLogger("tests")).(*IPFSBinding)
|
||||
err := b.Init(bindings.Metadata{Base: metadata.Base{
|
||||
Properties: map[string]string{
|
||||
"repoPath": repoPath,
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ type Binding struct {
|
|||
}
|
||||
|
||||
// NewKafka returns a new kafka binding instance.
|
||||
func NewKafka(logger logger.Logger) *Binding {
|
||||
func NewKafka(logger logger.Logger) bindings.InputOutputBinding {
|
||||
k := kafka.NewKafka(logger)
|
||||
// in kafka binding component, disable consumer retry by default
|
||||
k.DefaultConsumeRetryEnabled = false
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ type createResponse struct {
|
|||
}
|
||||
|
||||
// NewLocalStorage returns a new LocalStorage instance.
|
||||
func NewLocalStorage(logger logger.Logger) *LocalStorage {
|
||||
func NewLocalStorage(logger logger.Logger) bindings.OutputBinding {
|
||||
return &LocalStorage{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ import (
|
|||
func TestParseMetadata(t *testing.T) {
|
||||
m := bindings.Metadata{}
|
||||
m.Properties = map[string]string{"rootPath": "/files"}
|
||||
localStorage := NewLocalStorage(logger.NewLogger("test"))
|
||||
localStorage := NewLocalStorage(logger.NewLogger("test")).(*LocalStorage)
|
||||
meta, err := localStorage.parseMetadata(m)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, "/files", meta.RootPath)
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ type MQTT struct {
|
|||
}
|
||||
|
||||
// NewMQTT returns a new MQTT instance.
|
||||
func NewMQTT(logger logger.Logger) *MQTT {
|
||||
func NewMQTT(logger logger.Logger) bindings.InputOutputBinding {
|
||||
return &MQTT{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ func TestInvokeWithTopic(t *testing.T) {
|
|||
|
||||
logger := logger.NewLogger("test")
|
||||
|
||||
r := NewMQTT(logger)
|
||||
r := NewMQTT(logger).(*MQTT)
|
||||
err := r.Init(metadata)
|
||||
assert.Nil(t, err)
|
||||
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@ func TestParseMetadata(t *testing.T) {
|
|||
topic := "/topic/where/the/data/is/from"
|
||||
|
||||
logger := logger.NewLogger("test")
|
||||
m := NewMQTT(logger)
|
||||
m := NewMQTT(logger).(*MQTT)
|
||||
m.ctx, m.cancel = context.WithCancel(context.Background())
|
||||
|
||||
m.handleMessage(context.Background(), func(ctx context.Context, r *bindings.ReadResponse) ([]byte, error) {
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ type Mysql struct {
|
|||
}
|
||||
|
||||
// NewMysql returns a new MySQL output binding.
|
||||
func NewMysql(logger logger.Logger) *Mysql {
|
||||
func NewMysql(logger logger.Logger) bindings.OutputBinding {
|
||||
return &Mysql{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ func TestMysqlIntegration(t *testing.T) {
|
|||
t.SkipNow()
|
||||
}
|
||||
|
||||
b := NewMysql(logger.NewLogger("test"))
|
||||
b := NewMysql(logger.NewLogger("test")).(*Mysql)
|
||||
m := bindings.Metadata{Base: metadata.Base{Properties: map[string]string{connectionURLKey: url}}}
|
||||
if err := b.Init(m); err != nil {
|
||||
t.Fatal(err)
|
||||
|
|
|
|||
|
|
@ -180,7 +180,7 @@ func mockDatabase(t *testing.T) (*Mysql, sqlmock.Sqlmock, error) {
|
|||
t.Fatalf("an error '%s' was not expected when opening a stub database connection", err)
|
||||
}
|
||||
|
||||
m := NewMysql(logger.NewLogger("test"))
|
||||
m := NewMysql(logger.NewLogger("test")).(*Mysql)
|
||||
m.db = db
|
||||
|
||||
return m, mock, err
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ type Postgres struct {
|
|||
}
|
||||
|
||||
// NewPostgres returns a new PostgreSQL output binding.
|
||||
func NewPostgres(logger logger.Logger) *Postgres {
|
||||
func NewPostgres(logger logger.Logger) bindings.OutputBinding {
|
||||
return &Postgres{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ func TestPostgresIntegration(t *testing.T) {
|
|||
}
|
||||
|
||||
// live DB test
|
||||
b := NewPostgres(logger.NewLogger("test"))
|
||||
b := NewPostgres(logger.NewLogger("test")).(*Postgres)
|
||||
m := bindings.Metadata{Base: metadata.Base{Properties: map[string]string{connectionURLKey: url}}}
|
||||
if err := b.Init(m); err != nil {
|
||||
t.Fatal(err)
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ type postmarkMetadata struct {
|
|||
}
|
||||
|
||||
// NewPostmark returns a new Postmark bindings instance.
|
||||
func NewPostmark(logger logger.Logger) *Postmark {
|
||||
func NewPostmark(logger logger.Logger) bindings.OutputBinding {
|
||||
return &Postmark{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ type rabbitMQMetadata struct {
|
|||
}
|
||||
|
||||
// NewRabbitMQ returns a new rabbitmq instance.
|
||||
func NewRabbitMQ(logger logger.Logger) *RabbitMQ {
|
||||
func NewRabbitMQ(logger logger.Logger) bindings.InputOutputBinding {
|
||||
return &RabbitMQ{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ func TestQueuesWithTTL(t *testing.T) {
|
|||
|
||||
logger := logger.NewLogger("test")
|
||||
|
||||
r := NewRabbitMQ(logger)
|
||||
r := NewRabbitMQ(logger).(*RabbitMQ)
|
||||
err := r.Init(metadata)
|
||||
assert.Nil(t, err)
|
||||
|
||||
|
|
@ -139,7 +139,7 @@ func TestPublishingWithTTL(t *testing.T) {
|
|||
|
||||
logger := logger.NewLogger("test")
|
||||
|
||||
rabbitMQBinding1 := NewRabbitMQ(logger)
|
||||
rabbitMQBinding1 := NewRabbitMQ(logger).(*RabbitMQ)
|
||||
err := rabbitMQBinding1.Init(metadata)
|
||||
assert.Nil(t, err)
|
||||
|
||||
|
|
@ -170,7 +170,7 @@ func TestPublishingWithTTL(t *testing.T) {
|
|||
assert.False(t, ok)
|
||||
|
||||
// Getting before it is expired, should return it
|
||||
rabbitMQBinding2 := NewRabbitMQ(logger)
|
||||
rabbitMQBinding2 := NewRabbitMQ(logger).(*RabbitMQ)
|
||||
err = rabbitMQBinding2.Init(metadata)
|
||||
assert.Nil(t, err)
|
||||
|
||||
|
|
@ -215,7 +215,7 @@ func TestExclusiveQueue(t *testing.T) {
|
|||
|
||||
logger := logger.NewLogger("test")
|
||||
|
||||
r := NewRabbitMQ(logger)
|
||||
r := NewRabbitMQ(logger).(*RabbitMQ)
|
||||
err := r.Init(metadata)
|
||||
assert.Nil(t, err)
|
||||
|
||||
|
|
@ -267,7 +267,7 @@ func TestPublishWithPriority(t *testing.T) {
|
|||
|
||||
logger := logger.NewLogger("test")
|
||||
|
||||
r := NewRabbitMQ(logger)
|
||||
r := NewRabbitMQ(logger).(*RabbitMQ)
|
||||
err := r.Init(metadata)
|
||||
assert.Nil(t, err)
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ type Redis struct {
|
|||
}
|
||||
|
||||
// NewRedis returns a new redis bindings instance.
|
||||
func NewRedis(logger logger.Logger) *Redis {
|
||||
func NewRedis(logger logger.Logger) bindings.OutputBinding {
|
||||
return &Redis{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ type StateConfig struct {
|
|||
}
|
||||
|
||||
// NewRethinkDBStateChangeBinding returns a new RethinkDB actor event input binding.
|
||||
func NewRethinkDBStateChangeBinding(logger logger.Logger) *Binding {
|
||||
func NewRethinkDBStateChangeBinding(logger logger.Logger) bindings.InputBinding {
|
||||
return &Binding{
|
||||
logger: logger,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ func getNewRethinkActorBinding() *Binding {
|
|||
l.SetOutputLevel(logger.DebugLevel)
|
||||
}
|
||||
|
||||
return NewRethinkDBStateChangeBinding(l)
|
||||
return NewRethinkDBStateChangeBinding(l).(*Binding)
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ type Metadata struct {
|
|||
}
|
||||
|
||||
// NewSMTP returns a new smtp binding instance.
|
||||
func NewSMTP(logger logger.Logger) *Mailer {
|
||||
func NewSMTP(logger logger.Logger) bindings.OutputBinding {
|
||||
return &Mailer{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ type sendGridRestError struct {
|
|||
}
|
||||
|
||||
// NewSendGrid returns a new SendGrid bindings instance.
|
||||
func NewSendGrid(logger logger.Logger) *SendGrid {
|
||||
func NewSendGrid(logger logger.Logger) bindings.OutputBinding {
|
||||
return &SendGrid{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ type twilioMetadata struct {
|
|||
timeout time.Duration
|
||||
}
|
||||
|
||||
func NewSMS(logger logger.Logger) *SMS {
|
||||
func NewSMS(logger logger.Logger) bindings.OutputBinding {
|
||||
return &SMS{
|
||||
logger: logger,
|
||||
httpClient: &http.Client{
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ func TestWriteShouldSucceed(t *testing.T) {
|
|||
"toNumber": "toNumber", "fromNumber": "fromNumber",
|
||||
"accountSid": "accountSid", "authToken": "authToken",
|
||||
}
|
||||
tw := NewSMS(logger.NewLogger("test"))
|
||||
tw := NewSMS(logger.NewLogger("test")).(*SMS)
|
||||
tw.httpClient = &http.Client{
|
||||
Transport: httpTransport,
|
||||
}
|
||||
|
|
@ -112,7 +112,7 @@ func TestWriteShouldFail(t *testing.T) {
|
|||
"fromNumber": "fromNumber",
|
||||
"accountSid": "accountSid", "authToken": "authToken",
|
||||
}
|
||||
tw := NewSMS(logger.NewLogger("test"))
|
||||
tw := NewSMS(logger.NewLogger("test")).(*SMS)
|
||||
tw.httpClient = &http.Client{
|
||||
Transport: httpTransport,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ type Binding struct {
|
|||
}
|
||||
|
||||
// NewTwitter returns a new Twitter event input binding.
|
||||
func NewTwitter(logger logger.Logger) *Binding {
|
||||
func NewTwitter(logger logger.Logger) bindings.InputOutputBinding {
|
||||
return &Binding{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ func getRuntimeMetadata() map[string]string {
|
|||
// go test -v -count=1 ./bindings/twitter/.
|
||||
func TestInit(t *testing.T) {
|
||||
m := getTestMetadata()
|
||||
tw := NewTwitter(logger.NewLogger("test"))
|
||||
tw := NewTwitter(logger.NewLogger("test")).(*Binding)
|
||||
err := tw.Init(m)
|
||||
assert.Nilf(t, err, "error initializing valid metadata properties")
|
||||
}
|
||||
|
|
@ -66,7 +66,7 @@ func TestInit(t *testing.T) {
|
|||
// TestReadError excutes the Read method and fails before the Twitter API call
|
||||
// go test -v -count=1 -run TestReadError ./bindings/twitter/.
|
||||
func TestReadError(t *testing.T) {
|
||||
tw := NewTwitter(logger.NewLogger("test"))
|
||||
tw := NewTwitter(logger.NewLogger("test")).(*Binding)
|
||||
m := getTestMetadata()
|
||||
err := tw.Init(m)
|
||||
assert.Nilf(t, err, "error initializing valid metadata properties")
|
||||
|
|
@ -90,7 +90,7 @@ func TestRead(t *testing.T) {
|
|||
m.Properties = getRuntimeMetadata()
|
||||
// add query
|
||||
m.Properties["query"] = "microsoft"
|
||||
tw := NewTwitter(logger.NewLogger("test"))
|
||||
tw := NewTwitter(logger.NewLogger("test")).(*Binding)
|
||||
tw.logger.SetOutputLevel(logger.DebugLevel)
|
||||
err := tw.Init(m)
|
||||
assert.Nilf(t, err, "error initializing read")
|
||||
|
|
@ -126,7 +126,7 @@ func TestInvoke(t *testing.T) {
|
|||
}
|
||||
m := bindings.Metadata{}
|
||||
m.Properties = getRuntimeMetadata()
|
||||
tw := NewTwitter(logger.NewLogger("test"))
|
||||
tw := NewTwitter(logger.NewLogger("test")).(*Binding)
|
||||
tw.logger.SetOutputLevel(logger.DebugLevel)
|
||||
err := tw.Init(m)
|
||||
assert.Nilf(t, err, "error initializing Invoke")
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ type ZeebeCommand struct {
|
|||
}
|
||||
|
||||
// NewZeebeCommand returns a new ZeebeCommand instance.
|
||||
func NewZeebeCommand(logger logger.Logger) *ZeebeCommand {
|
||||
func NewZeebeCommand(logger logger.Logger) bindings.OutputBinding {
|
||||
return &ZeebeCommand{clientFactory: zeebe.NewClientFactoryImpl(logger), logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ type jobHandler struct {
|
|||
}
|
||||
|
||||
// NewZeebeJobWorker returns a new ZeebeJobWorker instance.
|
||||
func NewZeebeJobWorker(logger logger.Logger) *ZeebeJobWorker {
|
||||
func NewZeebeJobWorker(logger logger.Logger) bindings.InputBinding {
|
||||
return &ZeebeJobWorker{clientFactory: zeebe.NewClientFactoryImpl(logger), logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ type StandaloneRedisLock struct {
|
|||
|
||||
// NewStandaloneRedisLock returns a new standalone redis lock.
|
||||
// Do not use this lock with a redis cluster, which might lead to unexpected lock loss.
|
||||
func NewStandaloneRedisLock(logger logger.Logger) *StandaloneRedisLock {
|
||||
func NewStandaloneRedisLock(logger logger.Logger) lock.Store {
|
||||
s := &StandaloneRedisLock{
|
||||
logger: logger,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ const resourceID = "resource_xxx"
|
|||
func TestStandaloneRedisLock_InitError(t *testing.T) {
|
||||
t.Run("error when connection fail", func(t *testing.T) {
|
||||
// construct component
|
||||
comp := NewStandaloneRedisLock(logger.NewLogger("test"))
|
||||
comp := NewStandaloneRedisLock(logger.NewLogger("test")).(*StandaloneRedisLock)
|
||||
defer comp.Close()
|
||||
|
||||
cfg := lock.Metadata{Base: metadata.Base{
|
||||
|
|
@ -47,7 +47,7 @@ func TestStandaloneRedisLock_InitError(t *testing.T) {
|
|||
|
||||
t.Run("error when no host", func(t *testing.T) {
|
||||
// construct component
|
||||
comp := NewStandaloneRedisLock(logger.NewLogger("test"))
|
||||
comp := NewStandaloneRedisLock(logger.NewLogger("test")).(*StandaloneRedisLock)
|
||||
defer comp.Close()
|
||||
|
||||
cfg := lock.Metadata{Base: metadata.Base{
|
||||
|
|
@ -63,7 +63,7 @@ func TestStandaloneRedisLock_InitError(t *testing.T) {
|
|||
|
||||
t.Run("error when wrong MaxRetries", func(t *testing.T) {
|
||||
// construct component
|
||||
comp := NewStandaloneRedisLock(logger.NewLogger("test"))
|
||||
comp := NewStandaloneRedisLock(logger.NewLogger("test")).(*StandaloneRedisLock)
|
||||
defer comp.Close()
|
||||
|
||||
cfg := lock.Metadata{Base: metadata.Base{
|
||||
|
|
@ -86,7 +86,7 @@ func TestStandaloneRedisLock_TryLock(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
defer s.Close()
|
||||
// construct component
|
||||
comp := NewStandaloneRedisLock(logger.NewLogger("test"))
|
||||
comp := NewStandaloneRedisLock(logger.NewLogger("test")).(*StandaloneRedisLock)
|
||||
defer comp.Close()
|
||||
|
||||
cfg := lock.Metadata{Base: metadata.Base{
|
||||
|
|
|
|||
|
|
@ -171,7 +171,7 @@ func NewSubscriber() Subscriber {
|
|||
}
|
||||
|
||||
// NewResolver creates the instance of mDNS name resolver.
|
||||
func NewResolver(logger logger.Logger) *Resolver {
|
||||
func NewResolver(logger logger.Logger) nameresolution.Resolver {
|
||||
r := &Resolver{
|
||||
subs: make(map[string]*SubscriberPool),
|
||||
appAddressesIPv4: make(map[string]*addressList),
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ func TestInitMetadata(t *testing.T) {
|
|||
}
|
||||
|
||||
// arrange
|
||||
resolver := NewResolver(logger.NewLogger("test"))
|
||||
resolver := NewResolver(logger.NewLogger("test")).(*Resolver)
|
||||
defer resolver.Close()
|
||||
|
||||
for _, tt := range tests {
|
||||
|
|
@ -85,7 +85,7 @@ func TestInitMetadata(t *testing.T) {
|
|||
|
||||
func TestInitRegister(t *testing.T) {
|
||||
// arrange
|
||||
resolver := NewResolver(logger.NewLogger("test"))
|
||||
resolver := NewResolver(logger.NewLogger("test")).(*Resolver)
|
||||
defer resolver.Close()
|
||||
md := nr.Metadata{Base: metadata.Base{Properties: map[string]string{
|
||||
nr.MDNSInstanceName: "testAppID",
|
||||
|
|
@ -100,7 +100,7 @@ func TestInitRegister(t *testing.T) {
|
|||
|
||||
func TestInitRegisterDuplicate(t *testing.T) {
|
||||
// arrange
|
||||
resolver := NewResolver(logger.NewLogger("test"))
|
||||
resolver := NewResolver(logger.NewLogger("test")).(*Resolver)
|
||||
defer resolver.Close()
|
||||
md := nr.Metadata{Base: metadata.Base{Properties: map[string]string{
|
||||
nr.MDNSInstanceName: "testAppID",
|
||||
|
|
@ -123,7 +123,7 @@ func TestInitRegisterDuplicate(t *testing.T) {
|
|||
|
||||
func TestResolver(t *testing.T) {
|
||||
// arrange
|
||||
resolver := NewResolver(logger.NewLogger("test"))
|
||||
resolver := NewResolver(logger.NewLogger("test")).(*Resolver)
|
||||
defer resolver.Close()
|
||||
md := nr.Metadata{Base: metadata.Base{Properties: map[string]string{
|
||||
nr.MDNSInstanceName: "testAppID",
|
||||
|
|
@ -145,7 +145,7 @@ func TestResolver(t *testing.T) {
|
|||
|
||||
func TestResolverClose(t *testing.T) {
|
||||
// arrange
|
||||
resolver := NewResolver(logger.NewLogger("test"))
|
||||
resolver := NewResolver(logger.NewLogger("test")).(*Resolver)
|
||||
md := nr.Metadata{Base: metadata.Base{Properties: map[string]string{
|
||||
nr.MDNSInstanceName: "testAppID",
|
||||
nr.MDNSInstanceAddress: localhost,
|
||||
|
|
@ -172,7 +172,7 @@ func TestResolverClose(t *testing.T) {
|
|||
|
||||
func TestResolverMultipleInstances(t *testing.T) {
|
||||
// arrange
|
||||
resolver := NewResolver(logger.NewLogger("test"))
|
||||
resolver := NewResolver(logger.NewLogger("test")).(*Resolver)
|
||||
defer resolver.Close()
|
||||
|
||||
// register instance A
|
||||
|
|
@ -242,7 +242,7 @@ func TestResolverMultipleInstances(t *testing.T) {
|
|||
|
||||
func TestResolverNotFound(t *testing.T) {
|
||||
// arrange
|
||||
resolver := NewResolver(logger.NewLogger("test"))
|
||||
resolver := NewResolver(logger.NewLogger("test")).(*Resolver)
|
||||
defer resolver.Close()
|
||||
|
||||
// act
|
||||
|
|
@ -287,7 +287,7 @@ func TestResolverConcurrency(t *testing.T) {
|
|||
// by the TestResolverConcurrency test function.
|
||||
func ResolverConcurrencySubsriberClear(t *testing.T) {
|
||||
// arrange
|
||||
resolver := NewResolver(logger.NewLogger("test"))
|
||||
resolver := NewResolver(logger.NewLogger("test")).(*Resolver)
|
||||
defer resolver.Close()
|
||||
md := nr.Metadata{Base: metadata.Base{Properties: map[string]string{
|
||||
nr.MDNSInstanceName: "testAppID",
|
||||
|
|
@ -325,7 +325,7 @@ func ResolverConcurrencySubsriberClear(t *testing.T) {
|
|||
// by the TestResolverConcurrency test function.
|
||||
func ResolverConcurrencyFound(t *testing.T) {
|
||||
// arrange
|
||||
resolver := NewResolver(logger.NewLogger("test"))
|
||||
resolver := NewResolver(logger.NewLogger("test")).(*Resolver)
|
||||
defer resolver.Close()
|
||||
|
||||
// register instance A
|
||||
|
|
@ -422,7 +422,7 @@ func ResolverConcurrencyFound(t *testing.T) {
|
|||
// by the TestResolverConcurrency test function.
|
||||
func ResolverConcurrencyNotFound(t *testing.T) {
|
||||
// arrange
|
||||
resolver := NewResolver(logger.NewLogger("test"))
|
||||
resolver := NewResolver(logger.NewLogger("test")).(*Resolver)
|
||||
defer resolver.Close()
|
||||
|
||||
// act...
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ func createIotHubPubsubMetadata() pubsub.Metadata {
|
|||
|
||||
func testReadIotHubEvents(t *testing.T) {
|
||||
logger := logger.NewLogger("pubsub.azure.eventhubs.integration.test")
|
||||
eh := NewAzureEventHubs(logger)
|
||||
eh := NewAzureEventHubs(logger).(*AzureEventHubs)
|
||||
err := eh.Init(createIotHubPubsubMetadata())
|
||||
assert.Nil(t, err)
|
||||
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ type Store struct {
|
|||
}
|
||||
|
||||
// NewSecreteManager returns new instance of `SecretManagerStore`.
|
||||
func NewSecreteManager(logger logger.Logger) *Store {
|
||||
func NewSecreteManager(logger logger.Logger) secretstores.SecretStore {
|
||||
return &Store{logger: logger}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ type tablestoreMetadata struct {
|
|||
TableName string `json:"tableName"`
|
||||
}
|
||||
|
||||
func NewAliCloudTableStore(logger logger.Logger) *AliCloudTableStore {
|
||||
func NewAliCloudTableStore(logger logger.Logger) state.Store {
|
||||
return &AliCloudTableStore{
|
||||
features: []state.Feature{state.FeatureETag, state.FeatureTransactional},
|
||||
logger: logger,
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ func TestReadAndWrite(t *testing.T) {
|
|||
|
||||
defer ctl.Finish()
|
||||
|
||||
store := NewAliCloudTableStore(logger.NewLogger("test"))
|
||||
store := NewAliCloudTableStore(logger.NewLogger("test")).(*AliCloudTableStore)
|
||||
store.Init(state.Metadata{})
|
||||
|
||||
store.client = &mockClient{
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ import (
|
|||
|
||||
awsAuth "github.com/dapr/components-contrib/internal/authentication/aws"
|
||||
"github.com/dapr/components-contrib/state"
|
||||
"github.com/dapr/kit/logger"
|
||||
)
|
||||
|
||||
// StateStore is a DynamoDB state store.
|
||||
|
|
@ -47,7 +48,7 @@ type dynamoDBMetadata struct {
|
|||
}
|
||||
|
||||
// NewDynamoDBStateStore returns a new dynamoDB state store.
|
||||
func NewDynamoDBStateStore() state.Store {
|
||||
func NewDynamoDBStateStore(_ logger.Logger) state.Store {
|
||||
return &StateStore{}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ import (
|
|||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"github.com/dapr/components-contrib/state"
|
||||
"github.com/dapr/kit/logger"
|
||||
)
|
||||
|
||||
type mockedDynamoDB struct {
|
||||
|
|
@ -61,7 +62,7 @@ func (m *mockedDynamoDB) BatchWriteItem(input *dynamodb.BatchWriteItemInput) (*d
|
|||
|
||||
func TestInit(t *testing.T) {
|
||||
m := state.Metadata{}
|
||||
s := NewDynamoDBStateStore()
|
||||
s := NewDynamoDBStateStore(logger.NewLogger("test")).(*StateStore)
|
||||
t.Run("Init with valid metadata", func(t *testing.T) {
|
||||
m.Properties = map[string]string{
|
||||
"AccessKey": "a",
|
||||
|
|
|
|||
|
|
@ -158,7 +158,7 @@ func (r *StateStore) Ping() error {
|
|||
}
|
||||
|
||||
// NewAzureBlobStorageStore instance.
|
||||
func NewAzureBlobStorageStore(logger logger.Logger) *StateStore {
|
||||
func NewAzureBlobStorageStore(logger logger.Logger) state.Store {
|
||||
s := &StateStore{
|
||||
json: jsoniter.ConfigFastest,
|
||||
features: []state.Feature{state.FeatureETag},
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ import (
|
|||
|
||||
func TestInit(t *testing.T) {
|
||||
m := state.Metadata{}
|
||||
s := NewAzureBlobStorageStore(logger.NewLogger("logger"))
|
||||
s := NewAzureBlobStorageStore(logger.NewLogger("logger")).(*StateStore)
|
||||
t.Run("Init with valid metadata", func(t *testing.T) {
|
||||
m.Properties = map[string]string{
|
||||
"accountName": "acc",
|
||||
|
|
@ -91,7 +91,7 @@ func TestFileName(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestBlobHTTPHeaderGeneration(t *testing.T) {
|
||||
s := NewAzureBlobStorageStore(logger.NewLogger("logger"))
|
||||
s := NewAzureBlobStorageStore(logger.NewLogger("logger")).(*StateStore)
|
||||
t.Run("Content type is set from request, forward compatibility", func(t *testing.T) {
|
||||
contentType := "application/json"
|
||||
req := &state.SetRequest{
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ const (
|
|||
)
|
||||
|
||||
// NewCosmosDBStateStore returns a new CosmosDB state store.
|
||||
func NewCosmosDBStateStore(logger logger.Logger) *StateStore {
|
||||
func NewCosmosDBStateStore(logger logger.Logger) state.Store {
|
||||
s := &StateStore{
|
||||
features: []state.Feature{state.FeatureETag, state.FeatureTransactional, state.FeatureQueryAPI},
|
||||
logger: logger,
|
||||
|
|
|
|||
|
|
@ -208,7 +208,7 @@ func (r *StateStore) Set(req *state.SetRequest) error {
|
|||
return err
|
||||
}
|
||||
|
||||
func NewAzureTablesStateStore(logger logger.Logger) *StateStore {
|
||||
func NewAzureTablesStateStore(logger logger.Logger) state.Store {
|
||||
s := &StateStore{
|
||||
json: jsoniter.ConfigFastest,
|
||||
features: []state.Feature{state.FeatureETag},
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ type cassandraMetadata struct {
|
|||
}
|
||||
|
||||
// NewCassandraStateStore returns a new cassandra state store.
|
||||
func NewCassandraStateStore(logger logger.Logger) *Cassandra {
|
||||
func NewCassandraStateStore(logger logger.Logger) state.Store {
|
||||
s := &Cassandra{logger: logger}
|
||||
s.DefaultBulkStore = state.NewDefaultBulkStore(s)
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ type CockroachDB struct {
|
|||
}
|
||||
|
||||
// New creates a new instance of CockroachDB state store.
|
||||
func New(logger logger.Logger) *CockroachDB {
|
||||
func New(logger logger.Logger) state.Store {
|
||||
dba := newCockroachDBAccess(logger)
|
||||
|
||||
return internalNew(logger, dba)
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ func TestCockroachDBIntegration(t *testing.T) {
|
|||
Base: metadata.Base{Properties: map[string]string{connectionStringKey: connectionString}},
|
||||
}
|
||||
|
||||
pgs := New(logger.NewLogger("test"))
|
||||
pgs := New(logger.NewLogger("test")).(*CockroachDB)
|
||||
t.Cleanup(func() {
|
||||
defer pgs.Close()
|
||||
})
|
||||
|
|
@ -607,7 +607,7 @@ func testInitConfiguration(t *testing.T) {
|
|||
|
||||
for _, rowTest := range tests {
|
||||
t.Run(rowTest.name, func(t *testing.T) {
|
||||
cockroackDB := New(logger)
|
||||
cockroackDB := New(logger).(*CockroachDB)
|
||||
defer cockroackDB.Close()
|
||||
|
||||
metadata := state.Metadata{
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ type Couchbase struct {
|
|||
}
|
||||
|
||||
// NewCouchbaseStateStore returns a new couchbase state store.
|
||||
func NewCouchbaseStateStore(logger logger.Logger) *Couchbase {
|
||||
func NewCouchbaseStateStore(logger logger.Logger) state.Store {
|
||||
s := &Couchbase{
|
||||
json: jsoniter.ConfigFastest,
|
||||
features: []state.Feature{state.FeatureETag},
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ type StateEntity struct {
|
|||
Value string
|
||||
}
|
||||
|
||||
func NewFirestoreStateStore(logger logger.Logger) *Firestore {
|
||||
func NewFirestoreStateStore(logger logger.Logger) state.Store {
|
||||
s := &Firestore{logger: logger}
|
||||
s.DefaultBulkStore = state.NewDefaultBulkStore(s)
|
||||
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ type consulConfig struct {
|
|||
}
|
||||
|
||||
// NewConsulStateStore returns a new consul state store.
|
||||
func NewConsulStateStore(logger logger.Logger) *Consul {
|
||||
func NewConsulStateStore(logger logger.Logger) state.Store {
|
||||
s := &Consul{logger: logger}
|
||||
s.DefaultBulkStore = state.NewDefaultBulkStore(s)
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ type Hazelcast struct {
|
|||
}
|
||||
|
||||
// NewHazelcastStore returns a new hazelcast backed state store.
|
||||
func NewHazelcastStore(logger logger.Logger) *Hazelcast {
|
||||
func NewHazelcastStore(logger logger.Logger) state.Store {
|
||||
s := &Hazelcast{
|
||||
json: jsoniter.ConfigFastest,
|
||||
logger: logger,
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ type memcachedMetadata struct {
|
|||
timeout time.Duration
|
||||
}
|
||||
|
||||
func NewMemCacheStateStore(logger logger.Logger) *Memcached {
|
||||
func NewMemCacheStateStore(logger logger.Logger) state.Store {
|
||||
s := &Memcached{
|
||||
json: jsoniter.ConfigFastest,
|
||||
logger: logger,
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ func TestMemcachedMetadata(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestParseTTL(t *testing.T) {
|
||||
store := NewMemCacheStateStore(logger.NewLogger("test"))
|
||||
store := NewMemCacheStateStore(logger.NewLogger("test")).(*Memcached)
|
||||
t.Run("TTL Not an integer", func(t *testing.T) {
|
||||
ttlInSeconds := "not an integer"
|
||||
ttl, err := store.parseTTL(&state.SetRequest{
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ type Item struct {
|
|||
}
|
||||
|
||||
// NewMongoDB returns a new MongoDB state store.
|
||||
func NewMongoDB(logger logger.Logger) *MongoDB {
|
||||
func NewMongoDB(logger logger.Logger) state.Store {
|
||||
s := &MongoDB{
|
||||
features: []state.Feature{state.FeatureETag, state.FeatureTransactional, state.FeatureQueryAPI},
|
||||
logger: logger,
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ type MySQL struct {
|
|||
}
|
||||
|
||||
// NewMySQLStateStore creates a new instance of MySQL state store.
|
||||
func NewMySQLStateStore(logger logger.Logger) *MySQL {
|
||||
func NewMySQLStateStore(logger logger.Logger) state.Store {
|
||||
factory := newMySQLFactory(logger)
|
||||
|
||||
// Store the provided logger and return the object. The rest of the
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ func TestMySQLIntegration(t *testing.T) {
|
|||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
p := NewMySQLStateStore(logger)
|
||||
p := NewMySQLStateStore(logger).(*MySQL)
|
||||
defer p.Close()
|
||||
|
||||
metadata := state.Metadata{
|
||||
|
|
@ -131,7 +131,7 @@ func TestMySQLIntegration(t *testing.T) {
|
|||
Base: metadata.Base{Properties: map[string]string{connectionStringKey: connectionString, pemPathKey: pemPath}},
|
||||
}
|
||||
|
||||
mys := NewMySQLStateStore(logger.NewLogger("test"))
|
||||
mys := NewMySQLStateStore(logger.NewLogger("test")).(*MySQL)
|
||||
t.Cleanup(func() {
|
||||
defer mys.Close()
|
||||
})
|
||||
|
|
|
|||
|
|
@ -164,7 +164,7 @@ func (r *StateStore) Ping() error {
|
|||
return r.pingBucket()
|
||||
}
|
||||
|
||||
func NewOCIObjectStorageStore(logger logger.Logger) *StateStore {
|
||||
func NewOCIObjectStorageStore(logger logger.Logger) state.Store {
|
||||
s := &StateStore{
|
||||
json: jsoniter.ConfigFastest,
|
||||
features: []state.Feature{state.FeatureETag},
|
||||
|
|
|
|||
|
|
@ -286,7 +286,7 @@ func testDelete(t *testing.T, ociProperties map[string]string) {
|
|||
func testPing(t *testing.T, ociProperties map[string]string) {
|
||||
m := state.Metadata{}
|
||||
m.Properties = ociProperties
|
||||
s := NewOCIObjectStorageStore(logger.NewLogger("logger"))
|
||||
s := NewOCIObjectStorageStore(logger.NewLogger("logger")).(*StateStore)
|
||||
t.Run("Ping", func(t *testing.T) {
|
||||
err := s.Init(m)
|
||||
assert.Nil(t, err)
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ func getDummyOCIObjectStorageConfiguration() map[string]string {
|
|||
|
||||
func TestInit(t *testing.T) {
|
||||
meta := state.Metadata{}
|
||||
statestore := NewOCIObjectStorageStore(logger.NewLogger("logger"))
|
||||
statestore := NewOCIObjectStorageStore(logger.NewLogger("logger")).(*StateStore)
|
||||
t.Parallel()
|
||||
t.Run("Init with beautifully complete yet incorrect metadata", func(t *testing.T) {
|
||||
meta.Properties = getDummyOCIObjectStorageConfiguration()
|
||||
|
|
@ -148,7 +148,7 @@ func TestInit(t *testing.T) {
|
|||
|
||||
func TestFeatures(t *testing.T) {
|
||||
t.Parallel()
|
||||
s := NewOCIObjectStorageStore(logger.NewLogger("logger"))
|
||||
s := NewOCIObjectStorageStore(logger.NewLogger("logger")).(*StateStore)
|
||||
t.Run("Test contents of Features", func(t *testing.T) {
|
||||
features := s.Features()
|
||||
assert.Contains(t, features, state.FeatureETag)
|
||||
|
|
@ -231,7 +231,7 @@ func (c *mockedObjectStoreClient) pingBucket() error {
|
|||
}
|
||||
|
||||
func TestGetWithMockClient(t *testing.T) {
|
||||
s := NewOCIObjectStorageStore(logger.NewLogger("logger"))
|
||||
s := NewOCIObjectStorageStore(logger.NewLogger("logger")).(*StateStore)
|
||||
mockClient := &mockedObjectStoreClient{}
|
||||
s.client = mockClient
|
||||
t.Parallel()
|
||||
|
|
@ -261,7 +261,7 @@ func TestGetWithMockClient(t *testing.T) {
|
|||
|
||||
func TestInitWithMockClient(t *testing.T) {
|
||||
t.Parallel()
|
||||
s := NewOCIObjectStorageStore(logger.NewLogger("logger"))
|
||||
s := NewOCIObjectStorageStore(logger.NewLogger("logger")).(*StateStore)
|
||||
s.client = &mockedObjectStoreClient{}
|
||||
meta := state.Metadata{}
|
||||
t.Run("Test Init with incomplete configuration", func(t *testing.T) {
|
||||
|
|
@ -272,7 +272,7 @@ func TestInitWithMockClient(t *testing.T) {
|
|||
|
||||
func TestPingWithMockClient(t *testing.T) {
|
||||
t.Parallel()
|
||||
s := NewOCIObjectStorageStore(logger.NewLogger("logger"))
|
||||
s := NewOCIObjectStorageStore(logger.NewLogger("logger")).(*StateStore)
|
||||
mockClient := &mockedObjectStoreClient{}
|
||||
s.client = mockClient
|
||||
|
||||
|
|
@ -285,7 +285,7 @@ func TestPingWithMockClient(t *testing.T) {
|
|||
|
||||
func TestSetWithMockClient(t *testing.T) {
|
||||
t.Parallel()
|
||||
statestore := NewOCIObjectStorageStore(logger.NewLogger("logger"))
|
||||
statestore := NewOCIObjectStorageStore(logger.NewLogger("logger")).(*StateStore)
|
||||
mockClient := &mockedObjectStoreClient{}
|
||||
statestore.client = mockClient
|
||||
t.Run("Set without a key", func(t *testing.T) {
|
||||
|
|
@ -344,7 +344,7 @@ func TestSetWithMockClient(t *testing.T) {
|
|||
|
||||
func TestDeleteWithMockClient(t *testing.T) {
|
||||
t.Parallel()
|
||||
s := NewOCIObjectStorageStore(logger.NewLogger("logger"))
|
||||
s := NewOCIObjectStorageStore(logger.NewLogger("logger")).(*StateStore)
|
||||
mockClient := &mockedObjectStoreClient{}
|
||||
s.client = mockClient
|
||||
t.Run("Delete without a key", func(t *testing.T) {
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ type OracleDatabase struct {
|
|||
}
|
||||
|
||||
// NewOracleDatabaseStateStore creates a new instance of OracleDatabase state store.
|
||||
func NewOracleDatabaseStateStore(logger logger.Logger) *OracleDatabase {
|
||||
func NewOracleDatabaseStateStore(logger logger.Logger) state.Store {
|
||||
dba := newOracleDatabaseAccess(logger)
|
||||
|
||||
return newOracleDatabaseStateStore(logger, dba)
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ func TestOracleDatabaseIntegration(t *testing.T) {
|
|||
Base: metadata.Base{Properties: map[string]string{connectionStringKey: connectionString, oracleWalletLocationKey: oracleWalletLocation}},
|
||||
}
|
||||
|
||||
ods := NewOracleDatabaseStateStore(logger.NewLogger("test"))
|
||||
ods := NewOracleDatabaseStateStore(logger.NewLogger("test")).(*OracleDatabase)
|
||||
t.Cleanup(func() {
|
||||
defer ods.Close()
|
||||
})
|
||||
|
|
@ -773,7 +773,7 @@ func testInitConfiguration(t *testing.T) {
|
|||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
p := NewOracleDatabaseStateStore(logger)
|
||||
p := NewOracleDatabaseStateStore(logger).(*OracleDatabase)
|
||||
defer p.Close()
|
||||
|
||||
metadata := state.Metadata{
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ type PostgreSQL struct {
|
|||
}
|
||||
|
||||
// NewPostgreSQLStateStore creates a new instance of PostgreSQL state store.
|
||||
func NewPostgreSQLStateStore(logger logger.Logger) *PostgreSQL {
|
||||
func NewPostgreSQLStateStore(logger logger.Logger) state.Store {
|
||||
dba := newPostgresDBAccess(logger)
|
||||
|
||||
return newPostgreSQLStateStore(logger, dba)
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ func TestPostgreSQLIntegration(t *testing.T) {
|
|||
Base: metadata.Base{Properties: map[string]string{connectionStringKey: connectionString}},
|
||||
}
|
||||
|
||||
pgs := NewPostgreSQLStateStore(logger.NewLogger("test"))
|
||||
pgs := NewPostgreSQLStateStore(logger.NewLogger("test")).(*PostgreSQL)
|
||||
t.Cleanup(func() {
|
||||
defer pgs.Close()
|
||||
})
|
||||
|
|
@ -492,7 +492,7 @@ func testInitConfiguration(t *testing.T) {
|
|||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
p := NewPostgreSQLStateStore(logger)
|
||||
p := NewPostgreSQLStateStore(logger).(*PostgreSQL)
|
||||
defer p.Close()
|
||||
|
||||
metadata := state.Metadata{
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ type StateStore struct {
|
|||
}
|
||||
|
||||
// NewRedisStateStore returns a new redis state store.
|
||||
func NewRedisStateStore(logger logger.Logger) *StateStore {
|
||||
func NewRedisStateStore(logger logger.Logger) state.Store {
|
||||
s := &StateStore{
|
||||
json: jsoniter.ConfigFastest,
|
||||
features: []state.Feature{state.FeatureETag, state.FeatureTransactional, state.FeatureQueryAPI},
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue