Skip to content

Initial Certification test for eventhubs binding [incomplete] #1670

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 15 commits into from
May 6, 2022
Merged

Initial Certification test for eventhubs binding [incomplete] #1670

merged 15 commits into from
May 6, 2022

Conversation

tanvigour
Copy link
Contributor

@tanvigour tanvigour commented Apr 14, 2022

Signed-off-by: tanvigour [email protected]

Description

Please explain the changes you've made

Issue reference

We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.

First part towards completing #960

Checklist

Please make sure you've completed the relevant tasks for this PR, out of the following list:

@tanvigour tanvigour requested review from a team as code owners April 14, 2022 18:57
@@ -93,6 +93,8 @@ jobs:
required-secrets: AzureServiceBusConnectionString
- component: bindings.azure.cosmosdb
required-secrets: AzureCosmosDBUrl,AzureCosmosDB,AzureCosmosDBCollection,AzureCosmosDBMasterKey,AzureCertificationTenantId,AzureCertificationServicePrincipalClientId,AzureCertificationServicePrincipalClientSecret
- component: bindings.azure.eventhubs
required-secrets: AzureBlobStorageAccount,AzureBlobStorageAccessKey,AzureEventHubsBindingsHub,AzureEventHubsBindingsNamespace,AzureCertificationServicePrincipalClientId,AzureCertificationTenantId,AzureCertificationServicePrincipalClientSecret,AzureResourceGroupName,AzureCertificationSubscriptionId,AzureEventHubsBindingsContainer
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You will also need AzureEventHubsBindingsConnectionString because in addition to service principal authentication you also need to test the connection method with a connection string.

Copy link
Member

@berndverst berndverst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This certification test is incomplete.

In addition to service principal authentication you also need to test connection string authentication (AzureEventHubsBindingsConnectionString).

Also please migrate the IoT Hub integration test into this certification test so we can verify this functionality that is part of the binding:
https://docs.dapr.io/reference/components-reference/supported-bindings/eventhubs/#input-binding-to-azure-iot-hub-events

https://github.com/dapr/components-contrib/blob/master/bindings/azure/eventhubs/eventhubs_integration_test.go

You can define additional component configurations (see the other certification tests).

You will want to use at least three:

  • EventHub with Azure Service Principal
  • EventHub with connection string
  • IoT credentials (instead of EventHub)

Signed-off-by: tanvigour <[email protected]>
@@ -93,6 +93,8 @@ jobs:
required-secrets: AzureServiceBusConnectionString
- component: bindings.azure.cosmosdb
required-secrets: AzureCosmosDBUrl,AzureCosmosDB,AzureCosmosDBCollection,AzureCosmosDBMasterKey,AzureCertificationTenantId,AzureCertificationServicePrincipalClientId,AzureCertificationServicePrincipalClientSecret
- component: bindings.azure.eventhubs
required-secrets: AzureEventHubsBindingsConnectionString,AzureBlobStorageAccount,AzureBlobStorageAccessKey,AzureEventHubsBindingsHub,AzureEventHubsBindingsNamespace,AzureCertificationServicePrincipalClientId,AzureCertificationTenantId,AzureCertificationServicePrincipalClientSecret,AzureResourceGroupName,AzureCertificationSubscriptionId,AzureEventHubsBindingsContainer,AzureIotHubEventHubConnectionString,AZURE_CREDENTIALS,iothub-bindings-integration-test,AzureIotHubName,AzureIotHubBindingsConsumerGroup
Copy link
Member

@berndverst berndverst Apr 18, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove AZURE_CREDENTIALS -- that does not belong here

The way you are using the variable it seems you only need AzureIotHubEventHubConnectionString. If there are any permissions missing we can adjust the infrastructure.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also remove iothub-bindings-integration-test

You can only use values found in this list:
https://github.com/dapr/components-contrib/blob/master/.github/infrastructure/conformance/azure/setup-azure-conf-test.sh#L164

key: AzureIotHubEventHubConnectionString
- name: credentials
secretKeyRef:
name: AZURE_CREDENTIALS
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not the right value.

The connection string should come from secret AzureIotHubEventHubConnectionString

key: AzureBlobStorageAccessKey
- name: storageContainerName
secretKeyRef:
name: iothub-bindings-integration-test
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure what this value needs to be -- maybe it does not need to be a secret and you can just pick a hardcoded value for the container?

