Commit Graph

59 Commits

Author SHA1 Message Date
Juan Jose Herrera 4ba8f4e8d1 Add E2E testing for bindings (#148)
* Add GRP State Integration Test

* Explain ignored test cases for GRPC

* Explain ignored test cases for GRPC

* Update DaprClientTestBuilder.java

* Add binding E2E testing.

* Add fix binding E2E testing after merge with new changes

* Remove example comments

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2020-01-24 11:59:05 -08:00
Artur Souza 9077e8e83a
Adding checkstyle + fix style in sdk-actos. (#146) 2020-01-24 11:32:56 -08:00
mestizoLopez 57d0aff93a Adding more unit test to reach 80% Coverage (#149) 2020-01-24 10:48:12 -08:00
Juan Jose Herrera 172859bc82 Add gRPC State Integration Test (#138)
* Add GRP State Integration Test

* Explain ignored test cases for GRPC

* Explain ignored test cases for GRPC

* Update DaprClientTestBuilder.java

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2020-01-23 13:12:16 -08:00
Artur Souza 103b407aeb
Separate serializer for state. (#135) 2020-01-23 11:39:23 -08:00
Young Bu Park d5506f38b6
Install local test kafka before running build and tests (#142)
* local test kafka docker-compose yaml

* add kafka install step
2020-01-22 13:50:39 -08:00
Leon Mai a99e8adc8f Fix arg parsing problem -Dexec.args= seems to not allow hyphens inside (#136) 2020-01-21 14:08:37 -08:00
Artur Souza c5f040fb49
Addresses multiple items from design review (#124)
* Use byte[] for customer data and serialized data.
Fixes for actor demo.

* Simplifying ObjectSerializer + handling CloudEvent properly.

* Split DaprClient into 3 parts to hide actor APIs.

* Remove Actor "dummy" interface.

* Supports custom serializer.

* Change seriaizer to receive Object directly.

* Handling custom serialization in State APIs + enhancements to the state APIs.

* Addressing small comment on Mono chain in ActorManager.

* Make serializer mandatory, throwing exception when null.
2020-01-21 11:35:08 -08:00
Juan Jose Herrera 1725247761 Fix IT issues, to run the integration test rember to add the parameter skipITs=false (#131) 2020-01-20 19:12:07 -08:00
Juan Jose Herrera 1fd8d54e12 Refactor StateOptions and add IT consistency testing (#110)
* Renaming State domain object.
Removing duplicate use of State Options.
Adding custom serialize and deserialize classes for StateOptions objects.

* #26 Refractor StateOptions to clean unused code

* Fixing merge issues.

* #26 Add integration test for states using Retry policies

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2020-01-20 12:32:13 -08:00
Artur Souza 47918cc009
Resolving conflict for PR #110 (#130)
* Renaming State domain object.
Removing duplicate use of State Options.
Adding custom serialize and deserialize classes for StateOptions objects.

* #26 Refractor StateOptions to clean unused code

* Fixing merge issues.

* Fixing unit test for DaprClientHttpAdapterTest after refactoring.

Co-authored-by: Juan Jose Herrera <35985447+JuanJose-Herrera@users.noreply.github.com>
2020-01-20 11:34:54 -08:00
Artur Souza 00251b7e31 Moving io.dapr.runtime to test + fixing examples accordingly. (#121) 2020-01-17 17:14:16 -08:00
Artur Souza 19f75763be
Removing springboot jar and adding some unit tests for ActorRuntime. (#114) 2020-01-17 13:52:04 -08:00
mestizoLopez bcf653bc5e Creating unit tests for HttpAdapter + Adding junit 5 dependency + Reformating code (#112)
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2020-01-17 09:27:06 -08:00
Young Bu Park 7374cf0138
[CD] Fix gpg private key import (#113)
* fix gpg key import process

* add GPG_TTY env setting

* revert

* rename dapr-sdk to dapr-actors

* fix
2020-01-16 16:23:57 -08:00
Andres Robles c67d5678d0 Fixing bug, where call should be deferred instead of async (#102)
* Fixing bug, where call should be deferred instead of async

* Removing unused pool property
Returning null as response body if empty response is found.
Adding Test case for validating callback is executed when expected.

* Fixing assertion based on previous changes

* Adding test case to verify that the call to grpc only happens when the requestor block the thread, instead of in parallel immediately after calling the methods in the adapter.
Documenting complex test case

* Fixing merge conflicts

* Documenting complex test case
2020-01-16 14:34:39 -08:00
Young Bu Park df99cc7345 Deploy Jar packages to Nexus via CI (#106)
* Add SNAPSHOT suffix to version

* set deployment setup

* add ossrh  repostiory

* OSSRH setting

* add deployment steps

* exclude examples jar

* remove condition

* exclude spring boot pkg

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2020-01-16 11:06:42 -08:00
Andres Robles acd28bb189 Receiving the StateOptions on save as part of the State, to comply with the DAPR API (#105)
* Receiving the StateOptions on save as part of the State, to comply with the DAPR API

* #26 Add integration test for Concurrency funtionality in the states module

Co-authored-by: Juan Jose Herrera <35985447+JuanJose-Herrera@users.noreply.github.com>
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2020-01-16 10:57:12 -08:00
mestizoLopez 192b37e4c0 Fixing and finishing unit tests (#97)
* Fixing and finishing unit tests

* Fixing styling Issues and adding new test
2020-01-15 10:53:25 -08:00
Juan Jose Herrera a0250fd002 #26 Integretion Testing Initial Example (#74)
* #26 Add Hello World Integration Testing working on Windows, need work to work on MAC and Linux

* #26 Add new Integration Test to test DAPR state functionality

* #26 Add Hello World Integration Testing working on Windows, need work to work on MAC and Linux

* Update Integration Testing getting free ports automatically

* #26 Refractor to use a base class for all the integration tests

* #26 Make StateOptions as optional in order to not throw a null pointer exception

* #26 Remove empty lines and correct the ident

* Adding license to DaprIntegrationTestingRunner

Co-authored-by: Young Bu Park <youngp@microsoft.com>
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2020-01-13 17:59:27 -08:00
Young Bu Park e6dbde5182
Upload jacoco test coverage report to artifact storage (#95)
* set jacoco report output dir

* upload test report

* add dapr version info
2020-01-13 17:52:13 -08:00
Andres Robles 59762ab819 Increasing test coverage for DaprClientGrpcAdapter (#94) 2020-01-13 17:14:51 -08:00
Artur Souza 80ed8bf0c1
Fixing DaprHttp and its tests. (#93) 2020-01-13 16:40:34 -08:00
Andres Robles c56b08913b Addressing comments regarding where to build the query parameters forthe HTTP Client calls. (#84)
* Addressing comments regarding where to build the query parameters for the HTTP Client calls.

* Making map immutable while also preventing a NPE
2020-01-13 10:46:57 -08:00
Andres Robles 9703dabaae Unit testing + bug fixing in GRPC Adapter (#79)
* Adding mockito plugin to be able to mock final classes
Increasing test coverage for ObjectSerializer
Fixing bug in GRPC Adapter while creating the envelopes, found during unit testing.

* First step into returning Http Headers as part of the response for the DaprClientHttpAdapter
Updating State object to match the API.
Fixing Broken Unit Tests and increasing coverage for DaprClientGrpcAdapter

* Adding documentation, fixing typos and renaming support method to be more descriptive.

* Addressing PR comments
Increasing test coverage
Fixing Merge conflicts

* Addressing PR comments
2020-01-13 08:01:45 -08:00
Artur Souza 6953bc49d1
Spliting Actor client and runtime into a separate jar. (#83) 2020-01-11 10:13:29 -08:00
Leon Mai 018a79530b Fix bindings + add samples (#81)
* Fix binding and add samples

* Fix sample command line

* update comment for name change

* lowercase d matches runtime, though it looks like it is case insensitive
2020-01-10 17:07:40 -08:00
mestizoLopez 44a2806659 Java sdk wip (#77)
* Fixing issue regarding GET and DELETE method

* Adding unit test for DaprHttp.java

* Adding test scope

* Renaming a property and fixing conflict to merge.

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2020-01-10 14:52:21 -08:00
Artur Souza 9dd89da7e1
Invoke service + unit tests. (#78) 2020-01-10 14:46:57 -08:00
Artur Souza d9c60441fd
Unit tests for PubSub + JavaDocs. (#75) 2020-01-09 15:47:22 -08:00
mestizoLopez eb7d1b62cf Fixing issue regarding GET and DELETE method (#76) 2020-01-09 12:52:20 -08:00
Artur Souza 858f28a34b
PubSub + related fixes. (#71) 2020-01-08 12:08:29 -08:00
Andres Robles 5e3dc74003 Refactoring HTTP Client and creating Client HTTP Adapter (#68)
* Refactoring HTTP Client to follow same pattern as the GRPC Client.
Creating DaprClientHttpAdapter to be exposed to the users.
Refactor all uses of the http Client to use the adapter instead following composition rather than inheritance.
Dealing with conflicts

* Renaming AppToDaprHttpAsync to AppToDaprHttpAsyncClient changed previously by mistake

* Refactor Adapters to centralize all generic and actor specific functionality in the same place, having a single entry point for all communications to DAPR.
Leaving GRPC Adapter implemented, but without the possibility to create an instance of it.
Fixing Test cases

* Addressing PR comments
2020-01-07 20:08:55 -08:00
Leon Mai d441f5441f
Request body must be null on get for okhttp, empty body does not work… (#70)
* Request body must be null on get for okhttp, empty body does not work.  Also, expose the ActorStateManager methods that ought to be exposed to user.

* Make ctor package private and use equals for string compare
2020-01-07 14:58:07 -08:00
Artur Souza 30b784cb86
Starting package to handle SpringBoot integration. (#69) 2020-01-07 14:22:30 -08:00
Juan Jose Herrera d4c467aec5 Add UnitTest to ActorProxyImpl and JaCoCo (coverage tool) implementation (#67)
* Change from unwrapMethodResponse to deserialize, because the response from an actor method is not wrapped in "Data" object
Add Unit test for the ActorProxy class

* #24 Implement more testing to the ActorProxyImpl and refactor how we manage the errors with Mono
#20 Add the coverage tool JaCoCo, the rules are commented at this moment in order to allow to execute the examples at this moment, if we enable the rules, the compilation fails.

* Enable rules for unit test coverage with a minimum of 0 in order to allow the developers to success compile, the minimum should be set to .8 before the projects ends

* Use the unwrapMethodResponse of the serilizer in order to deserilize actor responses.

* Reverting ActorProxyImpl.java

There is not need to change ActorProxyImpl since the previous change to not wrap it with the "data" structure was incorrect.

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2020-01-06 10:28:53 -08:00
Artur Souza c571ac6ba6
Unit tests for ActorManager + fixes for Timer and Reminder. (#63) 2019-12-28 18:00:30 -08:00
Andres Robles 66e9098c13 Adding gRPC client adapter, to encapsulate gRPC logic from the user (#61)
* Adding a common adapter to be exposed to users, for calling either the gRPC or the HTTP Clients.
Implementing gRPC adapter based on interface.
Moving ActorStateSerializer and renamed to be used as a generic utility for Serializing objects

* Creating a builder for the GrpcClient
Abstracting generic serialize and deserialize methods into a generic base class while leaving Actor specific stuff into the ActorStateSerializer class
Adding Javadocs
2019-12-28 16:56:13 -08:00
mestizoLopez ee1af6cb1c Adding new methods for Http Client (#60)
* Adding new methods for Http Client

* Finishing implementation for HttpClient

* Adding JavaDoc and Changing return Type to new Methods

* Using ObjectSerializer and changing Constants values
2019-12-28 16:52:49 -08:00
Artur Souza 0ef261554a
ActorProxy + some refactoring (#62)
* ActorManager

* More work done.

* Adding example for actor runtime service.

* Implements ActorStateManager + fixes + javadocs.

* Fix OrderManager example in order to process http 201
Change the implement the calls to DAPR using the class AbstractDaprClient because before the change the class always return Mono.Empty
Implementation of the ActorAsyncProxy
Change the name of the Actor Dapr Http Async Client

* Update code with the changes proposed by Artur in the code review

* Changes to support ActorProxy + Fixes.

Co-authored-by: Juan Jose Herrera <35985447+JuanJose-Herrera@users.noreply.github.com>
2019-12-27 11:19:59 -08:00
Artur Souza 64bb4bfb3e
More Actors Stuff (#57)
* ActorManager

* More work done.

* Adding example for actor runtime service.

* Implements ActorStateManager + fixes + javadocs.
2019-12-26 18:08:01 -08:00
Leon Mai b229d462e9 Add ReminderInfo (#54)
* Add ReminderInfo

* remove extra var
2019-12-19 16:16:52 -08:00
ji11er 4bd9942b8c closed the response objects and returning a string (#56) 2019-12-19 14:47:25 -08:00
Artur Souza 9a10a960e8
Faster JSON building + separate auto-gen jar + tests. (#55) 2019-12-19 12:58:58 -08:00
Artur Souza 14f2304c8c ActorService + DaprStateProvider + some more. (#53) 2019-12-18 15:37:55 -08:00
Leon Mai 753ff87d03 Add ActorTimer and related (#51)
* Add ActorTimer and related

* cr
2019-12-17 13:22:30 -08:00
Artur Souza 6733fcdda8
More reformatting to 2 spaces indentation. (#50) 2019-12-16 16:14:17 -08:00
ji11er 78fec8f840 Improved async call to okhttp. Former solution just wrapped a blocking call, now we using asynch call and collect the results via callbacks. Mono's are created based on the result. This make more efficient use of the resources since nothing is blocking now. Reformatted according new checkstyle (#48) 2019-12-16 15:43:06 -08:00
Leon Mai 58365cda6a
Add ConverterUtils class (#49)
* Add ConverterUtils + unit test
2019-12-16 15:18:50 -08:00
Leon Mai 70f9f6e326
Add ActorMethodInfoMap (#47)
* Add ActorMethodInfoMap
2019-12-14 11:15:49 -08:00