Skip to content
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

TestEnv support for mock networking #1264

Merged
merged 1 commit into from
Mar 7, 2024
Merged

TestEnv support for mock networking #1264

merged 1 commit into from
Mar 7, 2024

Conversation

AhmedSoliman
Copy link
Contributor

@AhmedSoliman AhmedSoliman commented Mar 6, 2024

Copy link

github-actions bot commented Mar 6, 2024

Test Results

 92 files   - 25   92 suites   - 25   4m 4s ⏱️ - 4m 5s
 73 tests  - 29   48 ✅  -  49  25 💤 +20  0 ❌ ±0 
196 runs   - 65  131 ✅  - 115  65 💤 +50  0 ❌ ±0 

Results for commit 61c23e0. ± Comparison against base commit d1d9f87.

This pull request removes 73 and adds 44 tests. Note that renamed tests count towards both.
dev.restate.e2e.JavaAwakeableTest ‑ generate(RandomNumberListGeneratorBlockingStub)
dev.restate.e2e.JavaCoordinatorWithNodeReceiverServiceToServiceCallTest ‑ synchronousCall(CoordinatorBlockingStub)
dev.restate.e2e.JavaKafkaIngressTest ‑ handleEventInCounterService(URL, int, CounterBlockingStub)
dev.restate.e2e.JavaKafkaIngressTest ‑ handleEventInEventHandler(URL, int, CounterBlockingStub)
dev.restate.e2e.JavaNonDeterminismTest ‑ BackgroundInvokeWithDifferentTargets
dev.restate.e2e.JavaNonDeterminismTest ‑ CallDifferentMethod
dev.restate.e2e.JavaNonDeterminismTest ‑ LeftSleepRightCall
dev.restate.e2e.JavaNonDeterminismTest ‑ SetDifferentKey
dev.restate.e2e.JavaOldAwaitTimeoutTest ‑ Test Awaitable#await(Duration)
dev.restate.e2e.JavaOldSampleWorkflowTest ‑ Sample workflow with sleep, side effect, call and one way call
…
dev.restate.e2e.JavaAwakeableTest ‑ generate(IngressClient)
dev.restate.e2e.JavaCoordinatorWithNodeReceiverServiceToServiceCallTest ‑ synchronousCall(IngressClient)
dev.restate.e2e.JavaKafkaIngressTest ‑ handleEventInCounterService(URL, int, IngressClient)
dev.restate.e2e.JavaKafkaIngressTest ‑ handleEventInEventHandler(URL, int, IngressClient)
dev.restate.e2e.JavaNonDeterminismTest ‑ backgroundInvokeWithDifferentTargets
dev.restate.e2e.JavaNonDeterminismTest ‑ callDifferentMethod
dev.restate.e2e.JavaNonDeterminismTest ‑ leftSleepRightCall
dev.restate.e2e.JavaNonDeterminismTest ‑ setDifferentKey
dev.restate.e2e.JavaServiceToServiceCallTest ‑ synchronousCall(IngressClient)
dev.restate.e2e.JavaSimpleSleepTest ‑ manySleeps(IngressClient)
…
This pull request removes 5 skipped tests and adds 15 skipped tests. Note that renamed tests count towards both.
dev.restate.e2e.node.VerificationTest ‑ killingTheRuntime(CommandVerifierBlockingStub, ContainerHandle)
dev.restate.e2e.node.VerificationTest ‑ stoppingTheRuntime(CommandVerifierBlockingStub, ContainerHandle)
dev.restate.e2e.runtime.PersistenceTest ‑ startAndKillRuntimeRetainsTheState(CounterBlockingStub, ContainerHandle)
dev.restate.e2e.runtime.PersistenceTest ‑ startAndStopRuntimeRetainsTheState(CounterBlockingStub, ContainerHandle)
dev.restate.e2e.runtime.UpgradeServiceTest ‑ inFlightInvocationStoppingTheRuntime(IngressBlockingStub, UpgradeTestServiceBlockingStub, AwakeableHolderServiceBlockingStub, ListServiceBlockingStub, URL, ContainerHandle)
dev.restate.e2e.JavaCoordinatorWithNodeReceiverServiceToServiceCallTest ‑ synchronousCall(IngressClient)
dev.restate.e2e.NodeAwaitTimeoutTest ‑ Test Awaitable#await(Duration)
dev.restate.e2e.NodeAwakeableTest ‑ generate(IngressClient)
dev.restate.e2e.NodeCancelInvocationTest ‑ cancelInvocation(BlockingOperation, IngressClient, URL)
dev.restate.e2e.NodeCoordinatorWithJavaReceiverServiceToServiceCallTest ‑ synchronousCall(IngressClient)
dev.restate.e2e.NodeNonDeterminismTest ‑ method(String, IngressClient)
dev.restate.e2e.NodeServiceToServiceCallTest ‑ synchronousCall(IngressClient)
dev.restate.e2e.NodeSimpleSleepTest ‑ manySleeps(IngressClient)
dev.restate.e2e.NodeSimpleSleepTest ‑ sleep(IngressClient)
dev.restate.e2e.NodeSleepWithFailuresTest ‑ sleepAndKillServiceEndpoint(IngressClient, ContainerHandle)
…
This pull request skips 10 tests.
dev.restate.e2e.NodeErrorsTest ‑ Test calling method that fails terminally
dev.restate.e2e.NodeErrorsTest ‑ Test calling method that fails terminally multiple times
dev.restate.e2e.NodeErrorsTest ‑ Test invocations are retried until they succeed
dev.restate.e2e.NodeErrorsTest ‑ Test propagate failure from another service
dev.restate.e2e.NodeErrorsTest ‑ Test set then fail should persist the set
dev.restate.e2e.NodeErrorsTest ‑ Test side effects are retried until they succeed
dev.restate.e2e.NodeErrorsTest ‑ Test terminal error of side effects is propagated
dev.restate.e2e.NodeSideEffectTest ‑ Side effect should wait on acknowledgements
dev.restate.e2e.NodeWorkflowAPITest ‑ Set and resolve durable promise leads to completion
dev.restate.e2e.NodeWorkflowAPITest ‑ Workflow cannot be submitted more than once

♻️ This comment has been updated with latest results.

Copy link
Contributor

@tillrohrmann tillrohrmann left a comment

Choose a reason for hiding this comment

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

Thanks for creating this PR @AhmedSoliman. The changes look good to me. I had one question concerning hooking the MetadataManager up with the network layer. +1 for merging.

crates/core/src/test_env.rs Outdated Show resolved Hide resolved
@AhmedSoliman
Copy link
Contributor Author

In fact, let me park this a little bit. TestEnv needs a slight redesign to follow the builder pattern instead.

@AhmedSoliman AhmedSoliman requested review from tillrohrmann and removed request for tillrohrmann March 6, 2024 13:41
@AhmedSoliman AhmedSoliman marked this pull request as draft March 6, 2024 13:42
@AhmedSoliman AhmedSoliman marked this pull request as ready for review March 6, 2024 15:54
@AhmedSoliman
Copy link
Contributor Author

AhmedSoliman commented Mar 6, 2024

Reworked the design. Ready again for review.

Copy link
Contributor

@tillrohrmann tillrohrmann left a comment

Choose a reason for hiding this comment

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

LGTM. +1 for merging.

@AhmedSoliman AhmedSoliman merged commit 61c23e0 into main Mar 7, 2024
11 checks passed
@AhmedSoliman AhmedSoliman deleted the pr1264 branch March 7, 2024 15:00
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.

None yet

2 participants