This secret is not provided by the test infrastructure, so you cannot use it.

@berndverst
Copy link
Member

It's fine you copied some of the YAML files from the pubsub component, but you need to make sure all those metadata options actually exist in the binding too. enableEntityManagement is not an option in the binding. This should be removed.

Since the metadata option partitionID is optional -- is there anything you can do to validate the behavior? Make sure it is working as intended? I think we should have a test case for that.

type: bindings.azure.eventhubs
version: v1
metadata:
- name: enableEntityManagement
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This option does not exist for this component. Remove

type: bindings.azure.eventhubs
version: v1
metadata:
- name: enableEntityManagement
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This option does not exist for this component. Remove

type: bindings.azure.eventhubs
version: v1
metadata:
- name: enableEntityManagement
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This option does not exist for this component. Remove

runtime.WithOutputBindings(out_component),
runtime.WithInputBindings(in_component),
)).
Step("interrupt network", network.InterruptNetwork(30*time.Second, nil, nil, "21092", "31092", "41092")).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What are these ports? This does not seem to be the ports that EventHubs could be using.

runtime.WithOutputBindings(out_component),
runtime.WithInputBindings(in_component),
)).
Step("interrupt network", network.InterruptNetwork(30*time.Second, nil, nil, "21092", "31092", "41092")).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What are these ports? This does not seem to be the ports that EventHubs could be using.

outputmsg[i] = fmt.Sprintf("publish messages to device: Message %03d", i)
}
consumerGroup2.ExpectStrings(outputmsg...)
cmd := exec.Command("/bin/bash", "../../../tests/scripts/send-iot-device-events.sh")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please do not do this. Move the script into the same folder as the certification test (with git mv) and then change the location.

Copy link
Member

@berndverst berndverst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quite a few things to update:

  • apparently incorrect ports being tested
  • use of metadata fields that do not exist for this component
  • need to use some other environment variables or hardcode value in line with conformance / certification test infrastructure

Also double check what permission your script to send IOTHub events needs.

Lastly, you can test whether everything is working by typing /ok-to-test in a new comment (but do make your changes first). This will kick of a new certification test workflow run which includes your changes. Please manually inspect that run for success.

@berndverst
Copy link
Member

I suggest you write a quick Readme file that describes your test plan.

In general we tried to add a Readme.md in every certification test folder that explains the different scenarios for which we are testing.

@tanvigour
Copy link
Contributor Author

/ok-to-test

@berndverst
Copy link
Member

@tanvigour /ok-to-test unfortunately cannot work until the workflow update itself has been merged - but that update is contained in this PR.

@berndverst berndverst changed the title Certification test for eventhubs binding Initial Certification test for eventhubs binding [incomplete] Apr 25, 2022
@berndverst
Copy link
Member

@tanvigour this PR does not test for the majority of test cases outlined at #960 yet. However, I will merge it already so that you can raise an additional PR and then going forward use /ok-to-test to verify with your PR. This PR does not yet address #960.

Please also add a Readme.md to the root of this test with your test plan as discussed in the GitHub issue.

FYI: Because of some changes in flight due to #1681 the certifications may currently all fail. This will be addressed soon.

Signed-off-by: Bernd Verst <[email protected]>
berndverst
berndverst previously approved these changes Apr 26, 2022
Copy link
Member

@berndverst berndverst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving this as Work In Progress

@codecov
Copy link

codecov bot commented May 5, 2022

Codecov Report

Merging #1670 (95f691b) into master (bfd87eb) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1670   +/-   ##
=======================================
  Coverage   36.37%   36.37%           
=======================================
  Files         166      166           
  Lines       15488    15488           
=======================================
  Hits         5633     5633           
  Misses       9228     9228           
  Partials      627      627           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update bfd87eb...95f691b. Read the comment docs.

echo "ERROR: IOT_HUB_NAME environment variable not defined."
exit 1
fi
if [[ -z "${AZURE_CREDENTIALS}" ]]; then
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove all uses of AZURE_CREDENTIALS in this script and instead use the approach as seen here:

https://github.com/dapr/components-contrib/blob/master/tests/certification/pubsub/azure/eventhubs/send-iot-device-events.sh#L33

Copy link
Member

