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

Re-organize the project layout and refactor request processing code #21

Merged
merged 3 commits into from
Aug 30, 2018
Merged

Re-organize the project layout and refactor request processing code #21

merged 3 commits into from
Aug 30, 2018

Conversation

daxian-dbw
Copy link
Contributor

@daxian-dbw daxian-dbw commented Aug 30, 2018

Re-organize the project layout (2nd) and refactor request processing code.

  • The Azure.Functions.PowerShell.Worker folder under src is redundant, and also makes the path too long. Remove that folder and place all content directly under src instead.
  • Same to the test folder. Remove the folder Azure.Functions.PowerShell.Worker.Test.
  • Add Modules folder under src, and move Azure.Functions.PowerShell.Worker.Module under it.
  • Update Azure.Functions.PowerShell.Worker.csproj to copy the module folder under publish\Modules. The initialization of powershell worker should prepend pwd\Modules to the module path.
  • Merge code from Handle*Request.cs to RequestProcessor.cs (no chnage to the function body, only signatures are changed), and simplify Worker.cs. Keep the request processing code in a single class will make it easier to update to handle parallel requests later.
  • Rename FunctionMessagingClient to MessgingStream, since it's actually a wrapper of the stream call instead of the client.

Copy link
Member

@TylerLeonhardt TylerLeonhardt left a comment

Choose a reason for hiding this comment

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

LGTM, just some nitpicks.

src/Messaging/MessagingStream.cs Show resolved Hide resolved
src/RequestProcessor.cs Outdated Show resolved Hide resolved
src/RequestProcessor.cs Outdated Show resolved Hide resolved
src/RequestProcessor.cs Show resolved Hide resolved
@daxian-dbw
Copy link
Contributor Author

I have run the HttpTrigger function app locally successfully. Also run the xUnit tests and all passed:

PS:633> dotnet xunit -fxversion 2.1.2
Detecting target frameworks in Azure.Functions.PowerShell.Worker.Test.csproj...
Building for framework netcoreapp2.1...
  Azure.Functions.PowerShell.Worker -> D:\Repos\azure-functions-powershell-worker\src\bin\Debug\netcoreapp2.1\Azure.Functions.PowerShell.Worker.dll
  Azure.Functions.PowerShell.Worker.Test -> D:\Repos\azure-functions-powershell-worker\test\bin\Debug\netcoreapp2.1\Azure.Functions.PowerShell.Worker.Test.dll
Running .NET Core 2.1.2 tests for framework netcoreapp2.1...
xUnit.net Console Runner (64-bit .NET Core 4.6.26628.05)
  Discovering: Azure.Functions.PowerShell.Worker.Test
  Discovered:  Azure.Functions.PowerShell.Worker.Test
  Starting:    Azure.Functions.PowerShell.Worker.Test
    Azure.Functions.PowerShell.Worker.Test.TypeExtensionsTests.TestObjectToTypedDataDouble [SKIP]
      Double gets interpreted as byte[]
    Azure.Functions.PowerShell.Worker.Test.TypeExtensionsTests.TestObjectToTypedDataInt [SKIP]
      Int gets interpreted as byte[]
    Azure.Functions.PowerShell.Worker.Test.TypeExtensionsTests.TestObjectToTypedDataStream [SKIP]
      Stream gets interpreted as Bytes
  Finished:    Azure.Functions.PowerShell.Worker.Test
=== TEST EXECUTION SUMMARY ===
   Azure.Functions.PowerShell.Worker.Test  Total: 26, Errors: 0, Failed: 0, Skipped: 3, Time: 0.458s

@daxian-dbw daxian-dbw merged commit b6b8e0d into Azure:dev Aug 30, 2018
@daxian-dbw daxian-dbw deleted the reorg2 branch August 30, 2018 19:17
davidmrdavid added a commit that referenced this pull request Apr 7, 2022
# This is the 1st commit message:

separate DF SDK classes from DF worker classes

# This is the commit message #2:

fix typo

# This is the commit message #3:

DurableSDK now compiles by itself

# This is the commit message #4:

Allow ExternalSDK to handle orchestration

# This is the commit message #5:

document next steps

# This is the commit message #6:

allow external SDK to set the user-code's input. Still need to refactor this logic for the worker to continue working with old SDK

# This is the commit message #7:

add import module

# This is the commit message #8:

supress traces

# This is the commit message #9:

avoid nullptr

# This is the commit message #10:

pass tests

# This is the commit message #11:

fix E2E tests

# This is the commit message #12:

develop E2E tests

# This is the commit message #13:

Enabled external durable client (#765)

Co-authored-by: Michael Peng <michaelpeng@microsoft.com>
# This is the commit message #14:

bindings work

# This is the commit message #15:

conditional binding intialization

# This is the commit message #16:

conditional import

# This is the commit message #17:

Added exception handling logic

# This is the commit message #18:

Revert durableController name to durableFunctionsUtils

# This is the commit message #19:

Ensure unit tests are functioning properly

# This is the commit message #20:

Corrected unit test names

# This is the commit message #21:

Turned repeated variables in unit tests into static members

# This is the commit message #22:

Fixed issue with building the worker

# This is the commit message #23:

Fix E2E test

# This is the commit message #24:

Fixed unit test setup

# This is the commit message #25:

Fixed another unit test setup

# This is the commit message #26:

Remove string representation of booleans

# This is the commit message #27:

patch e2e test
# This is the commit message #28:

remove typo in toString
# This is the commit message #29:

Update PowerShell language worker pipelines (#750)

* Install .Net to a global location

* Remove .Net installation tasks

* Update install .Net 6 task

* Update Windows image to use windows-latest
# This is the commit message #30:

Make throughput warning message visible for tooling diagnosis (#757)


# This is the commit message #31:

Update grpc.tools to version 2.43.0

# This is the commit message #32:

Update Google.Protobuf.Tools to version 3.19.4

# This is the commit message #33:

Revert "Update Google.Protobuf.Tools to version 3.19.4"

This reverts commit bcbd022.

# This is the commit message #34:

Revert "Update grpc.tools to version 2.43.0"

This reverts commit ccb323a.

# This is the commit message #35:

Update Google.Protobuf to 3.19.4 and grpc.tools to  2.43.0 (#762)

* Update grpc.tools to version 2.43.0

* Update Google.Protobuf.Tools to version 3.19.4
# This is the commit message #36:

Switch from Grpc.Core to Grpc.Net.Client (#758)

* Upgraded protobuf versions and removed Grpc.Core dependency

* Updated channel and option types used

* Change channel credentials

* Added http prefix to url

* Add valid URL check and explicitly include credentials
# This is the commit message #37:

Update pipeline logic to generate the SBOM for release builds (#767)
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