Commit Graph

908 Commits

Author SHA1 Message Date
Bernd Verst 059dc8c0d2
Conformance tests & bugfixes for SQLServer (#1078)
* enable sqlserver conformance test

* Update SQL Server conformance test setup

* Fix sqlserver bug introduced in Go 1.16

* sqlserver almost conformant

* Fix conformance tests and stored procedure

* all sqlserver tests passing

* Minor touchup

* lint

* Remove unnecessary condition

* Add conformance test to GitHub workflow

* remove env variable

* Update stored procedure

* Simplify error handling

* Update state/sqlserver/sqlserver.go

Co-authored-by: Simon Leet <31784195+CodeMonkeyLeet@users.noreply.github.com>

* Update state/sqlserver/sqlserver.go

Co-authored-by: Simon Leet <31784195+CodeMonkeyLeet@users.noreply.github.com>

Co-authored-by: Bernd Verst <me@bernd.dev>
Co-authored-by: Simon Leet <31784195+CodeMonkeyLeet@users.noreply.github.com>
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
2021-08-19 17:47:56 -07:00
Simon Leet 796df4dd61
Add Close() function to Azure ServiceBusQueues binding (#1052)
* Add Close() conformance test

* Add Close() to AzureServiceBusQueues binding

* Accept nil on bindings Read Close() test

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
2021-08-13 18:15:39 -07:00
Simon Leet 6c28306b10
Customize sleep in EventGrid bindings conformance test between read and publish (#1050)
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2021-08-04 14:38:50 -07:00
Long Dai 10a2e5ee85
state: correct FIRST_WRITE (#995)
* state: correct FIRST_WRITE

Signed-off-by: Long Dai <long0dai@foxmail.com>

* add a test case

Signed-off-by: Long <long0dai@foxmail.com>
2021-08-03 17:26:45 -07:00
Simon Leet dc7ee55e2a
Add Event Hubs pubsub and bindings conformance tests (#1040)
* Add conformance test for EventHubs bindings

* Update EventHubs pubsub to pass conformance tests

- Add conformance tests for Azure EventHubs PubSub component
- Add retry & backoff handling on subscriber handling error to EventHubs
  PubSub component for conformance tests.
- Add cancellation context to Azure EventHubs and update Close() to
  invoke cancel prior to closing the hub, which cleans up both senders
  and receivers.
2021-08-02 18:03:24 -07:00
Simon Leet 9c84bd202c
Add automation for deploying Azure conformance test resources (#1001)
* Add automation for deploying Azure conformance test resources

- Add .bicep definitions for Azure deployment of conformance test resources.
- Add setup-azure-conf-test.sh script for deploying .bicep definition and
  configuring other assets needed for the Azure conformance tests:
   - Creates the appropriate service principals and their credentials
     for the test.
   - Populates the key vault with the test parameters and secrets used by
     the GitHub conformance.yml test workflow.
   - Generates a .rc file that can be invoked with `source` to configure
     the local environment variables and secrets for running conformance
     tests described in tests/conformance/README.md.
   - Generates a teardown script that can be used to dispose of the
     deployed Azure resources when done.

* Move setup-azure-conf-test under azure/ subfolder

* Add documentation for Azure conformance test automation

- Add README.md to .github/infrastructure/conformance/azure describing
  use of automation script.
- Update tests/conformance/README.md with reference to Azure
  conformance test infrastructure automation.
- Fix spelling and issues in tests/conformance/README.md reported by
  markdownlint.
2021-07-28 10:06:14 -07:00
Christian Kaps 80f0110fa8
Return blob metadata and add list operation (#999)
* Return blob metadata if configured

* Enhance error msg

* Add list functionality

* Fix linting issues

* Finalize list implementation

* Fix linting errors

* Add backward compatibility and align code to be more consistent

* Add tests

* Fix linting errors

* Rename properties

* Fix max result logic

* Fix linting error

* Fix PR suggestions

* Add comments for constants

* Run go mod tidy

Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
2021-07-14 09:17:48 -07:00
Christian Kaps cb9a510d16
Implement E2E tests for zeebe (#973)
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
2021-07-12 11:40:38 -07:00
Simon Leet 830f6ee3ed
Use AzureKeyVaultName param for Azure Keyvault conformance test (#975)
Unlike the other conformance tests, the azure-keyvault.yaml config hardcodes the name of the
target resource which creates an issue for contributors wanting to set up their own test
environments. For example, different users sharing an Azure subscription may not be able
to manage the permissions on the target key vault individually, and will need to edit the
yaml to retarget against their own keyvault instance.

- Add `AzureKeyVaultName` environment variable as the value for `vaultName` in azure-keyvault.yaml
- Update conformance.yml github workflow to require AzureKeyVaultName secret.
2021-07-07 12:04:50 -07:00
iamazy 74af5b6528
rename ConsumerID to ConsumerGroup (#965)
* rename ConsumerID to ConsumerGroup

* rename consumerID to consumerGroup

* update the config in the conformance test

* set ConsumerID as alias of ConsumerGroup

* remove extra space

* gofmt

* add ClientID in kafka metadata

* remove ConsumerID field

* gofmt

* Update kafka.go

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2021-06-23 10:33:27 -07:00
Phil Kedy 8e6b36ecdf
Importing the retry and config packages from kit instead of internal (#940)
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2021-06-22 09:38:55 -07:00
Long Dai 4ee732e0bd
ci: enable gofumt linter (#887)
Signed-off-by: Long Dai <long0dai@foxmail.com>
2021-05-27 22:21:24 -07:00
문찬용 b387fcdff3
add Ping operation to`store` interface. (#757)
* add `Ping` operation.

* add `Ping` implementation of GA components

* add context to an argument for Ping

* add `Ping` implementation of blobstorage

* fix error string for passing lint

* Update blobstorage.go

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2021-05-25 23:48:46 -07:00
Phil Kedy 6d00917246 pubsub conformance tests: Use a single timer for the duration of the subscribe wait loop 2021-04-22 13:35:45 -04:00
Phil Kedy 688df9bda4
Removed dependency on dapr/dapr in favor of dapr/kit. Fixed go mod dependencies afterwards. Go 1.16 in go.mod. Removed accidental log dependency. (#807) 2021-04-19 12:06:10 -07:00
Artur Souza 3993d9a559
Merge branch 'master' into jjcollinge/pubsub-context 2021-04-08 14:11:01 -07:00
Phil Kedy 08d9ce05cf Fixed linter issue 2021-03-26 11:10:41 -04:00
Phil Kedy bad759f6d8 Adding the mqtt binding to the conformance tests 2021-03-26 11:05:19 -04:00
Joni Collinge 9fd461b255 Merge branch 'master' into jjcollinge/pubsub-context 2021-03-23 17:45:05 +00:00
Yaron Schneider 192461889c
Add app response to input binding event (#764)
* add app response to input binding event

* lint
2021-03-18 14:22:14 -07:00
Artur Souza 931048aa60
Add Feature list for state store. (#744)
* Add Feature list for state store.

* List Transactional as a feature for state store.

* Fixing comments about etag.
2021-03-05 14:55:23 -08:00
Phil Kedy a1a0ad2c25
Adding RabbitMQ to the conformance tests (#739)
* Initial pass at adding RabbitMQ to the conformance tests

* Fixing unit tests
2021-03-04 11:56:35 -08:00
Phil Kedy a15c616bb0
Make state.GetResponse ETag to a *string (#733)
* Make state.GetResponse ETag to a *string

* Small fixes post merge of #716

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2021-03-03 13:28:59 -08:00
Phil Kedy 44d64598b8
Added Hazelcast to conformance tests and retry to prevent message loss (#724) 2021-03-03 13:08:58 -08:00
halspang cb3c881d39
Add ETag operation to statestore conformance test (#716)
* Add ETag operation to statestore conformance test

ETags are used to enable concurrency guarantees and are part of the
statestore specification. Not all stores need to use them, however
if the store chooses to, it should be part of the certification
process. This commit adds a simple ETag test scenario that verifies
the basic behaviors of ETags.

https://github.com/dapr/components-contrib/issues/711

* Update tests.yml

* Error on mongodb when etag does not match on delete.

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2021-03-03 12:27:10 -08:00
Mukundan Sundararajan 3ebe447759
fix duration for event grid conf test (#735) 2021-03-03 12:03:09 -08:00
Phil Kedy 715cc8d688
Refactored conformance tests to use a new config package (#712)
* Refactored the conformance tests to use a new config package
Removed dependency on k8s apimachinery sets

* Comment tweak

* Renamed kit package to internal
2021-03-01 13:03:39 -08:00
Phil Kedy df1d80d411
Conformance Test: PubSub - Ignore already processed messages (#722)
* Conformance Test: PubSub - Ignore already processed messages

* Fixing a race condition in StartHTTPServer
2021-02-26 01:32:00 -08:00
Phil Kedy e8efbca072
Add MQTT pubsub to the conformance tests (#721)
* Add MQTT pubsub to the conformance tests

* Making the MQTT pubsub component conformance test against multiple brokers
2021-02-25 18:16:23 -08:00
Joni Collinge 2ff6ca4302 merge master 2021-02-25 16:15:26 +00:00
Phil Kedy 4f79098df2
Make failing conformance tests also fail the build (#715)
* Setting pipefail option in github workflow and purposefully making the Redis test fail to verify that the build fails (as expected)

* Disabling in order processing for Redis (re-disabling) and Azure Service Bus
2021-02-24 19:48:48 -08:00
Phil Kedy 4a0011bcbd
Improve conformance tests and add pulsar (#702)
* Improve conformance tests and add pulsar

* Fix linter error

* Fix linter errors

* Tweaks to pulsar pubsub per PR

* Switching uuid import

* Using Stringer interface to print message keys as base64 in logger

* Disabling some checks w/ Redis pubsub until the component can be enhanced

* Adding comment to eventually remove the simulateErrors option

* Add comment asBase64String to explain what it does

* Adding redelivery (reclaims) to the Redis pubsub component
Removed the temporary simulateErrors flag now that Redis is passing

* Fixing linter issues

* using a wait group instead of a sleep to wait for processing to complete

* More comments and refactoring

* comment tweaks

* Tweaks per PR

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2021-02-23 13:31:52 -08:00
Artur Souza c4a7f0bae1 Merge remote-tracking branch 'upstream/release-1.0' into merge_release_master 2021-02-17 15:23:42 -08:00
Mukundan Sundararajan d4c7df42d5
Update conf test readme (#693)
* Update conf test readme

* Update README.md

* address review comments

* Update tests.yml

* Update README.md

* Update README.md
2021-02-16 14:56:01 -08:00
Artur Souza 13051e2197
Adds conf test for natsstreaming. (#690) 2021-02-12 08:09:50 -08:00
Artur Souza dd3e463b52
Fix pubsub retry for Kafka (#688)
* Add conformance test for kafka pubsub + quickfix for Kafka error handling.

* Adding backoff/retry logic to the Kafka pub/sub component

* Add logic to return if error from backoff in kafka.

* Addressing PR comments and lint.

Co-authored-by: Phil Kedy <phil.kedy@gmail.com>
2021-02-12 00:08:46 -08:00
Nghia Tran 724473462b
Run conformance tests for Kuberentes secret store (#673)
* Run K8s secret store tests

* Add workaround for https://github.com/golang/go/issues/40795

* Add clarity to the hack
2021-02-11 14:40:32 -08:00
Artur Souza 2562908dee
Conf state trx + Change mongodb get result for key not found + Fix byte[] in cosmosdb (#680)
* Add state transaction conf test.

* Does not return error for key not found in mongodb.

* Rewrite state conf test.

* Handle []byte in cosmosdb state txn (#664)

Fixes: dapr/dotnet-sdk#579

The issue here is that we had missed the case of pre-marshaled bytes in
the state transaction code path, which would result in the encoding/json
package doing it's normal thing and base64 encoding the data as a JSON
string.

The fix is to use json.RawMessage to avoid that. Turns out this code can
be simplified a bit.

* Fix cosmosdb handling of byte[].

* Fix lint.

* Fix UT for cosmosdb.

* Remove config from state store conf test.

Co-authored-by: Ryan Nowak <nowakra@gmail.com>
2021-02-10 18:15:59 -08:00
Artur Souza 1ae721a23a
Stop ngrok when done running conf tests. (#678)
Increase eventgrid test timeout.
2021-02-10 16:03:08 -08:00
Yaron Schneider 3ef025c604
change headers (#679) 2021-02-09 18:57:55 -08:00
Phil Kedy e6924c6d7b
Improving the versatility of the HTTP output binding (#661)
* no message

* Removing HTTP input binding from conformance test

* Moving // nolint: noctx

* Fixed linter issue

* Tweaks

* Tweak

* Setting request headers from metadata

* More comments and handling of non-200 response codes

* Fixing conformance test for HTTP

* Temporarily bumping up redis timeouts

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
Co-authored-by: Charlie Stanley <charlie.stanley@microsoft.com>
2021-02-09 12:02:47 -08:00
Artur Souza 6a26165f92
Increase timeout for conf test + more logging for EventGrid. (#666) 2021-02-07 18:38:49 -08:00
Nghia Tran 33af2809e2
Add Azure Keyvault secret store (#654)
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2021-02-07 18:23:50 -08:00
Artur Souza ac28629cb0
Increase timeout for conf test + more logging for EventGrid. (#663) 2021-02-05 19:10:44 -08:00
Artur Souza 795b62417e
Add verbosity to conf tests. More debug logging in eventgrid binding. (#662) 2021-02-05 17:41:06 -08:00
Artur Souza a020fd0f27
Adds conf test for Azure Event Grid. (#659) 2021-02-05 15:05:48 -08:00
halspang 13092f20df
Add Azure Service Bus Queues binding to tests (#651)
https://github.com/dapr/components-contrib/issues/619

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2021-02-04 15:21:38 -08:00
halspang aba184f942
Use a channel to block server start before tests (#644)
The http server required for the http binding tests was not up
before the tests began to execute. This change adds a channel to
allow the server to block until it's ready.

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2021-01-29 18:42:34 -08:00
Mukundan Sundararajan 2a100c05bf
add license header to conf test files (#643) 2021-01-29 16:46:29 -08:00
halspang 6f31e9f14f
Add http input/output bindings test (#637)
* Refactor bindings and introduce input bindings

This commit adds Kafka output bindings tests and refactors the
general bindings tests to include input and output bindings in
the same set of tests. Azure Storage Queues are used as the
first input binding.

* Add http input/output bindings test

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2021-01-29 13:00:09 -08:00
Mukundan Sundararajan d079beacd3
Refactor conformance tests (#626)
* Fix running output bindings with errors
Refactor tests to make it simpler for go test filtering.
Add get operation for blobstorage binding.

* remove unused code
2021-01-21 19:19:34 -08:00
Mukundan Sundararajan a9aeffbb30
Azure service bus conf tests (#614)
* Add azure service bus conformance tests
Bubble up error on required env var not set

* Update common.go

* Fix running output bindings with errors

* update readme

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2021-01-21 17:06:33 -08:00
Nghia Tran a9d20c95b6
Conformance tests for MongoDB State Store (#623)
* Tests MongoDB statestore

* Increase test timeout a bit

* Increase durations even more.

* Clarify the mongodb and redis version

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2021-01-21 11:20:45 -08:00
Nghia Tran cb63cda501
Conformance tests for Azure Blob Storage & Storage Queue output bindings (#624)
* Conformance tests for Azure Blob Storage & Storage Queue bindings

* Fix lint comments

* Unit tests for path util
2021-01-21 10:35:30 -08:00
halspang 2d0ebf8a8c
Add conformance tests for output bindings (#608)
This commit adds new conformance tests for output binding components.
Redis is being used as a the introductory binding example.

https://github.com/dapr/components-contrib/issues/409

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2021-01-20 18:23:15 -08:00
Nghia Tran 3086450ced
Add CosmosDB state store conformance tests (#622)
* Add CosmosDB conformance tests

* Fix workflow & lint

* Add more disclaimers to README.md
2021-01-20 14:38:09 -08:00
Mukundan Sundararajan 079d0b1bd0
Fix bulk get secret conformance tests (#621)
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2021-01-20 12:55:27 -08:00
Mukundan Sundararajan 465d09e54d
Add initial set of conformance tests (#586)
* Add initial set of conformance tests

* remove go mod changes

* set and unset env var for test
2021-01-20 12:09:51 -08:00