Conversation
test/e2e/Apps/BasicJava/src/main/java/com/function/IsReplayingChecks.java
Dismissed
Show dismissed
Hide dismissed
There was a problem hiding this comment.
Pull request overview
Adds new E2E coverage to validate context.IsReplaying/equivalent behavior across non-.NET languages/backends, by introducing a new test suite plus language-specific orchestrators/activities that emit replay-state snapshots and log markers.
Changes:
- Adds a new
IsReplayingTeststest class validating replay flags, snapshot progression, counters, conditional logging, and fan-out/fan-in behavior. - Adds
IsReplaying*orchestrations + an echo activity to the Python, PowerShell, Node, and Java E2E apps to provide consistent test inputs/outputs. - Updates
test.runsettingsdefaults (currently committed, but the file indicates it should not be).
Reviewed changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| test/e2e/Tests/test.runsettings | Changes local default E2E language/app selection (should remain unmodified in repo). |
| test/e2e/Tests/Tests/IsReplayingTests.cs | New E2E test suite asserting replay-state semantics via orchestration outputs and host logs. |
| test/e2e/Apps/BasicPython/is_replaying_checks.py | Adds Python durable orchestrations/activities that record context.is_replaying at key checkpoints. |
| test/e2e/Apps/BasicPython/function_app.py | Registers the new Python blueprint so the functions are discoverable by the host. |
| test/e2e/Apps/BasicPowerShell/IsReplayingMultiActivity/run.ps1 | Adds PowerShell multi-activity orchestration that records replay snapshots. |
| test/e2e/Apps/BasicPowerShell/IsReplayingMultiActivity/function.json | Binds the PowerShell multi-activity orchestrator to an orchestration trigger. |
| test/e2e/Apps/BasicPowerShell/IsReplayingFanOutFanIn/run.ps1 | Adds PowerShell fan-out/fan-in orchestration to validate replay flags around parallel tasks. |
| test/e2e/Apps/BasicPowerShell/IsReplayingFanOutFanIn/function.json | Binds the PowerShell fan-out/fan-in orchestrator to an orchestration trigger. |
| test/e2e/Apps/BasicPowerShell/IsReplayingEcho/run.ps1 | Adds PowerShell echo activity used by the replay-check orchestrations. |
| test/e2e/Apps/BasicPowerShell/IsReplayingEcho/function.json | Binds the PowerShell echo activity to an activity trigger. |
| test/e2e/Apps/BasicPowerShell/IsReplayingCounter/run.ps1 | Adds PowerShell orchestration that counts replay vs non-replay checkpoints. |
| test/e2e/Apps/BasicPowerShell/IsReplayingCounter/function.json | Binds the PowerShell counter orchestrator to an orchestration trigger. |
| test/e2e/Apps/BasicPowerShell/IsReplayingConditionalLog/run.ps1 | Adds PowerShell orchestration that logs different markers on replay vs live paths. |
| test/e2e/Apps/BasicPowerShell/IsReplayingConditionalLog/function.json | Binds the PowerShell conditional-log orchestrator to an orchestration trigger. |
| test/e2e/Apps/BasicPowerShell/IsReplayingBasic/run.ps1 | Adds PowerShell “basic” orchestration that captures replay flags before/after a single activity. |
| test/e2e/Apps/BasicPowerShell/IsReplayingBasic/function.json | Binds the PowerShell basic orchestrator to an orchestration trigger. |
| test/e2e/Apps/BasicNode/src/functions/IsReplayingChecks.ts | Adds Node durable orchestrations/activities mirroring the replay-check scenarios. |
| test/e2e/Apps/BasicJava/src/main/java/com/function/IsReplayingChecks.java | Adds Java durable orchestrations/activities mirroring the replay-check scenarios (includes workaround for a known serialization issue). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
test/e2e/Apps/BasicJava/src/main/java/com/function/IsReplayingChecks.java
Outdated
Show resolved
Hide resolved
…Checks.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 17 out of 17 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 17 out of 17 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 17 out of 17 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 17 out of 17 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 23 out of 23 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -2,9 +2,6 @@ | |||
| // Licensed under the MIT License. See License.txt in the project root for license information. | |||
|
|
|||
| using System.Collections.Concurrent; | |||
There was a problem hiding this comment.
The using Xunit.Sdk; directive was removed, but DiagnosticMessage on line 75 is from the Xunit.Sdk namespace. With implicit usings enabled, Xunit.Sdk is not automatically included, which will cause a compilation error. The using directive should be restored.
| using System.Collections.Concurrent; | |
| using System.Collections.Concurrent; | |
| using Xunit.Sdk; |
| @@ -2,9 +2,6 @@ | |||
| // Licensed under the MIT License. See License.txt in the project root for license information. | |||
|
|
|||
| using System.Collections.Concurrent; | |||
There was a problem hiding this comment.
The using Microsoft.Extensions.Logging; directive was removed, but types from this namespace (ILoggerProvider, ILogger, LogLevel, EventId) are used in this file (lines 8, 67, 72). Other files in the same project (e.g., FunctionAppFixture.cs, FixtureHelpers.cs) explicitly import this namespace, indicating it's not part of implicit usings. This will cause a compilation error. The using directive should be restored.
| using System.Collections.Concurrent; | |
| using System.Collections.Concurrent; | |
| using Microsoft.Extensions.Logging; |
| @@ -2,9 +2,6 @@ | |||
| // Licensed under the MIT License. See License.txt in the project root for license information. | |||
|
|
|||
| using System.Collections.Concurrent; | |||
There was a problem hiding this comment.
The using Xunit.Abstractions; directive was removed, but types from this namespace (ITestOutputHelper, IMessageSink) are used in this file (lines 10-11, 14, 46). Other files in the same project (e.g., FunctionAppFixture.cs, FunctionAppProcess.cs) explicitly import this namespace, indicating it's not part of implicit usings. This will cause a compilation error. The using directive should be restored.
| using System.Collections.Concurrent; | |
| using System.Collections.Concurrent; | |
| using Xunit.Abstractions; |
Summary
What changed?
Why is this change needed?
Issues / work items
Project checklist
pending_docs.mdrelease_notes.mdWebJobs.Extensions.DurableTaskpackage/src/Worker.Extensions.DurableTask/AssemblyInfo.csEventSourcelogsv2.xbranchWebJobs.Extensions.DurableTaskv3.x and will be retained only in thedevandmainbranchesAI-assisted code disclosure (required)
Was an AI tool used? (select one)
If AI was used:
AI verification (required if AI was used):
Testing
Automated tests
Manual validation (only if runtime/behavior changed)
1.
2.
3.
Notes for reviewers