@berndverst berndverst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will merge this -- but in your follow up PR you will need to remove the use of $IOT_HUB_NAME and $AZURE_CREDENTIALS

SDK_AUTH_SP_APPID="$(echo "${AZURE_CREDENTIALS}" | grep 'clientId' | sed -E 's/(.*clientId\"\: \")|\",//g')"
SDK_AUTH_SP_CLIENT_SECRET="$(echo "${AZURE_CREDENTIALS}" | grep 'clientSecret' | sed -E 's/(.*clientSecret\"\: \")|\",//g')"
SDK_AUTH_SP_TENANT="$(echo "${AZURE_CREDENTIALS}" | grep 'tenantId' | sed -E 's/(.*tenantId\"\: \")|\",//g')"
az login --service-principal -u ${SDK_AUTH_SP_APPID} -p ${SDK_AUTH_SP_CLIENT_SECRET} --tenant ${SDK_AUTH_SP_TENANT}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lines 21 to 36 are actually unnecessary if you do what is done here:
https://github.com/dapr/components-contrib/blob/master/tests/certification/pubsub/azure/eventhubs/send-iot-device-events.sh#L33

# login to azure
az login --service-principal -u $AzureCertificationServicePrincipalClientId -p $AzureCertificationServicePrincipalClientSecret --tenant $AzureCertificationTenantId

@berndverst berndverst merged commit 47db6cc into dapr:master May 6, 2022
ItalyPaleAle pushed a commit to ItalyPaleAle/dapr-components-contrib that referenced this pull request May 7, 2022
)

* certification test for eventhubs binding

Signed-off-by: tanvigour <[email protected]>

* modified go.mod and go.sum

Signed-off-by: tanvigour <[email protected]>

* Add connection string testing

Signed-off-by: tanvigour <[email protected]>

* iothub testing

Signed-off-by: tanvigour <[email protected]>

* address feedback and run test

Signed-off-by: tanvigour <[email protected]>

* Install Azure CLI IOT hub extension

Signed-off-by: Bernd Verst <[email protected]>

* make modtidy-all

Signed-off-by: Bernd Verst <[email protected]>

* covering all eventhubs test cases

Signed-off-by: tanvigour <[email protected]>

* dependency changes after go modtidy-all

Signed-off-by: tanvigour <[email protected]>

Co-authored-by: Bernd Verst <[email protected]>
Co-authored-by: Yaron Schneider <[email protected]>
Co-authored-by: Looong Dai <[email protected]>
ItalyPaleAle pushed a commit to ItalyPaleAle/dapr-components-contrib that referenced this pull request May 7, 2022
)

* certification test for eventhubs binding

Signed-off-by: tanvigour <[email protected]>

* modified go.mod and go.sum

Signed-off-by: tanvigour <[email protected]>

* Add connection string testing

Signed-off-by: tanvigour <[email protected]>

* iothub testing

Signed-off-by: tanvigour <[email protected]>

* address feedback and run test

Signed-off-by: tanvigour <[email protected]>

* Install Azure CLI IOT hub extension

Signed-off-by: Bernd Verst <[email protected]>

* make modtidy-all

Signed-off-by: Bernd Verst <[email protected]>

* covering all eventhubs test cases

Signed-off-by: tanvigour <[email protected]>

* dependency changes after go modtidy-all

Signed-off-by: tanvigour <[email protected]>

Co-authored-by: Bernd Verst <[email protected]>
Co-authored-by: Yaron Schneider <[email protected]>
Co-authored-by: Looong Dai <[email protected]>
Signed-off-by: Alessandro Segala (ItalyPaleAle) <[email protected]>
ChenCong0207 pushed a commit to ChenCong0207/components-contrib that referenced this pull request May 8, 2022
)

* certification test for eventhubs binding

Signed-off-by: tanvigour <[email protected]>

* modified go.mod and go.sum

Signed-off-by: tanvigour <[email protected]>

* Add connection string testing

Signed-off-by: tanvigour <[email protected]>

* iothub testing

Signed-off-by: tanvigour <[email protected]>

* address feedback and run test

Signed-off-by: tanvigour <[email protected]>

* Install Azure CLI IOT hub extension

Signed-off-by: Bernd Verst <[email protected]>

* make modtidy-all

Signed-off-by: Bernd Verst <[email protected]>

