-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
37 changed files
with
2,081 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,6 +9,7 @@ dist/ | |
coverage/ | ||
/tests/e2e/videos/ | ||
/tests/e2e/screenshots/ | ||
wwwroot/ | ||
|
||
# local env files | ||
.env.local | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
{ | ||
// Use IntelliSense to learn about possible attributes. | ||
// Hover to view descriptions of existing attributes. | ||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 | ||
"version": "0.2.0", | ||
"configurations": [ | ||
|
||
{ | ||
"name": ".NET Core Launch (console)", | ||
"type": "coreclr", | ||
"request": "launch", | ||
"preLaunchTask": "build", | ||
"program": "${workspaceFolder}/MyApp/bin/Debug/netcoreapp2.1/MyApp.dll", | ||
"args": [], | ||
"cwd": "${workspaceFolder}/MyApp", | ||
"console": "internalConsole", | ||
"stopAtEntry": false, | ||
"internalConsoleOptions": "openOnSessionStart", | ||
"env": { | ||
"ASPNETCORE_ENVIRONMENT": "Development" | ||
} | ||
}, | ||
{ | ||
"name": ".NET Core Launch (web)", | ||
"type": "coreclr", | ||
"request": "launch", | ||
"preLaunchTask": "build", | ||
"program": "${workspaceFolder}/MyApp/bin/Debug/netcoreapp2.1/MyApp.dll", | ||
"args": [], | ||
"cwd": "${workspaceFolder}/MyApp", | ||
"stopAtEntry": false, | ||
"internalConsoleOptions": "openOnSessionStart", | ||
"launchBrowser": { | ||
"enabled": true, | ||
"args": "${auto-detect-url}", | ||
"windows": { | ||
"command": "cmd.exe", | ||
"args": "/C start ${auto-detect-url}" | ||
}, | ||
"osx": { | ||
"command": "open" | ||
}, | ||
"linux": { | ||
"command": "xdg-open" | ||
} | ||
}, | ||
"env": { | ||
"ASPNETCORE_ENVIRONMENT": "Development" | ||
}, | ||
"sourceFileMap": { | ||
"/Views": "${workspaceFolder}/Views" | ||
} | ||
}, | ||
{ | ||
"name": ".NET Core Attach", | ||
"type": "coreclr", | ||
"request": "attach", | ||
"processId": "${command:pickProcess}" | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
{ | ||
// See https://go.microsoft.com/fwlink/?LinkId=733558 | ||
// for the documentation about the tasks.json format | ||
"version": "2.0.0", | ||
"tasks": [ | ||
{ | ||
"label": "build", | ||
"command": "dotnet build", | ||
"type": "shell", | ||
"group": "build", | ||
"presentation": { | ||
"reveal": "silent" | ||
}, | ||
"problemMatcher": "$msCompile" | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
<Project Sdk="Microsoft.NET.Sdk"> | ||
|
||
<PropertyGroup> | ||
<TargetFramework>netstandard2.0</TargetFramework> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<PackageReference Include="ServiceStack" Version="5.*" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<ProjectReference Include="..\MyApp.ServiceModel\MyApp.ServiceModel.csproj" /> | ||
</ItemGroup> | ||
|
||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
using System; | ||
using System.Collections.Generic; | ||
using System.Linq; | ||
using ServiceStack; | ||
using ServiceStack.Templates; | ||
using ServiceStack.DataAnnotations; | ||
using MyApp.ServiceModel; | ||
|
||
namespace MyApp.ServiceInterface | ||
{ | ||
[Exclude(Feature.Metadata)] | ||
[FallbackRoute("/{PathInfo*}", Matches="AcceptsHtml")] | ||
public class FallbackForClientRoutes | ||
{ | ||
public string PathInfo { get; set; } | ||
} | ||
|
||
public class MyServices : Service | ||
{ | ||
//Return index.html for unmatched requests so routing is handled on client | ||
public object Any(FallbackForClientRoutes request) => | ||
new PageResult(Request.GetPage("/")); | ||
|
||
public object Any(Hello request) | ||
{ | ||
return new HelloResponse { Result = $"Hello, {request.Name}!" }; | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
using ServiceStack; | ||
|
||
namespace MyApp.ServiceModel | ||
{ | ||
[Route("/hello")] | ||
[Route("/hello/{Name}")] | ||
public class Hello : IReturn<HelloResponse> | ||
{ | ||
public string Name { get; set; } | ||
} | ||
|
||
public class HelloResponse | ||
{ | ||
public string Result { get; set; } | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
<Project Sdk="Microsoft.NET.Sdk"> | ||
|
||
<PropertyGroup> | ||
<TargetFramework>netstandard2.0</TargetFramework> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<PackageReference Include="ServiceStack.Interfaces" Version="5.*" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<Folder Include="Types\" /> | ||
</ItemGroup> | ||
|
||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Keep Empty Directory | ||
* | ||
!.gitignore |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
using Funq; | ||
using ServiceStack; | ||
using NUnit.Framework; | ||
using MyApp.ServiceInterface; | ||
using MyApp.ServiceModel; | ||
|
||
namespace MyApp.Tests | ||
{ | ||
public class IntegrationTest | ||
{ | ||
const string BaseUri = "http://localhost:2000/"; | ||
private readonly ServiceStackHost appHost; | ||
|
||
class AppHost : AppSelfHostBase | ||
{ | ||
public AppHost() : base(nameof(IntegrationTest), typeof(MyServices).Assembly) { } | ||
|
||
public override void Configure(Container container) | ||
{ | ||
} | ||
} | ||
|
||
public IntegrationTest() | ||
{ | ||
appHost = new AppHost() | ||
.Init() | ||
.Start(BaseUri); | ||
} | ||
|
||
[OneTimeTearDown] | ||
public void OneTimeTearDown() => appHost.Dispose(); | ||
|
||
public IServiceClient CreateClient() => new JsonServiceClient(BaseUri); | ||
|
||
[Test] | ||
public void Can_call_Hello_Service() | ||
{ | ||
var client = CreateClient(); | ||
|
||
var response = client.Get(new Hello { Name = "World" }); | ||
|
||
Assert.That(response.Result, Is.EqualTo("Hello, World!")); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
<Project Sdk="Microsoft.NET.Sdk"> | ||
|
||
<PropertyGroup> | ||
<TargetFramework>netcoreapp2.1</TargetFramework> | ||
<DebugType>portable</DebugType> | ||
<OutputType>Library</OutputType> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<ProjectReference Include="..\MyApp.ServiceInterface\MyApp.ServiceInterface.csproj" /> | ||
<ProjectReference Include="..\MyApp.ServiceModel\MyApp.ServiceModel.csproj" /> | ||
|
||
<PackageReference Include="NUnit" Version="3.10.*" /> | ||
<PackageReference Include="NUnit3TestAdapter" Version="3.10.*" /> | ||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.*" /> | ||
<PackageReference Include="ServiceStack" Version="5.*" /> | ||
<PackageReference Include="ServiceStack.Kestrel" Version="5.*" /> | ||
</ItemGroup> | ||
|
||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
using NUnit.Framework; | ||
using ServiceStack; | ||
using ServiceStack.Testing; | ||
using MyApp.ServiceInterface; | ||
using MyApp.ServiceModel; | ||
|
||
namespace MyApp.Tests | ||
{ | ||
public class UnitTest | ||
{ | ||
private readonly ServiceStackHost appHost; | ||
|
||
public UnitTest() | ||
{ | ||
appHost = new BasicAppHost().Init(); | ||
appHost.Container.AddTransient<MyServices>(); | ||
} | ||
|
||
[OneTimeTearDown] | ||
public void OneTimeTearDown() => appHost.Dispose(); | ||
|
||
[Test] | ||
public void Can_call_MyServices() | ||
{ | ||
var service = appHost.Container.Resolve<MyServices>(); | ||
|
||
var response = (HelloResponse)service.Any(new Hello { Name = "World" }); | ||
|
||
Assert.That(response.Result, Is.EqualTo("Hello, World!")); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"removeComments": false | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
<Project Sdk="Microsoft.NET.Sdk.Web"> | ||
|
||
<PropertyGroup> | ||
<TargetFramework>netcoreapp2.1</TargetFramework> | ||
<TypeScriptToolsVersion>2.8</TypeScriptToolsVersion> | ||
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<Folder Include="wwwroot\" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.*" /> | ||
<PackageReference Include="ServiceStack" Version="5.*" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<ProjectReference Include="..\MyApp.ServiceInterface\MyApp.ServiceInterface.csproj" /> | ||
<ProjectReference Include="..\MyApp.ServiceModel\MyApp.ServiceModel.csproj" /> | ||
</ItemGroup> | ||
|
||
<Target Name="OnFirstUse" BeforeTargets="Build" Condition=" !Exists('wwwroot\dist') "> | ||
<Exec Command="node --version" ContinueOnError="true"><Output TaskParameter="ExitCode" PropertyName="ErrorCode" /></Exec> | ||
<Error Condition="'$(ErrorCode)' != '0'" Text="Node.js is required to build and run this project. To continue, please install Node.js from https://nodejs.org/, and then restart your command prompt or IDE." /> | ||
</Target> | ||
|
||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
using System; | ||
using System.Collections.Generic; | ||
using System.IO; | ||
using System.Linq; | ||
using System.Threading.Tasks; | ||
using Microsoft.AspNetCore; | ||
using Microsoft.AspNetCore.Hosting; | ||
using Microsoft.Extensions.Configuration; | ||
using Microsoft.Extensions.Logging; | ||
|
||
namespace MyApp | ||
{ | ||
public class Program | ||
{ | ||
public static void Main(string[] args) | ||
{ | ||
BuildWebHost(args).Run(); | ||
} | ||
|
||
public static IWebHost BuildWebHost(string[] args) => | ||
WebHost.CreateDefaultBuilder(args) | ||
.UseStartup<Startup>() | ||
.Build(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
{ | ||
"iisSettings": { | ||
"windowsAuthentication": false, | ||
"anonymousAuthentication": true, | ||
"iisExpress": { | ||
"applicationUrl": "http://localhost:5000/;https://localhost:5001/", | ||
"sslPort": 0 | ||
} | ||
}, | ||
"profiles": { | ||
"IIS Express": { | ||
"commandName": "IISExpress", | ||
"launchBrowser": true, | ||
"environmentVariables": { | ||
"ASPNETCORE_ENVIRONMENT": "Development" | ||
} | ||
}, | ||
"MyApp": { | ||
"commandName": "Project", | ||
"launchBrowser": true, | ||
"environmentVariables": { | ||
"ASPNETCORE_ENVIRONMENT": "Development" | ||
}, | ||
"applicationUrl": "http://localhost:5000/;https://localhost:5001/" | ||
} | ||
} | ||
} |
Oops, something went wrong.