Comments (10)
That's fine. It's good to try it locally first since interacting with CI is mostly a slow process.
Ultimately, whatever strategy we pick, we want it running on CI and that for each PR.
from kalix-jvm-sdk.
I'll start creating a script that
- clones the java-sdk
- install the archetypes on local
- generate a new project from that local archetype
- run both tests (unit and it)
- and copy the relevant files from samples (maybe one by one starting with the Impl) while running the tests.
from kalix-jvm-sdk.
You mean one script that does that all?
This is better done by the CI using its scripting facilities. At the end, it's the same, but there are a few other things already in place.
from kalix-jvm-sdk.
I don't know how many of all the cases we are going to tackle with this but I thought it could be a useful first iteration. I totally agree that done in CI is the way to go. What I thought is first testing all this in local to have it fleshed out and later if we find it useful, yeah, moving it to CI. Makes sense or you would rather start developing it in CI?
from kalix-jvm-sdk.
I created #57 to start with, @octonato
I think I need to do a couple of tests before I copy all the files (it, unit tests and CounterImpl) but this is close to what we were discussing, I think.
from kalix-jvm-sdk.
In the Makefile we have run-test-impl
that tests if sample and codegen are in sync. In order for this to work the codegen should not create test asserting for failure. I uploaded the file trinity/src/test/com/example/domain/CounterTest.java
which has an implementation that passes as long as the CounterImpl contains the required methods. If the codegen would create such a file CounterTest
we then could run-test-impl
and test the sample is in sync with the codegen. LMKWYT
from kalix-jvm-sdk.
I removed the mocking creation from the codegen. This is how it would look the PR https://github.com/franciscolopezsancho/akkaserverless-codegen/pull/1
from kalix-jvm-sdk.
I added to that PR:
- generation of Tests and [Counter]Impl such is not mocking anything and
mvn verify
pass in a clean project - generation of Main. It was broken by missing SERVICE variable.
mvn verify -Pit
pass in a clean project
I think that's ready to merge @octonato
from kalix-jvm-sdk.
For the record: Inclusion of code-gen now has brought integration tests in the form of using the current state of codegen and maven plugin with the sample projects which then run integration tests against a dev mode proxy as part of PR validation etc.
from kalix-jvm-sdk.
I guess this has been done.
from kalix-jvm-sdk.
Related Issues (20)
- Docs: title not appearing for link
- Add validation for component class to be public HOT 1
- document different docker tagging strategies HOT 5
- Value entity effect for replying with new state HOT 3
- Document component client injection
- Self-check connectivity to runtime on startup
- Release Kalix Java/Scala SDKs v1.3.8
- remove file level entity definition support HOT 1
- Dedicated docs section for Deployment-dependent parametrisation using ENVs (VAR)
- Upgrade and pin Vale to v3.0.5
- Improve error for Action's method without proper return type HOT 6
- Rename Quickstarts to Samples in docs
- Bump Maven version requirement
- ACL doc page does not lead to further details HOT 2
- improve java codegen to use c interpolator
- UnsupportedOperationException when using asyncEffect with CompletableFuture.completedStage SDK > 1.3.5 HOT 2
- Make it easier to change runtime and service ports HOT 3
- reorganize the code in the kalix.javasdk.workflow package
- New scheme for integration tests in Scala HOT 2
- Registered Jackson Module is not used HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kalix-jvm-sdk.