* covering all eventhubs test cases

Signed-off-by: tanvigour <[email protected]>

* dependency changes after go modtidy-all

Signed-off-by: tanvigour <[email protected]>

Co-authored-by: Bernd Verst <[email protected]>
Co-authored-by: Yaron Schneider <[email protected]>
Co-authored-by: Looong Dai <[email protected]>
Signed-off-by: Chen Cong <[email protected]>
ewassef pushed a commit to ewassef/components-contrib that referenced this pull request May 13, 2022
)

* certification test for eventhubs binding

Signed-off-by: tanvigour <[email protected]>

* modified go.mod and go.sum

Signed-off-by: tanvigour <[email protected]>

* Add connection string testing

Signed-off-by: tanvigour <[email protected]>

* iothub testing

Signed-off-by: tanvigour <[email protected]>

* address feedback and run test

Signed-off-by: tanvigour <[email protected]>

* Install Azure CLI IOT hub extension

Signed-off-by: Bernd Verst <[email protected]>

* make modtidy-all

Signed-off-by: Bernd Verst <[email protected]>

* covering all eventhubs test cases

Signed-off-by: tanvigour <[email protected]>

* dependency changes after go modtidy-all

Signed-off-by: tanvigour <[email protected]>

Co-authored-by: Bernd Verst <[email protected]>
Co-authored-by: Yaron Schneider <[email protected]>
Co-authored-by: Looong Dai <[email protected]>
Signed-off-by: Eddie <[email protected]>
@ItalyPaleAle
Copy link
Contributor

@tanvigour it seems that these tests are failing 100% of times lately.

It seems that the issue is that TestAzureServiceBusQueueRetriesOnError is creating 2 instances that are listening to Service Bus using the same consumer group, and that's causing conflicts.

