Skip to content

Initial Certification test for eventhubs binding [incomplete]#1670

Merged
berndverst merged 15 commits into
dapr:masterfrom
tanvigour:tanvi/eventhubs_cert_tests
May 6, 2022
Merged

Initial Certification test for eventhubs binding [incomplete]#1670
berndverst merged 15 commits into
dapr:masterfrom
tanvigour:tanvi/eventhubs_cert_tests

Conversation

@tanvigour

@tanvigour tanvigour commented Apr 14, 2022

Copy link
Copy Markdown
Contributor

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
Comment thread .github/workflows/certification.yml Outdated
- 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
Copy Markdown
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.

@berndverst berndverst left a comment

Copy link
Copy Markdown
Member

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]>
Comment thread .github/workflows/certification.yml Outdated
- 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

@berndverst berndverst Apr 18, 2022

Copy link
Copy Markdown
Member

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
Copy Markdown
Member

Choose a reason for hiding this comment

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

key: AzureIotHubEventHubConnectionString
- name: credentials
secretKeyRef:
name: AZURE_CREDENTIALS

Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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.

@berndverst berndverst left a comment

Copy link
Copy Markdown
Member

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
Copy Markdown
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
Copy Markdown
Contributor Author

/ok-to-test

@berndverst

Copy link
Copy Markdown
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
Copy Markdown
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

@berndverst berndverst left a comment

Copy link
Copy Markdown
Member

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

codecov Bot commented May 5, 2022

Copy link
Copy Markdown

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
Copy Markdown
Member

Choose a reason for hiding this comment

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

@berndverst berndverst left a comment

Copy link
Copy Markdown
Member

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
Copy Markdown
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
Copy Markdown
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