yaron2 added a commit that referenced this pull request May 13, 2022
* Update readme of bindings (#1690)

Signed-off-by: pigletfly <[email protected]>

Co-authored-by: Looong Dai <[email protected]>
Signed-off-by: Eddie <[email protected]>

* Fixing includedHeaders problem with spaces (#1610)

Signed-off-by: Ben Kotvis <[email protected]>

Co-authored-by: Bernd Verst <[email protected]>
Co-authored-by: Looong Dai <[email protected]>
Signed-off-by: Eddie <[email protected]>

* Simplify vault token read (#1560)

* Simplify vault token get

Signed-off-by: zhangchao <[email protected]>

* fix lint

Signed-off-by: zhangchao <[email protected]>

* update tests

Signed-off-by: zhangchao <[email protected]>

Co-authored-by: Looong Dai <[email protected]>
Co-authored-by: Yaron Schneider <[email protected]>
Signed-off-by: Eddie <[email protected]>

* GH-1609 : Fix for MongoDB Atlas conn strings

Added recommended fix in the issue

Signed-off-by: Eddie <[email protected]>

* updating the comment based on PR feedback

Signed-off-by: Eddie <[email protected]>

* Initial Certification test for eventhubs binding [incomplete] (#1670)

* certification test for eventhubs binding

Signed-off-by: tanvigour <[email protected]>

* modified go.mod and go.sum

Signed-off-by: tanvigour <[email protected]>

* Add connection string testing

Signed-off-by: tanvigour <[email protected]>

* iothub testing

Signed-off-by: tanvigour <[email protected]>

* address feedback and run test

Signed-off-by: tanvigour <[email protected]>

* Install Azure CLI IOT hub extension

Signed-off-by: Bernd Verst <[email protected]>

* make modtidy-all

Signed-off-by: Bernd Verst <[email protected]>

* covering all eventhubs test cases

Signed-off-by: tanvigour <[email protected]>

* dependency changes after go modtidy-all

Signed-off-by: tanvigour <[email protected]>

Co-authored-by: Bernd Verst <[email protected]>
Co-authored-by: Yaron Schneider <[email protected]>
Co-authored-by: Looong Dai <[email protected]>
Signed-off-by: Eddie <[email protected]>

* Use revive instead of golint (#1685)

Signed-off-by: pigletfly <[email protected]>

Co-authored-by: Yaron Schneider <[email protected]>
Signed-off-by: Eddie <[email protected]>

* Updated to Go 1.18 (#1697)

* Updated to Go 1.18

Signed-off-by: Alessandro (Ale) Segala <[email protected]>

* Added go.work file
With Go 1.18, this allows gopls (the Go language server used for example in VS Code) to work inside test apps too.
See: https://go.dev/doc/tutorial/workspaces

Signed-off-by: ItalyPaleAle <[email protected]>

Signed-off-by: ItalyPaleAle <[email protected]>

* Removed go.work

Signed-off-by: ItalyPaleAle <[email protected]>

* 💄

Signed-off-by: ItalyPaleAle <[email protected]>

Co-authored-by: Bernd Verst <[email protected]>
Signed-off-by: Eddie <[email protected]>

* Add metadata property to configure Batching in Pulsar (#1707)

* Add metadata property to configure BatchingMaxSize&batchingMaxMessages in Pulsar
Signed-off-by: saberwang <[email protected]>

* sort field
Signed-off-by: saberwang <[email protected]>

* [pubsub]fix unit test bug
Signed-off-by: saberwang <[email protected]>

* remove unrelated changes
Signed-off-by: saberwang <[email protected]>

* Delete hard coded Metadata
Signed-off-by: saberwang <[email protected]>

* remove  .history

Signed-off-by: saberwang <[email protected]>

* restore .gitignore

Signed-off-by: saberwang <[email protected]>

* Hard coding default values and adding 'BatchingMaxPublishDelay' metadata

Signed-off-by: saberwang <[email protected]>

* fix code format

Signed-off-by: saberwang <[email protected]>

* formatting code

Signed-off-by: saberwang <[email protected]>

Co-authored-by: Looong Dai <[email protected]>
Co-authored-by: Bernd Verst <[email protected]>
Signed-off-by: Eddie <[email protected]>

* Fix 4529: Ignore Subscribe/Get wrong redis configuration type keys. (#1693)

* fix: 4529

Signed-off-by: LaurenceLiZhixin <[email protected]>

* Fix: add test does not throw error for wrong type during get all test case of redis configuration

Signed-off-by: LaurenceLiZhixin <[email protected]>

Co-authored-by: Yaron Schneider <[email protected]>
Co-authored-by: Ian Luo <[email protected]>
Signed-off-by: Eddie <[email protected]>

* Signed-off-by: Eddie Wassef <[email protected]>

Fixing leading newline in linter error

Signed-off-by: Eddie <[email protected]>

* Implment a secret store based on Huawei CSMS (#1710)

Signed-off-by: Chen Cong <[email protected]>

Co-authored-by: Chen Cong <[email protected]>
Signed-off-by: Eddie <[email protected]>

* Add yet another missing secret to eventhub binding cert test (#1713)

Signed-off-by: Bernd Verst <[email protected]>
Signed-off-by: Eddie <[email protected]>

* Support custom queueEndpoint in Azure Storage Queues (#1692)

* Support custom queueEndpoint in Azure Storage Queues

Signed-off-by: Janusz Dziurzynski <[email protected]>

* run gofmt

Signed-off-by: Janusz Dziurzynski <[email protected]>

* Add "Url" to JSON field name for clarity

Suggested by @msfussell in dapr/docs#2424

Signed-off-by: Janusz Dziurzynski <[email protected]>
Signed-off-by: Eddie <[email protected]>

* Refactory kafka binding to reuse the kafka common code extracting from kafka pubsub component (#1696)

* refactory kafka pubsub code to extract common kafka code for reuse

Signed-off-by: Sky Ao <[email protected]>

* fix lint;add unit test for subscribeAdapter

Signed-off-by: Sky Ao <[email protected]>

* move topics filed from internal kafak struct to pubsub kafka struct, since in input binding the topics will confiured in metadata

Signed-off-by: Sky Ao <[email protected]>

* reuse internal  kafka code for bindings

Signed-off-by: Sky Ao <[email protected]>

* add redis standalone_test back which is delete by mistaken

Signed-off-by: Sky Ao <[email protected]>

* small code improvement to trigger test

Signed-off-by: Sky Ao <[email protected]>

* add license headers

Signed-off-by: Sky Ao <[email protected]>

* try to set disbaleTls to true to verify the kafka connection fail

Signed-off-by: Sky Ao <[email protected]>

* don't enable consum retry in kafka binding component;if authenticaion is disabled, need not set TLSDisable at the same time;

Signed-off-by: Sky Ao <[email protected]>

* fix lint

Signed-off-by: Sky Ao <[email protected]>

Co-authored-by: Loong Dai <[email protected]>
Signed-off-by: Eddie <[email protected]>

* Add topic metadata for mqtt input binding and support user defined topic for mqtt output binding (#1674)

* feat(bindings/mqtt): add data incoming topic to metadata

Signed-off-by: lotuc <[email protected]>

* feat(bindings/mqtt): support user defined topic on create action

Signed-off-by: lotuc <[email protected]>

* chore(bindings/mqtt): add integration test and topic response check test

Signed-off-by: lotuc <[email protected]>

* fix(bindings/mqtt): ignore misspell linting error for word mosquitto

Signed-off-by: lotuc <[email protected]>

Co-authored-by: Yaron Schneider <[email protected]>
Signed-off-by: Eddie <[email protected]>

* Expire -> ExpiryInSeconds (#1721)

Signed-off-by: seeflood <[email protected]>
Signed-off-by: Eddie <[email protected]>

* running gofmt -s -w state/mongodb/mongodb.go

Signed-off-by: Eddie <[email protected]>

* Update mongodb.go

Co-authored-by: Wang Bing <[email protected]>
Co-authored-by: Looong Dai <[email protected]>
Co-authored-by: Ben Kotvis <[email protected]>
Co-authored-by: Bernd Verst <[email protected]>
Co-authored-by: Taction <[email protected]>
Co-authored-by: Yaron Schneider <[email protected]>
Co-authored-by: tanvigour <[email protected]>
Co-authored-by: Alessandro (Ale) Segala <[email protected]>
Co-authored-by: saber-wang <[email protected]>
Co-authored-by: Laurence <[email protected]>
Co-authored-by: Ian Luo <[email protected]>
Co-authored-by: Chock Chen <[email protected]>
Co-authored-by: Chen Cong <[email protected]>
Co-authored-by: Janusz Dziurzynski <[email protected]>
Co-authored-by: Sky Ao <[email protected]>
Co-authored-by: lotuc <[email protected]>
Co-authored-by: seeflood <[email protected]>
berndverst added a commit that referenced this pull request May 13, 2022
* Updated to Go 1.18

Signed-off-by: Alessandro (Ale) Segala <[email protected]>
Signed-off-by: Alessandro Segala (ItalyPaleAle) <[email protected]>

* Updated Azure SDKs that are on track2
Includes some minor refactoring of auth code

Signed-off-by: Alessandro Segala (ItalyPaleAle) <[email protected]>

* Updated Service Bus components to track2 SDK

Co-authored-by: halspang <[email protected]>
Signed-off-by: Alessandro Segala (ItalyPaleAle) <[email protected]>

* Initial Certification test for eventhubs binding [incomplete] (#1670)

* certification test for eventhubs binding

Signed-off-by: tanvigour <[email protected]>

* modified go.mod and go.sum

Signed-off-by: tanvigour <[email protected]>

* Add connection string testing

Signed-off-by: tanvigour <[email protected]>

* iothub testing

Signed-off-by: tanvigour <[email protected]>

* address feedback and run test

Signed-off-by: tanvigour <[email protected]>

* Install Azure CLI IOT hub extension

Signed-off-by: Bernd Verst <[email protected]>

* make modtidy-all

Signed-off-by: Bernd Verst <[email protected]>

* covering all eventhubs test cases

Signed-off-by: tanvigour <[email protected]>

* dependency changes after go modtidy-all

Signed-off-by: tanvigour <[email protected]>

Co-authored-by: Bernd Verst <[email protected]>
Co-authored-by: Yaron Schneider <[email protected]>
Co-authored-by: Looong Dai <[email protected]>
Signed-off-by: Alessandro Segala (ItalyPaleAle) <[email protected]>

* Use revive instead of golint (#1685)

Signed-off-by: pigletfly <[email protected]>

Co-authored-by: Yaron Schneider <[email protected]>
Signed-off-by: Alessandro Segala (ItalyPaleAle) <[email protected]>

* Updated to Go 1.18 (#1697)

* Updated to Go 1.18

Signed-off-by: Alessandro (Ale) Segala <[email protected]>

* Added go.work file
With Go 1.18, this allows gopls (the Go language server used for example in VS Code) to work inside test apps too.
See: https://go.dev/doc/tutorial/workspaces

Signed-off-by: ItalyPaleAle <[email protected]>

Signed-off-by: ItalyPaleAle <[email protected]>

* Removed go.work

Signed-off-by: ItalyPaleAle <[email protected]>

* 💄

Signed-off-by: ItalyPaleAle <[email protected]>

Co-authored-by: Bernd Verst <[email protected]>
Signed-off-by: Alessandro Segala (ItalyPaleAle) <[email protected]>

* 💄 & 🧹

Signed-off-by: ItalyPaleAle <[email protected]>
Signed-off-by: Alessandro Segala (ItalyPaleAle) <[email protected]>

* Add metadata property to configure Batching in Pulsar (#1707)

* Add metadata property to configure BatchingMaxSize&batchingMaxMessages in Pulsar
Signed-off-by: saberwang <[email protected]>

* sort field
Signed-off-by: saberwang <[email protected]>

* [pubsub]fix unit test bug
Signed-off-by: saberwang <[email protected]>

* remove unrelated changes
Signed-off-by: saberwang <[email protected]>

* Delete hard coded Metadata
Signed-off-by: saberwang <[email protected]>

* remove  .history

Signed-off-by: saberwang <[email protected]>

* restore .gitignore

Signed-off-by: saberwang <[email protected]>

* Hard coding default values and adding 'BatchingMaxPublishDelay' metadata

Signed-off-by: saberwang <[email protected]>

* fix code format

Signed-off-by: saberwang <[email protected]>

* formatting code

Signed-off-by: saberwang <[email protected]>

Co-authored-by: Looong Dai <[email protected]>
Co-authored-by: Bernd Verst <[email protected]>
Signed-off-by: Alessandro Segala (ItalyPaleAle) <[email protected]>

* This test can't work with track2 SDKs
The methods to create a message with a body are not exported

Signed-off-by: Alessandro Segala (ItalyPaleAle) <[email protected]>

* 🧹

Signed-off-by: Alessandro Segala (ItalyPaleAle) <[email protected]>

* There's such thing as too much logging

Signed-off-by: ItalyPaleAle <[email protected]>

* Refactored subscription.go
This greatly simplifies certain parts of the code, reducing the number of goroutines and likely improving performance.
Performance for end-users improves too as there's no need anymore to pause for 2 seconds every time that we reach `maxActiveMessages`.
Additionally, with this change the config options `prefetchCount` and `maxActiveMessagesRecoveryInSec` are removed as unnecessary anymore.

Signed-off-by: ItalyPaleAle <[email protected]>

* 💄

Signed-off-by: ItalyPaleAle <[email protected]>

* Fixed pubsub tests

Signed-off-by: ItalyPaleAle <[email protected]>

* These packages should have never been upgraded

Signed-off-by: ItalyPaleAle <[email protected]>

* Ensuring we don't fetch 1 message more than max active

Signed-off-by: ItalyPaleAle <[email protected]>

* Adding configurable timeout for servicebusqueues operations

Signed-off-by: ItalyPaleAle <[email protected]>

* Persistent connection for invoking SB queues

Signed-off-by: ItalyPaleAle <[email protected]>

* Reverted Event Hub SDK update

Signed-off-by: ItalyPaleAle <[email protected]>

* Revert "Reverted Event Hub SDK update"

This reverts commit 212220a.

Signed-off-by: ItalyPaleAle <[email protected]>

* Fix Azure deploy for users with a first.last email

Signed-off-by: ItalyPaleAle <[email protected]>

* Added some sleep that should help reduce flakiness in eventhubs binding cert test

Signed-off-by: ItalyPaleAle <[email protected]>

* Changed servicebusqueue cert test
In case of a failure in the handler (ie. users' code), the message should be correctly re-enqueued, which means that messages will be re-delivered later and won't be in order.

Signed-off-by: ItalyPaleAle <[email protected]>

Co-authored-by: halspang <[email protected]>
Co-authored-by: tanvigour <[email protected]>
Co-authored-by: Bernd Verst <[email protected]>
Co-authored-by: Yaron Schneider <[email protected]>
Co-authored-by: Looong Dai <[email protected]>
Co-authored-by: Wang Bing <[email protected]>
Co-authored-by: saber-wang <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants