SignalR C++ tests passing and part of build (#7160)
This commit is contained in:
parent
cf9e459da7
commit
744a32a750
|
|
@ -54,7 +54,10 @@
|
|||
<ProjectToExclude Include="
|
||||
$(RepositoryRoot)src\Tools\dotnet-watch\test\TestProjects\**\*.csproj;
|
||||
$(RepositoryRoot)src\Razor\Razor.Design\test\testassets\**\*.*proj;
|
||||
$(RepositoryRoot)src\SignalR\clients\cpp\**\*.*proj;
|
||||
$(RepositoryRoot)src\submodules\**\*.*proj;
|
||||
$(RepositoryRoot)src\SignalR\clients\cpp\samples\**\*.*proj;
|
||||
$(RepositoryRoot)src\SignalR\clients\cpp\test\signalrclient-testhost\**\*.*proj;
|
||||
$(RepositoryRoot)src\Installers\**\*.*proj;
|
||||
$(RepositoryRoot)src\SignalR\clients\ts\**\node_modules\**\*.*proj;
|
||||
$(RepositoryRoot)src\Components\Blazor\Templates\src\content\**\*.*proj;
|
||||
$(RepositoryRoot)src\ProjectTemplates\Web.ProjectTemplates\content\**\*.csproj;
|
||||
|
|
@ -108,7 +111,7 @@
|
|||
<ProjectToBuild Include="$(RepositoryRoot)src\Servers\**\*.pkgproj" Condition=" '$(_RunPack)' == 'true' OR '$(BuildAllProjects)' == 'true' "/>
|
||||
|
||||
<NativeProjects Condition=" '$(TargetOsName)' == 'win' AND ('$(TargetArchitecture)' == 'x86' OR '$(TargetArchitecture)' == 'x64') "
|
||||
Include="$(RepositoryRoot)src\Servers\**\*.vcxproj">
|
||||
Include="$(RepositoryRoot)src\**\*.vcxproj" Exclude="@(ProjectToExclude)">
|
||||
<!-- Required to prevent triggering double-builds. See src\Servers\IIS\ResolveIisReferences.targets for details. -->
|
||||
<AdditionalProperties Condition="'$(TargetArchitecture)' == 'x64'">Platform=x64</AdditionalProperties>
|
||||
<AdditionalProperties Condition="'$(TargetArchitecture)' == 'x86'">Platform=Win32</AdditionalProperties>
|
||||
|
|
|
|||
|
|
@ -12,4 +12,7 @@
|
|||
<Target Name="Pack" />
|
||||
<Target Name="Restore" />
|
||||
<Target Name="ResolveNuGetPackageAssets" />
|
||||
<Target Name="Test" Condition="'$(IsTestProject)' == 'true'" >
|
||||
<Exec Command=""$(TargetPath)"" />
|
||||
</Target>
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -3,6 +3,6 @@
|
|||
"version": "3.0.100-preview-009750"
|
||||
},
|
||||
"msbuild-sdks": {
|
||||
"Internal.AspNetCore.Sdk": "3.0.0-build-20190130.1"
|
||||
"Internal.AspNetCore.Sdk": "3.0.0-build-20190205.1"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
version:3.0.0-build-20190130.1
|
||||
commithash:3b24877488f6bbff779aa3bd66fcffb4a6c04daf
|
||||
version:3.0.0-build-20190205.1
|
||||
commithash:d311c7e5300aed235a1f902a53dd9be02e5ac861
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
<ProjectName>AspNetCore</ProjectName>
|
||||
<TargetName>aspnetcorev2</TargetName>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
<ProjectGuid>{55494E58-E061-4C4C-A0A8-837008E72F85}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>NewCommon</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{1eac8125-1765-4e2d-8cbe-56dc98a1c8c1}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
|
|
@ -193,5 +193,7 @@
|
|||
</AdditionalDependencies>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project=".\NativeTests.targets" />
|
||||
<PropertyGroup>
|
||||
<IsTestProject>true</IsTestProject>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<VsTestConsole>$(VCIDEInstallDir)..\CommonExtensions\Microsoft\TestWindow\vstest.console.exe</VsTestConsole>
|
||||
</PropertyGroup>
|
||||
<Target Name="Test" DependsOnTargets="Build">
|
||||
<Exec Command=""$(TargetPath)"" />
|
||||
</Target>
|
||||
</Project>
|
||||
|
|
@ -23,7 +23,7 @@
|
|||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>IISLib</RootNamespace>
|
||||
<ProjectName>IISLib</ProjectName>
|
||||
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
<ProjectGuid>{D57EA297-6DC2-4BC0-8C91-334863327863}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>InProcessRequestHandler</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
||||
<ProjectName>InProcessRequestHandler</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
<ProjectGuid>{7F87406C-A3C8-4139-A68D-E4C344294A67}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>OutOfProcessRequestHandler</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
||||
<ProjectName>OutOfProcessRequestHandler</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
<ProjectGuid>{1533E271-F61B-441B-8B74-59FB61DF0552}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>NewCommon</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
<ProjectGuid>{CAC1267B-8778-4257-AAC6-CAF481723B01}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>gtest</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<solution>
|
||||
<add key="disableSourceControlIntegration" value="true" />
|
||||
</solution>
|
||||
</configuration>
|
||||
Binary file not shown.
|
|
@ -1,144 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(MSBuildProjectDirectory)\..\</SolutionDir>
|
||||
|
||||
<!-- Enable the restore command to run before builds -->
|
||||
<RestorePackages Condition=" '$(RestorePackages)' == '' ">false</RestorePackages>
|
||||
|
||||
<!-- Property that enables building a package from a project -->
|
||||
<BuildPackage Condition=" '$(BuildPackage)' == '' ">false</BuildPackage>
|
||||
|
||||
<!-- Determines if package restore consent is required to restore packages -->
|
||||
<RequireRestoreConsent Condition=" '$(RequireRestoreConsent)' != 'false' ">true</RequireRestoreConsent>
|
||||
|
||||
<!-- Download NuGet.exe if it does not already exist -->
|
||||
<DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">false</DownloadNuGetExe>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup Condition=" '$(PackageSources)' == '' ">
|
||||
<!-- Package sources used to restore packages. By default, registered sources under %APPDATA%\NuGet\NuGet.Config will be used -->
|
||||
<!-- The official NuGet package source (https://www.nuget.org/api/v2/) will be excluded if package sources are specified and it does not appear in the list -->
|
||||
<!--
|
||||
<PackageSource Include="https://www.nuget.org/api/v2/" />
|
||||
<PackageSource Include="https://my-nuget-source/nuget/" />
|
||||
-->
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(OS)' == 'Windows_NT'">
|
||||
<!-- Windows specific commands -->
|
||||
<NuGetToolsPath>$([System.IO.Path]::Combine($(SolutionDir), ".nuget"))</NuGetToolsPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(OS)' != 'Windows_NT'">
|
||||
<!-- We need to launch nuget.exe with the mono command if we're not on windows -->
|
||||
<NuGetToolsPath>$(SolutionDir).nuget</NuGetToolsPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<PackagesProjectConfig Condition=" '$(OS)' == 'Windows_NT'">$(MSBuildProjectDirectory)\packages.$(MSBuildProjectName.Replace(' ', '_')).config</PackagesProjectConfig>
|
||||
<PackagesProjectConfig Condition=" '$(OS)' != 'Windows_NT'">$(MSBuildProjectDirectory)\packages.$(MSBuildProjectName).config</PackagesProjectConfig>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<PackagesConfig Condition="Exists('$(MSBuildProjectDirectory)\packages.config')">$(MSBuildProjectDirectory)\packages.config</PackagesConfig>
|
||||
<PackagesConfig Condition="Exists('$(PackagesProjectConfig)')">$(PackagesProjectConfig)</PackagesConfig>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- NuGet command -->
|
||||
<NuGetExePath Condition=" '$(NuGetExePath)' == '' ">$(NuGetToolsPath)\NuGet.exe</NuGetExePath>
|
||||
<PackageSources Condition=" $(PackageSources) == '' ">@(PackageSource)</PackageSources>
|
||||
|
||||
<NuGetCommand Condition=" '$(OS)' == 'Windows_NT'">"$(NuGetExePath)"</NuGetCommand>
|
||||
<NuGetCommand Condition=" '$(OS)' != 'Windows_NT' ">mono --runtime=v4.0.30319 "$(NuGetExePath)"</NuGetCommand>
|
||||
|
||||
<PackageOutputDir Condition="$(PackageOutputDir) == ''">$(TargetDir.Trim('\\'))</PackageOutputDir>
|
||||
|
||||
<RequireConsentSwitch Condition=" $(RequireRestoreConsent) == 'true' ">-RequireConsent</RequireConsentSwitch>
|
||||
<NonInteractiveSwitch Condition=" '$(VisualStudioVersion)' != '' AND '$(OS)' == 'Windows_NT' ">-NonInteractive</NonInteractiveSwitch>
|
||||
|
||||
<PaddedSolutionDir Condition=" '$(OS)' == 'Windows_NT'">"$(SolutionDir) "</PaddedSolutionDir>
|
||||
<PaddedSolutionDir Condition=" '$(OS)' != 'Windows_NT' ">"$(SolutionDir)"</PaddedSolutionDir>
|
||||
|
||||
<!-- Commands -->
|
||||
<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(NonInteractiveSwitch) $(RequireConsentSwitch) -solutionDir $(PaddedSolutionDir)</RestoreCommand>
|
||||
<BuildCommand>$(NuGetCommand) pack "$(ProjectPath)" -Properties "Configuration=$(Configuration);Platform=$(Platform)" $(NonInteractiveSwitch) -OutputDirectory "$(PackageOutputDir)" -symbols</BuildCommand>
|
||||
|
||||
<!-- We need to ensure packages are restored prior to assembly resolve -->
|
||||
<BuildDependsOn Condition="$(RestorePackages) == 'true'">
|
||||
RestorePackages;
|
||||
$(BuildDependsOn);
|
||||
</BuildDependsOn>
|
||||
|
||||
<!-- Make the build depend on restore packages -->
|
||||
<BuildDependsOn Condition="$(BuildPackage) == 'true'">
|
||||
$(BuildDependsOn);
|
||||
BuildPackage;
|
||||
</BuildDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="CheckPrerequisites">
|
||||
<!-- Raise an error if we're unable to locate nuget.exe -->
|
||||
<Error Condition="'$(DownloadNuGetExe)' != 'true' AND !Exists('$(NuGetExePath)')" Text="Unable to locate '$(NuGetExePath)'" />
|
||||
<!--
|
||||
Take advantage of MsBuild's build dependency tracking to make sure that we only ever download nuget.exe once.
|
||||
This effectively acts as a lock that makes sure that the download operation will only happen once and all
|
||||
parallel builds will have to wait for it to complete.
|
||||
-->
|
||||
<MsBuild Targets="_DownloadNuGet" Projects="$(MSBuildThisFileFullPath)" Properties="Configuration=NOT_IMPORTANT;DownloadNuGetExe=$(DownloadNuGetExe)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_DownloadNuGet">
|
||||
<DownloadNuGet OutputFilename="$(NuGetExePath)" Condition=" '$(DownloadNuGetExe)' == 'true' AND !Exists('$(NuGetExePath)')" />
|
||||
</Target>
|
||||
|
||||
<Target Name="RestorePackages" DependsOnTargets="CheckPrerequisites">
|
||||
<Exec Command="$(RestoreCommand)"
|
||||
Condition="'$(OS)' != 'Windows_NT' And Exists('$(PackagesConfig)')" />
|
||||
|
||||
<Exec Command="$(RestoreCommand)"
|
||||
LogStandardErrorAsError="true"
|
||||
Condition="'$(OS)' == 'Windows_NT' And Exists('$(PackagesConfig)')" />
|
||||
</Target>
|
||||
|
||||
<Target Name="BuildPackage" DependsOnTargets="CheckPrerequisites">
|
||||
<Exec Command="$(BuildCommand)"
|
||||
Condition=" '$(OS)' != 'Windows_NT' " />
|
||||
|
||||
<Exec Command="$(BuildCommand)"
|
||||
LogStandardErrorAsError="true"
|
||||
Condition=" '$(OS)' == 'Windows_NT' " />
|
||||
</Target>
|
||||
|
||||
<UsingTask TaskName="DownloadNuGet" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
|
||||
<ParameterGroup>
|
||||
<OutputFilename ParameterType="System.String" Required="true" />
|
||||
</ParameterGroup>
|
||||
<Task>
|
||||
<Reference Include="System.Core" />
|
||||
<Using Namespace="System" />
|
||||
<Using Namespace="System.IO" />
|
||||
<Using Namespace="System.Net" />
|
||||
<Using Namespace="Microsoft.Build.Framework" />
|
||||
<Using Namespace="Microsoft.Build.Utilities" />
|
||||
<Code Type="Fragment" Language="cs">
|
||||
<![CDATA[
|
||||
try {
|
||||
OutputFilename = Path.GetFullPath(OutputFilename);
|
||||
|
||||
Log.LogMessage("Downloading latest version of NuGet.exe...");
|
||||
WebClient webClient = new WebClient();
|
||||
webClient.DownloadFile("https://dist.nuget.org/win-x86-commandline/latest/nuget.exe", OutputFilename);
|
||||
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex) {
|
||||
Log.LogErrorFromException(ex);
|
||||
return false;
|
||||
}
|
||||
]]>
|
||||
</Code>
|
||||
</Task>
|
||||
</UsingTask>
|
||||
</Project>
|
||||
|
|
@ -19,7 +19,7 @@
|
|||
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
|
||||
<AppContainerApplication>true</AppContainerApplication>
|
||||
<ApplicationType>Windows Store</ApplicationType>
|
||||
<WindowsTargetPlatformVersion>10.0.10586.0</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformMinVersion>10.0.10240.0</WindowsTargetPlatformMinVersion>
|
||||
<ApplicationTypeRevision>10.0</ApplicationTypeRevision>
|
||||
<GenerateProjectSpecificOutputFolder>False</GenerateProjectSpecificOutputFolder>
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
|
||||
<DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">true</DownloadNuGetExe>
|
||||
<RestorePackages>true</RestorePackages>
|
||||
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="cpprestsdk" version="2.9.1.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
</packages>
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\..\..\..\Build\SignalRClient.Build.Settings" />
|
||||
<PropertyGroup Label="Globals">
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
<OutDir>$(OutDir)lib\</OutDir>
|
||||
<IntDir>$(Configuration)\lib\</IntDir>
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\..\..\..\Build\Config.Definitions.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
|
|
@ -95,35 +95,14 @@
|
|||
<ClCompile Include="..\..\web_request_factory.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\signalrclientdll\Build\VS\signalrclientdll.vcxproj">
|
||||
<Project>{18377ae8-e372-40ce-94fd-7f65008d39a3}</Project>
|
||||
</ProjectReference>
|
||||
<PackageReference Include="cpprestsdk" Version="2.9.1.1" />
|
||||
<PackageReference Include="cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets')" />
|
||||
</ImportGroup>
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
</Target>
|
||||
</Project>
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -8,8 +8,6 @@ set (SOURCES
|
|||
http_sender.cpp
|
||||
hub_connection.cpp
|
||||
hub_connection_impl.cpp
|
||||
hub_proxy.cpp
|
||||
internal_hub_proxy.cpp
|
||||
logger.cpp
|
||||
request_sender.cpp
|
||||
signalr_client_config.cpp
|
||||
|
|
|
|||
|
|
@ -208,7 +208,7 @@ namespace signalr
|
|||
|
||||
pplx::create_task([negotiation_response, connect_request_tce, disconnect_cts, weak_connection]()
|
||||
{
|
||||
//std::this_thread::sleep_for(std::chrono::milliseconds(negotiation_response.transport_connect_timeout));
|
||||
// TODO? std::this_thread::sleep_for(std::chrono::milliseconds(negotiation_response.transport_connect_timeout));
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(5000));
|
||||
|
||||
// if the disconnect_cts is canceled it means that the connection has been stopped or went out of scope in
|
||||
|
|
@ -307,6 +307,7 @@ namespace signalr
|
|||
}
|
||||
m_handshakeReceived = true;
|
||||
connect_request_tce.set();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -328,7 +329,7 @@ namespace signalr
|
|||
{
|
||||
if (result.has_field(_XPLATSTR("error")) && result.has_field(_XPLATSTR("result")))
|
||||
{
|
||||
//error
|
||||
// TODO: error
|
||||
}
|
||||
invoke_message_received(result);
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ namespace signalr
|
|||
{
|
||||
if (!m_pImpl)
|
||||
{
|
||||
throw signalr_exception(_XPLATSTR("invoke() cannot be called on uninitialized hub_proxy instance"));
|
||||
throw signalr_exception(_XPLATSTR("invoke() cannot be called on uninitialized hub_connection instance"));
|
||||
}
|
||||
|
||||
return m_pImpl->invoke_json(method_name, arguments);
|
||||
|
|
@ -51,7 +51,7 @@ namespace signalr
|
|||
{
|
||||
if (!m_pImpl)
|
||||
{
|
||||
throw signalr_exception(_XPLATSTR("invoke() cannot be called on uninitialized hub_proxy instance"));
|
||||
throw signalr_exception(_XPLATSTR("invoke() cannot be called on uninitialized hub_connection instance"));
|
||||
}
|
||||
|
||||
return m_pImpl->invoke_void(method_name, arguments);
|
||||
|
|
|
|||
|
|
@ -103,10 +103,8 @@ namespace signalr
|
|||
auto type = message.at(_XPLATSTR("type")).as_integer();
|
||||
if (type == 3)
|
||||
{
|
||||
if (invoke_callback(message))
|
||||
{
|
||||
return;
|
||||
}
|
||||
invoke_callback(message);
|
||||
return;
|
||||
}
|
||||
else if (type == 1)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
</packages>
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\..\..\..\Build\SignalRClient.Build.Settings" />
|
||||
<PropertyGroup Label="Globals">
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
<OutDir>$(OutDir)dll\</OutDir>
|
||||
<IntDir>$(Configuration)\dll\</IntDir>
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\..\..\..\Build\Config.Definitions.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
|
|
@ -46,7 +46,6 @@
|
|||
<ClInclude Include="..\..\..\..\include\signalrclient\connection_state.h" />
|
||||
<ClInclude Include="..\..\..\..\include\signalrclient\hub_connection.h" />
|
||||
<ClInclude Include="..\..\..\..\include\signalrclient\hub_exception.h" />
|
||||
<ClInclude Include="..\..\..\..\include\signalrclient\hub_proxy.h" />
|
||||
<ClInclude Include="..\..\..\..\include\signalrclient\log_writer.h" />
|
||||
<ClInclude Include="..\..\..\..\include\signalrclient\trace_level.h" />
|
||||
<ClInclude Include="..\..\..\..\include\signalrclient\transport_type.h" />
|
||||
|
|
@ -58,7 +57,6 @@
|
|||
<ClInclude Include="..\..\..\signalrclient\default_websocket_client.h" />
|
||||
<ClInclude Include="..\..\..\signalrclient\http_sender.h" />
|
||||
<ClInclude Include="..\..\..\signalrclient\hub_connection_impl.h" />
|
||||
<ClInclude Include="..\..\..\signalrclient\internal_hub_proxy.h" />
|
||||
<ClInclude Include="..\..\..\signalrclient\callback_manager.h" />
|
||||
<ClInclude Include="..\..\..\signalrclient\logger.h" />
|
||||
<ClInclude Include="..\..\..\signalrclient\negotiation_response.h" />
|
||||
|
|
@ -106,19 +104,16 @@
|
|||
<ResourceCompile Include="..\..\Resource.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
<PackageReference Include="cpprestsdk" Version="2.9.1.1" />
|
||||
<PackageReference Include="cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets')" />
|
||||
</ImportGroup>
|
||||
<Target Name="CreateVersionHeader" BeforeTargets="EnsureNuGetPackageBuildImports">
|
||||
<PropertyGroup>
|
||||
<Revision>$(build_number)</Revision>
|
||||
|
|
@ -138,17 +133,4 @@
|
|||
</ItemGroup>
|
||||
<WriteLinesToFile File="..\..\version.h" Lines="@(VersionHeaderContents)" OverWrite="true" />
|
||||
</Target>
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
</Target>
|
||||
</Project>
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -33,9 +33,6 @@
|
|||
<ClInclude Include="..\..\..\signalrclient\hub_connection_impl.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\signalrclient\internal_hub_proxy.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\signalrclient\logger.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -96,9 +93,6 @@
|
|||
<ClInclude Include="..\..\..\..\include\signalrclient\hub_connection.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\include\signalrclient\hub_proxy.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\include\signalrclient\trace_level.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
<ProjectGuid>{CAC1267B-8778-4257-AAC6-CAF481723B01}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>gtest</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="cpprestsdk" version="2.9.1.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
</packages>
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\..\..\..\Build\SignalRClient.Build.Settings" />
|
||||
<PropertyGroup Label="Globals">
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
<ProjectName>signalrclient-e2e-tests</ProjectName>
|
||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\..\..\</SolutionDir>
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\..\..\..\Build\Config.Definitions.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
|
|
@ -62,33 +62,17 @@
|
|||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
<PackageReference Include="cpprestsdk" Version="2.9.1.1" />
|
||||
<PackageReference Include="cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets')" />
|
||||
</ImportGroup>
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
<Exec Command="copy /y "$(SolutionDir)bin\Desktop\$(Platform)\$(Configuration)\dll\$(SignalrClientTargetName).dll" "$(SolutionDir)bin\Desktop\$(Platform)\$(Configuration)\$(SignalrClientTargetName).dll"" />
|
||||
</Target>
|
||||
</Project>
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
<package id="cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn" version="2.9.1" targetFramework="native" />
|
||||
</packages>
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\..\..\..\Build\SignalRClient.Build.Settings" />
|
||||
<PropertyGroup Label="Globals">
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
<ProjectName>signalrclienttests</ProjectName>
|
||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\..\..\</SolutionDir>
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\..\..\..\Build\Config.Definitions.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
|
|
@ -58,7 +58,6 @@
|
|||
<ClCompile Include="..\..\http_sender_tests.cpp" />
|
||||
<ClCompile Include="..\..\hub_connection_impl_tests.cpp" />
|
||||
<ClCompile Include="..\..\hub_exception_tests.cpp" />
|
||||
<ClCompile Include="..\..\internal_hub_proxy_tests.cpp" />
|
||||
<ClCompile Include="..\..\logger_tests.cpp" />
|
||||
<ClCompile Include="..\..\memory_log_writer.cpp" />
|
||||
<ClCompile Include="..\..\request_sender_tests.cpp" />
|
||||
|
|
@ -84,33 +83,20 @@
|
|||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
<PackageReference Include="cpprestsdk" Version="2.9.1.1" />
|
||||
<PackageReference Include="cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
<PackageReference Include="cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn" Version="2.9.1" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.targets')" />
|
||||
<Import Project="..\..\..\..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets" Condition="Exists('..\..\..\..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets')" />
|
||||
</ImportGroup>
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winapp.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphone.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winphonesl.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v120.winxp.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.winapp.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn.targets'))" />
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
<Exec Command="copy /y "$(SolutionDir)bin\Desktop\$(Platform)\$(Configuration)\dll\$(SignalrClientTargetName).dll" "$(SolutionDir)bin\Desktop\$(Platform)\$(Configuration)\$(SignalrClientTargetName).dll"" />
|
||||
</Target>
|
||||
</Project>
|
||||
<PropertyGroup>
|
||||
<IsTestProject>true</IsTestProject>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -89,9 +89,6 @@
|
|||
<ClCompile Include="..\..\hub_connection_impl_tests.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\internal_hub_proxy_tests.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\callback_manager_tests.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ set (SOURCES
|
|||
http_sender_tests.cpp
|
||||
hub_connection_impl_tests.cpp
|
||||
hub_exception_tests.cpp
|
||||
internal_hub_proxy_tests.cpp
|
||||
logger_tests.cpp
|
||||
memory_log_writer.cpp
|
||||
request_sender_tests.cpp
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
#include "memory_log_writer.h"
|
||||
#include "cpprest/ws_client.h"
|
||||
#include "signalrclient/signalr_exception.h"
|
||||
#include "signalrclient/web_exception.h"
|
||||
|
||||
using namespace signalr;
|
||||
|
||||
|
|
@ -189,34 +190,34 @@ TEST(connection_impl_start, start_fails_if_transport_connect_throws)
|
|||
ASSERT_EQ(_XPLATSTR("[error ] transport could not connect due to: connecting failed\n"), entry);
|
||||
}
|
||||
|
||||
TEST(connection_impl_start, start_fails_if_TryWebsockets_false_and_no_fallback_transport)
|
||||
{
|
||||
auto web_request_factory = std::make_unique<test_web_request_factory>([](const web::uri &) -> std::unique_ptr<web_request>
|
||||
{
|
||||
utility::string_t response_body(
|
||||
_XPLATSTR("{\"Url\":\"/signalr\", \"ConnectionToken\" : \"A==\", \"ConnectionId\" : \"f7707523-307d-4cba-9abf-3eef701241e8\", ")
|
||||
_XPLATSTR("\"KeepAliveTimeout\" : 20.0, \"DisconnectTimeout\" : 30.0, \"ConnectionTimeout\" : 110.0, \"TryWebSockets\" : false, ")
|
||||
_XPLATSTR("\"ProtocolVersion\" : \"1.4\", \"TransportConnectTimeout\" : 5.0, \"LongPollDelay\" : 0.0}"));
|
||||
|
||||
return std::unique_ptr<web_request>(new web_request_stub((unsigned short)200, _XPLATSTR("OK"), response_body));
|
||||
});
|
||||
|
||||
auto websocket_client = std::make_shared<test_websocket_client>();
|
||||
auto connection =
|
||||
connection_impl::create(create_uri(), _XPLATSTR(""), trace_level::errors, std::make_shared<trace_log_writer>(),
|
||||
std::move(web_request_factory), std::make_unique<test_transport_factory>(websocket_client));
|
||||
|
||||
try
|
||||
{
|
||||
connection->start().get();
|
||||
ASSERT_TRUE(false); // exception not thrown
|
||||
}
|
||||
catch (const std::exception &e)
|
||||
{
|
||||
ASSERT_EQ(_XPLATSTR("websockets not supported on the server and there is no fallback transport"),
|
||||
utility::conversions::to_string_t(e.what()));
|
||||
}
|
||||
}
|
||||
// TODO
|
||||
//TEST(connection_impl_start, start_fails_if_no_available_transports)
|
||||
//{
|
||||
// auto web_request_factory = std::make_unique<test_web_request_factory>([](const web::uri &) -> std::unique_ptr<web_request>
|
||||
// {
|
||||
// auto response_body =
|
||||
// _XPLATSTR("{ \"connectionId\" : \"f7707523-307d-4cba-9abf-3eef701241e8\", ")
|
||||
// _XPLATSTR("\"availableTransports\" : [] }");
|
||||
//
|
||||
// return std::unique_ptr<web_request>(new web_request_stub((unsigned short)200, _XPLATSTR("OK"), response_body));
|
||||
// });
|
||||
//
|
||||
// auto websocket_client = std::make_shared<test_websocket_client>();
|
||||
// auto connection =
|
||||
// connection_impl::create(create_uri(), _XPLATSTR(""), trace_level::errors, std::make_shared<trace_log_writer>(),
|
||||
// std::move(web_request_factory), std::make_unique<test_transport_factory>(websocket_client));
|
||||
//
|
||||
// try
|
||||
// {
|
||||
// connection->start().get();
|
||||
// ASSERT_TRUE(false); // exception not thrown
|
||||
// }
|
||||
// catch (const std::exception &e)
|
||||
// {
|
||||
// ASSERT_EQ(_XPLATSTR("websockets not supported on the server and there is no fallback transport"),
|
||||
// utility::conversions::to_string_t(e.what()));
|
||||
// }
|
||||
//}
|
||||
|
||||
#if defined(_WIN32) // https://github.com/aspnet/SignalR-Client-Cpp/issues/131
|
||||
|
||||
|
|
@ -251,20 +252,13 @@ TEST(connection_impl_start, start_fails_if_transport_fails_when_receiving_messag
|
|||
|
||||
#endif
|
||||
|
||||
TEST(connection_impl_start, start_fails_if_start_request_fails)
|
||||
TEST(connection_impl_start, start_fails_if_negotiate_request_fails)
|
||||
{
|
||||
std::shared_ptr<log_writer> writer(std::make_shared<memory_log_writer>());
|
||||
|
||||
auto web_request_factory = std::make_unique<test_web_request_factory>([](const web::uri& url)
|
||||
auto web_request_factory = std::make_unique<test_web_request_factory>([](const web::uri&)
|
||||
{
|
||||
auto response_body =
|
||||
url.path() == _XPLATSTR("/negotiate")
|
||||
? _XPLATSTR("{\"Url\":\"/signalr\", \"ConnectionToken\" : \"A==\", \"ConnectionId\" : \"f7707523-307d-4cba-9abf-3eef701241e8\", ")
|
||||
_XPLATSTR("\"DisconnectTimeout\" : 30.0, \"ConnectionTimeout\" : 110.0, \"TryWebSockets\" : true, ")
|
||||
_XPLATSTR("\"ProtocolVersion\" : \"1.4\", \"TransportConnectTimeout\" : 5.0, \"LongPollDelay\" : 0.0}")
|
||||
: _XPLATSTR("{ }");
|
||||
|
||||
return std::unique_ptr<web_request>(new web_request_stub((unsigned short)200, _XPLATSTR("OK"), response_body));
|
||||
return std::unique_ptr<web_request>(new web_request_stub((unsigned short)400, _XPLATSTR("Bad Request")));
|
||||
});
|
||||
|
||||
auto websocket_client = std::make_shared<test_websocket_client>();
|
||||
|
|
@ -282,9 +276,9 @@ TEST(connection_impl_start, start_fails_if_start_request_fails)
|
|||
connection->start().get();
|
||||
ASSERT_TRUE(false); // exception not thrown
|
||||
}
|
||||
catch (const signalr_exception &e)
|
||||
catch (const web_exception &e)
|
||||
{
|
||||
ASSERT_STREQ("start request failed due to unexpected response from the server: { }", e.what());
|
||||
ASSERT_STREQ("web exception - 400 Bad Request", e.what());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -296,10 +290,9 @@ TEST(connection_impl_start, start_fails_if_connect_request_times_out)
|
|||
{
|
||||
auto response_body =
|
||||
url.path() == _XPLATSTR("/negotiate")
|
||||
? _XPLATSTR("{\"Url\":\"/signalr\", \"ConnectionToken\" : \"A==\", \"ConnectionId\" : \"f7707523-307d-4cba-9abf-3eef701241e8\", ")
|
||||
_XPLATSTR("\"KeepAliveTimeout\" : 20.0, \"DisconnectTimeout\" : 30.0, \"ConnectionTimeout\" : 110.0, \"TryWebSockets\" : true, ")
|
||||
_XPLATSTR("\"ProtocolVersion\" : \"1.4\", \"TransportConnectTimeout\" : 0.1, \"LongPollDelay\" : 0.0}")
|
||||
: _XPLATSTR("{ }");
|
||||
? _XPLATSTR("{ \"connectionId\" : \"f7707523-307d-4cba-9abf-3eef701241e8\", ")
|
||||
_XPLATSTR("\"availableTransports\" : [] }")
|
||||
: _XPLATSTR("");
|
||||
|
||||
return std::unique_ptr<web_request>(new web_request_stub((unsigned short)200, _XPLATSTR("OK"), response_body));
|
||||
});
|
||||
|
|
@ -325,36 +318,6 @@ TEST(connection_impl_start, start_fails_if_connect_request_times_out)
|
|||
}
|
||||
}
|
||||
|
||||
TEST(connection_impl_start, start_fails_if_protocol_versions_not_compatible)
|
||||
{
|
||||
auto web_request_factory = std::make_unique<test_web_request_factory>([](const web::uri& url)
|
||||
{
|
||||
auto response_body =
|
||||
url.path() == _XPLATSTR("/negotiate")
|
||||
? _XPLATSTR("{\"Url\":\"/signalr\", \"ConnectionToken\" : \"A==\", \"ConnectionId\" : \"f7707523-307d-4cba-9abf-3eef701241e8\", ")
|
||||
_XPLATSTR("\"KeepAliveTimeout\" : 20.0, \"DisconnectTimeout\" : 30.0, \"ConnectionTimeout\" : 110.0, \"TryWebSockets\" : true, ")
|
||||
_XPLATSTR("\"ProtocolVersion\" : \"1.2\", \"TransportConnectTimeout\" : 0.1, \"LongPollDelay\" : 0.0}")
|
||||
: _XPLATSTR("{ }");
|
||||
|
||||
return std::unique_ptr<web_request>(new web_request_stub((unsigned short)200, _XPLATSTR("OK"), response_body));
|
||||
});
|
||||
|
||||
auto websocket_client = std::make_shared<test_websocket_client>();
|
||||
auto connection =
|
||||
connection_impl::create(create_uri(), _XPLATSTR(""), trace_level::all, std::make_shared<trace_log_writer>(),
|
||||
std::move(web_request_factory), std::make_unique<test_transport_factory>(websocket_client));
|
||||
|
||||
try
|
||||
{
|
||||
connection->start().get();
|
||||
ASSERT_TRUE(false); // exception not thrown
|
||||
}
|
||||
catch (const signalr_exception &e)
|
||||
{
|
||||
ASSERT_STREQ("incompatible protocol version. client protocol version: 1.4, server protocol version: 1.2", e.what());
|
||||
}
|
||||
}
|
||||
|
||||
TEST(connection_impl_process_response, process_response_logs_messages)
|
||||
{
|
||||
std::shared_ptr<log_writer> writer(std::make_shared<memory_log_writer>());
|
||||
|
|
@ -368,7 +331,7 @@ TEST(connection_impl_process_response, process_response_logs_messages)
|
|||
ASSERT_FALSE(log_entries.empty());
|
||||
|
||||
auto entry = remove_date_from_log_entry(log_entries[0]);
|
||||
ASSERT_EQ(_XPLATSTR("[message ] processing message: {\"C\":\"x\", \"S\":1, \"M\":[] }\n"), entry);
|
||||
ASSERT_EQ(_XPLATSTR("[message ] processing message: { }\x1e\n"), entry);
|
||||
}
|
||||
|
||||
TEST(connection_impl_send, message_sent)
|
||||
|
|
@ -416,9 +379,30 @@ TEST(connection_impl_send, exceptions_from_send_logged_and_propagated)
|
|||
{
|
||||
std::shared_ptr<log_writer> writer(std::make_shared<memory_log_writer>());
|
||||
|
||||
int call_number = -1;
|
||||
bool hasSentHandshake = false;
|
||||
auto websocket_client = create_test_websocket_client(
|
||||
/* receive function */ []() { return pplx::task_from_result(std::string("{ }\x1e")); },
|
||||
/* send function */ [](const utility::string_t&){ return pplx::task_from_exception<void>(std::runtime_error("error")); });
|
||||
/* receive function */ [call_number]()
|
||||
mutable {
|
||||
std::string responses[]
|
||||
{
|
||||
"{ }\x1e",
|
||||
"{}"
|
||||
};
|
||||
|
||||
call_number = std::min(call_number + 1, 1);
|
||||
|
||||
return pplx::task_from_result(responses[call_number]);
|
||||
},
|
||||
/* send function */ [&hasSentHandshake](const utility::string_t&)
|
||||
{
|
||||
if (hasSentHandshake)
|
||||
{
|
||||
return pplx::task_from_exception<void>(std::runtime_error("error"));
|
||||
}
|
||||
hasSentHandshake = true;
|
||||
return pplx::task_from_result();
|
||||
});
|
||||
|
||||
auto connection = create_connection(websocket_client, writer, trace_level::errors);
|
||||
|
||||
|
|
@ -453,13 +437,12 @@ TEST(connection_impl_set_message_received, callback_invoked_when_message_receive
|
|||
std::string responses[]
|
||||
{
|
||||
"{ }\x1e",
|
||||
"{ \"C\":\"x\", \"G\":\"gr0\", \"M\":[]}",
|
||||
"{ \"C\":\"d-486F0DF9-BAO,5|BAV,1|BAW,0\", \"M\" : [\"Test\"] }",
|
||||
"{ \"C\":\"d-486F0DF9-BAO,5|BAV,1|BAW,0\", \"M\" : [\"release\"] }",
|
||||
"{ \"type\": 1, \"target\": \"something\", \"arguments\" : [\"Test\"] }\x1e",
|
||||
"{ \"type\": 1, \"target\": \"something\", \"arguments\" : [\"release\"] }\x1e",
|
||||
"{}"
|
||||
};
|
||||
|
||||
call_number = std::min(call_number + 1, 4);
|
||||
call_number = std::min(call_number + 1, 3);
|
||||
|
||||
return pplx::task_from_result(responses[call_number]);
|
||||
});
|
||||
|
|
@ -469,13 +452,15 @@ TEST(connection_impl_set_message_received, callback_invoked_when_message_receive
|
|||
auto message = std::make_shared<utility::string_t>();
|
||||
|
||||
auto message_received_event = std::make_shared<event>();
|
||||
connection->set_message_received_string([message, message_received_event](const utility::string_t &m){
|
||||
if (m == _XPLATSTR("Test"))
|
||||
connection->set_message_received_string([message, message_received_event](const utility::string_t &m)
|
||||
{
|
||||
auto value = web::json::value::parse(m).at(_XPLATSTR("arguments")).as_array()[0].as_string();
|
||||
if (value == _XPLATSTR("Test"))
|
||||
{
|
||||
*message = m;
|
||||
*message = value;
|
||||
}
|
||||
|
||||
if (m == _XPLATSTR("release"))
|
||||
if (value == _XPLATSTR("release"))
|
||||
{
|
||||
message_received_event->set();
|
||||
}
|
||||
|
|
@ -497,8 +482,8 @@ TEST(connection_impl_set_message_received, exception_from_callback_caught_and_lo
|
|||
std::string responses[]
|
||||
{
|
||||
"{ }\x1e",
|
||||
"{ \"C\":\"d-486F0DF9-BAO,5|BAV,1|BAW,0\", \"M\" : [\"throw\"] }",
|
||||
"{ \"C\":\"d-486F0DF9-BAO,5|BAV,1|BAW,0\", \"M\" : [\"release\"] }",
|
||||
"{ \"type\": 1, \"target\": \"something\", \"arguments\" : [\"throw\"] }\x1e",
|
||||
"{ \"type\": 1, \"target\": \"something\", \"arguments\" : [\"release\"] }\x1e",
|
||||
"{}"
|
||||
};
|
||||
|
||||
|
|
@ -511,13 +496,15 @@ TEST(connection_impl_set_message_received, exception_from_callback_caught_and_lo
|
|||
auto connection = create_connection(websocket_client, writer, trace_level::errors);
|
||||
|
||||
auto message_received_event = std::make_shared<event>();
|
||||
connection->set_message_received_string([message_received_event](const utility::string_t &m){
|
||||
if (m == _XPLATSTR("throw"))
|
||||
connection->set_message_received_string([message_received_event](const utility::string_t &m)
|
||||
{
|
||||
auto value = web::json::value::parse(m).at(_XPLATSTR("arguments")).as_array()[0].as_string();
|
||||
if (value == _XPLATSTR("throw"))
|
||||
{
|
||||
throw std::runtime_error("oops");
|
||||
}
|
||||
|
||||
if (m == _XPLATSTR("release"))
|
||||
if (value == _XPLATSTR("release"))
|
||||
{
|
||||
message_received_event->set();
|
||||
}
|
||||
|
|
@ -543,8 +530,8 @@ TEST(connection_impl_set_message_received, non_std_exception_from_callback_caugh
|
|||
std::string responses[]
|
||||
{
|
||||
"{ }\x1e",
|
||||
"{ \"C\":\"d-486F0DF9-BAO,5|BAV,1|BAW,0\", \"M\" : [\"throw\"] }",
|
||||
"{ \"C\":\"d-486F0DF9-BAO,5|BAV,1|BAW,0\", \"M\" : [\"release\"] }",
|
||||
"{ \"type\": 1, \"target\": \"something\", \"arguments\" : [\"throw\"] }\x1e",
|
||||
"{ \"type\": 1, \"target\": \"something\", \"arguments\" : [\"release\"] }\x1e",
|
||||
"{}"
|
||||
};
|
||||
|
||||
|
|
@ -559,12 +546,13 @@ TEST(connection_impl_set_message_received, non_std_exception_from_callback_caugh
|
|||
auto message_received_event = std::make_shared<event>();
|
||||
connection->set_message_received_string([message_received_event](const utility::string_t &m)
|
||||
{
|
||||
if (m == _XPLATSTR("throw"))
|
||||
auto value = web::json::value::parse(m).at(_XPLATSTR("arguments")).as_array()[0].as_string();
|
||||
if (value == _XPLATSTR("throw"))
|
||||
{
|
||||
throw 42;
|
||||
}
|
||||
|
||||
if (m == _XPLATSTR("release"))
|
||||
if (value == _XPLATSTR("release"))
|
||||
{
|
||||
message_received_event->set();
|
||||
}
|
||||
|
|
@ -590,8 +578,8 @@ TEST(connection_impl_set_message_received, error_logged_for_malformed_payload)
|
|||
std::string responses[]
|
||||
{
|
||||
"{ }\x1e",
|
||||
"{ 42",
|
||||
"{ \"C\":\"d-486F0DF9-BAO,5|BAV,1|BAW,0\", \"M\" : [\"release\"] }",
|
||||
"{ 42\x1e",
|
||||
"{ \"type\": 1, \"target\": \"something\", \"arguments\" : [\"release\"] }\x1e",
|
||||
"{}"
|
||||
};
|
||||
|
||||
|
|
@ -618,7 +606,7 @@ TEST(connection_impl_set_message_received, error_logged_for_malformed_payload)
|
|||
ASSERT_FALSE(log_entries.empty());
|
||||
|
||||
auto entry = remove_date_from_log_entry(log_entries[0]);
|
||||
ASSERT_EQ(_XPLATSTR("[error ] error occured when parsing response: * Line 1, Column 4 Syntax error: Malformed object literal. response: { 42\n"), entry);
|
||||
ASSERT_EQ(_XPLATSTR("[error ] error occured when parsing response: * Line 1, Column 4 Syntax error: Malformed object literal. response: { 42\x1e\n"), entry);
|
||||
}
|
||||
|
||||
TEST(connection_impl_set_message_received, unexpected_responses_logged)
|
||||
|
|
@ -630,8 +618,8 @@ TEST(connection_impl_set_message_received, unexpected_responses_logged)
|
|||
std::string responses[]
|
||||
{
|
||||
"{ }\x1e",
|
||||
"42",
|
||||
"{ \"C\":\"d-486F0DF9-BAO,5|BAV,1|BAW,0\", \"M\" : [\"release\"] }",
|
||||
"42\x1e",
|
||||
"{ \"type\": 1, \"target\": \"something\", \"arguments\" : [\"release\"] }\x1e",
|
||||
"{}"
|
||||
};
|
||||
|
||||
|
|
@ -896,15 +884,14 @@ TEST(connection_impl_stop, stop_cancels_ongoing_start_request)
|
|||
ASSERT_EQ(_XPLATSTR("[state change] connecting -> disconnected\n"), remove_date_from_log_entry(log_entries[4]));
|
||||
}
|
||||
|
||||
TEST(connection_impl_stop, ongoing_start_request_cancelled_if_connection_stopped_before_init_message_received)
|
||||
TEST(connection_impl_stop, ongoing_start_request_canceled_if_connection_stopped_before_init_message_received)
|
||||
{
|
||||
auto web_request_factory = std::make_unique<test_web_request_factory>([](const web::uri& url)
|
||||
{
|
||||
auto response_body =
|
||||
url.path() == _XPLATSTR("/negotiate")
|
||||
? _XPLATSTR("{\"Url\":\"/signalr\", \"ConnectionToken\" : \"A==\", \"ConnectionId\" : \"f7707523-307d-4cba-9abf-3eef701241e8\", ")
|
||||
_XPLATSTR("\"DisconnectTimeout\" : 0.5, \"ConnectionTimeout\" : 110.0, \"TryWebSockets\" : true, ")
|
||||
_XPLATSTR("\"ProtocolVersion\" : \"1.4\", \"TransportConnectTimeout\" : 0.1, \"LongPollDelay\" : 0.0}")
|
||||
? _XPLATSTR("{ \"connectionId\" : \"f7707523-307d-4cba-9abf-3eef701241e8\", ")
|
||||
_XPLATSTR("\"availableTransports\" : [] }")
|
||||
: _XPLATSTR("");
|
||||
|
||||
return std::unique_ptr<web_request>(new web_request_stub((unsigned short)200, _XPLATSTR("OK"), response_body));
|
||||
|
|
@ -942,49 +929,6 @@ TEST(connection_impl_stop, ongoing_start_request_cancelled_if_connection_stopped
|
|||
ASSERT_EQ(_XPLATSTR("[state change] connecting -> disconnected\n"), remove_date_from_log_entry(log_entries[4]));
|
||||
}
|
||||
|
||||
TEST(connection_impl_stop, stop_ignores_exceptions_from_abort_requests)
|
||||
{
|
||||
auto writer = std::shared_ptr<log_writer>{std::make_shared<memory_log_writer>()};
|
||||
|
||||
auto web_request_factory = std::make_unique<test_web_request_factory>([](const web::uri& url)
|
||||
{
|
||||
auto response_body =
|
||||
url.path() == _XPLATSTR("/negotiate")
|
||||
? _XPLATSTR("{\"Url\":\"/signalr\", \"ConnectionToken\" : \"A==\", \"ConnectionId\" : \"f7707523-307d-4cba-9abf-3eef701241e8\", ")
|
||||
_XPLATSTR("\"KeepAliveTimeout\" : 20.0, \"DisconnectTimeout\" : 30.0, \"ConnectionTimeout\" : 110.0, \"TryWebSockets\" : true, ")
|
||||
_XPLATSTR("\"ProtocolVersion\" : \"1.4\", \"TransportConnectTimeout\" : 5.0, \"LongPollDelay\" : 0.0}")
|
||||
: url.path() == _XPLATSTR("/start")
|
||||
? _XPLATSTR("{\"Response\":\"started\" }")
|
||||
: _XPLATSTR("");
|
||||
|
||||
return url.path() == _XPLATSTR("/abort")
|
||||
? std::unique_ptr<web_request>(new web_request_stub((unsigned short)503, _XPLATSTR("Bad request"), response_body))
|
||||
: std::unique_ptr<web_request>(new web_request_stub((unsigned short)200, _XPLATSTR("OK"), response_body));
|
||||
});
|
||||
|
||||
auto websocket_client = create_test_websocket_client(
|
||||
/* receive function */ []() { return pplx::task_from_result(std::string("{ }\x1e")); });
|
||||
|
||||
auto connection =
|
||||
connection_impl::create(create_uri(), _XPLATSTR(""), trace_level::state_changes,
|
||||
writer, std::move(web_request_factory), std::make_unique<test_transport_factory>(websocket_client));
|
||||
|
||||
connection->start()
|
||||
.then([connection]()
|
||||
{
|
||||
return connection->stop();
|
||||
}).get();
|
||||
|
||||
ASSERT_EQ(connection_state::disconnected, connection->get_connection_state());
|
||||
|
||||
auto log_entries = std::dynamic_pointer_cast<memory_log_writer>(writer)->get_log_entries();
|
||||
ASSERT_EQ(4U, log_entries.size());
|
||||
ASSERT_EQ(_XPLATSTR("[state change] disconnected -> connecting\n"), remove_date_from_log_entry(log_entries[0]));
|
||||
ASSERT_EQ(_XPLATSTR("[state change] connecting -> connected\n"), remove_date_from_log_entry(log_entries[1]));
|
||||
ASSERT_EQ(_XPLATSTR("[state change] connected -> disconnecting\n"), remove_date_from_log_entry(log_entries[2]));
|
||||
ASSERT_EQ(_XPLATSTR("[state change] disconnecting -> disconnected\n"), remove_date_from_log_entry(log_entries[3]));
|
||||
}
|
||||
|
||||
TEST(connection_impl_stop, stop_invokes_disconnected_callback)
|
||||
{
|
||||
auto websocket_client = create_test_websocket_client(
|
||||
|
|
@ -1007,8 +951,20 @@ TEST(connection_impl_stop, std_exception_for_disconnected_callback_caught_and_lo
|
|||
{
|
||||
auto writer = std::shared_ptr<log_writer>{std::make_shared<memory_log_writer>()};
|
||||
|
||||
int call_number = -1;
|
||||
auto websocket_client = create_test_websocket_client(
|
||||
/* receive function */ []() { return pplx::task_from_result(std::string("{ \"C\":\"x\", \"S\":1, \"M\":[] }")); });
|
||||
/* receive function */ [call_number]()
|
||||
mutable {
|
||||
std::string responses[]
|
||||
{
|
||||
"{ }\x1e",
|
||||
"{}"
|
||||
};
|
||||
|
||||
call_number = std::min(call_number + 1, 1);
|
||||
|
||||
return pplx::task_from_result(responses[call_number]);
|
||||
});
|
||||
auto connection = create_connection(websocket_client, writer, trace_level::errors);
|
||||
|
||||
connection->set_disconnected([](){ throw std::runtime_error("exception from disconnected"); });
|
||||
|
|
@ -1028,8 +984,20 @@ TEST(connection_impl_stop, exception_for_disconnected_callback_caught_and_logged
|
|||
{
|
||||
auto writer = std::shared_ptr<log_writer>{std::make_shared<memory_log_writer>()};
|
||||
|
||||
int call_number = -1;
|
||||
auto websocket_client = create_test_websocket_client(
|
||||
/* receive function */ []() { return pplx::task_from_result(std::string("{ }\x1e")); });
|
||||
/* receive function */ [call_number]()
|
||||
mutable {
|
||||
std::string responses[]
|
||||
{
|
||||
"{ }\x1e",
|
||||
"{}"
|
||||
};
|
||||
|
||||
call_number = std::min(call_number + 1, 1);
|
||||
|
||||
return pplx::task_from_result(responses[call_number]);
|
||||
});
|
||||
auto connection = create_connection(websocket_client, writer, trace_level::errors);
|
||||
|
||||
connection->set_disconnected([](){ throw 42; });
|
||||
|
|
@ -1045,53 +1013,50 @@ TEST(connection_impl_stop, exception_for_disconnected_callback_caught_and_logged
|
|||
ASSERT_EQ(_XPLATSTR("[error ] disconnected callback threw an unknown exception\n"), remove_date_from_log_entry(log_entries[0]));
|
||||
}
|
||||
|
||||
//TEST(connection_impl_config, custom_headers_set_in_requests)
|
||||
//{
|
||||
// auto writer = std::shared_ptr<log_writer>{std::make_shared<memory_log_writer>()};
|
||||
//
|
||||
// auto web_request_factory = std::make_unique<test_web_request_factory>([](const web::uri& url)
|
||||
// {
|
||||
// auto response_body =
|
||||
// url.path() == _XPLATSTR("/negotiate")
|
||||
// ? _XPLATSTR("{\"Url\":\"/signalr\", \"ConnectionToken\" : \"A==\", \"ConnectionId\" : \"f7707523-307d-4cba-9abf-3eef701241e8\", ")
|
||||
// _XPLATSTR("\"KeepAliveTimeout\" : 20.0, \"DisconnectTimeout\" : 30.0, \"ConnectionTimeout\" : 110.0, \"TryWebSockets\" : true, ")
|
||||
// _XPLATSTR("\"ProtocolVersion\" : \"1.4\", \"TransportConnectTimeout\" : 5.0, \"LongPollDelay\" : 0.0}")
|
||||
// : url.path() == _XPLATSTR("/start")
|
||||
// ? _XPLATSTR("{\"Response\":\"started\" }")
|
||||
// : _XPLATSTR("");
|
||||
//
|
||||
// auto request = new web_request_stub((unsigned short)200, _XPLATSTR("OK"), response_body);
|
||||
// request->on_get_response = [](web_request_stub& request)
|
||||
// {
|
||||
// auto http_headers = request.m_signalr_client_config.get_http_headers();
|
||||
// ASSERT_EQ(1, http_headers.size());
|
||||
// ASSERT_EQ(_XPLATSTR("42"), http_headers[_XPLATSTR("Answer")]);
|
||||
// };
|
||||
//
|
||||
// return std::unique_ptr<web_request>(request);
|
||||
// });
|
||||
//
|
||||
// auto websocket_client = create_test_websocket_client(
|
||||
// /* receive function */ []() { return pplx::task_from_result(std::string("{ \"C\":\"x\", \"S\":1, \"M\":[] }")); });
|
||||
//
|
||||
// auto connection =
|
||||
// connection_impl::create(create_uri(), _XPLATSTR(""), trace_level::state_changes,
|
||||
// writer, std::move(web_request_factory), std::make_unique<test_transport_factory>(websocket_client));
|
||||
//
|
||||
// signalr::signalr_client_config signalr_client_config{};
|
||||
// auto http_headers = signalr_client_config.get_http_headers();
|
||||
// http_headers[_XPLATSTR("Answer")] = _XPLATSTR("42");
|
||||
// signalr_client_config.set_http_headers(http_headers);
|
||||
// connection->set_client_config(signalr_client_config);
|
||||
//
|
||||
// connection->start()
|
||||
// .then([connection]()
|
||||
// {
|
||||
// return connection->stop();
|
||||
// }).get();
|
||||
//
|
||||
// ASSERT_EQ(connection_state::disconnected, connection->get_connection_state());
|
||||
//}
|
||||
TEST(connection_impl_config, custom_headers_set_in_requests)
|
||||
{
|
||||
auto writer = std::shared_ptr<log_writer>{std::make_shared<memory_log_writer>()};
|
||||
|
||||
auto web_request_factory = std::make_unique<test_web_request_factory>([](const web::uri& url)
|
||||
{
|
||||
auto response_body =
|
||||
url.path() == _XPLATSTR("/negotiate")
|
||||
? _XPLATSTR("{ \"connectionId\" : \"f7707523-307d-4cba-9abf-3eef701241e8\", ")
|
||||
_XPLATSTR("\"availableTransports\" : [] }")
|
||||
: _XPLATSTR("");
|
||||
|
||||
auto request = new web_request_stub((unsigned short)200, _XPLATSTR("OK"), response_body);
|
||||
request->on_get_response = [](web_request_stub& request)
|
||||
{
|
||||
auto http_headers = request.m_signalr_client_config.get_http_headers();
|
||||
ASSERT_EQ(1U, http_headers.size());
|
||||
ASSERT_EQ(_XPLATSTR("42"), http_headers[_XPLATSTR("Answer")]);
|
||||
};
|
||||
|
||||
return std::unique_ptr<web_request>(request);
|
||||
});
|
||||
|
||||
auto websocket_client = create_test_websocket_client(
|
||||
/* receive function */ []() { return pplx::task_from_result(std::string("{ }\x1e")); });
|
||||
|
||||
auto connection =
|
||||
connection_impl::create(create_uri(), _XPLATSTR(""), trace_level::state_changes,
|
||||
writer, std::move(web_request_factory), std::make_unique<test_transport_factory>(websocket_client));
|
||||
|
||||
signalr::signalr_client_config signalr_client_config{};
|
||||
auto http_headers = signalr_client_config.get_http_headers();
|
||||
http_headers[_XPLATSTR("Answer")] = _XPLATSTR("42");
|
||||
signalr_client_config.set_http_headers(http_headers);
|
||||
connection->set_client_config(signalr_client_config);
|
||||
|
||||
connection->start()
|
||||
.then([connection]()
|
||||
{
|
||||
return connection->stop();
|
||||
}).get();
|
||||
|
||||
ASSERT_EQ(connection_state::disconnected, connection->get_connection_state());
|
||||
}
|
||||
|
||||
TEST(connection_impl_set_config, config_can_be_set_only_in_disconnected_state)
|
||||
{
|
||||
|
|
@ -1204,9 +1169,7 @@ TEST(connection_id, connection_id_reset_when_starting_connection)
|
|||
url.path() == _XPLATSTR("/negotiate")
|
||||
? _XPLATSTR("{ \"connectionId\" : \"f7707523-307d-4cba-9abf-3eef701241e8\", ")
|
||||
_XPLATSTR("\"availableTransports\" : [] }")
|
||||
: url.path() == _XPLATSTR("/start") || url.path() == _XPLATSTR("/signalr/start")
|
||||
? _XPLATSTR("{\"Response\":\"started\" }")
|
||||
: _XPLATSTR("");
|
||||
: _XPLATSTR("");
|
||||
|
||||
return std::unique_ptr<web_request>(new web_request_stub((unsigned short)200, _XPLATSTR("OK"), response_body));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,28 +65,28 @@ TEST(http_sender_get_response, user_agent_set)
|
|||
ASSERT_EQ(response_body, http_sender::get(*web_request_factory, _XPLATSTR("url")).get());
|
||||
}
|
||||
|
||||
//TEST(http_sender_get_response, headers_set)
|
||||
//{
|
||||
// utility::string_t response_body{ _XPLATSTR("response body") };
|
||||
//
|
||||
// auto web_request_factory = std::make_unique<test_web_request_factory>([response_body](const web::uri &) -> std::unique_ptr<web_request>
|
||||
// {
|
||||
// auto request = new web_request_stub((unsigned short)200, _XPLATSTR("OK"), response_body);
|
||||
// request->on_get_response = [](web_request_stub& request)
|
||||
// {
|
||||
// auto http_headers = request.m_signalr_client_config.get_http_headers();
|
||||
// ASSERT_EQ(1, http_headers.size());
|
||||
// ASSERT_EQ(_XPLATSTR("123"), http_headers[_XPLATSTR("abc")]);
|
||||
// };
|
||||
//
|
||||
// return std::unique_ptr<web_request>(request);
|
||||
// });
|
||||
//
|
||||
// signalr::signalr_client_config signalr_client_config;
|
||||
// auto http_headers = signalr_client_config.get_http_headers();
|
||||
// http_headers[_XPLATSTR("abc")] = _XPLATSTR("123");
|
||||
// signalr_client_config.set_http_headers(http_headers);
|
||||
//
|
||||
// // ensures that web_request.get_response() was invoked
|
||||
// ASSERT_EQ(response_body, http_sender::get(*web_request_factory, _XPLATSTR("url"), signalr_client_config).get());
|
||||
//}
|
||||
TEST(http_sender_get_response, headers_set)
|
||||
{
|
||||
utility::string_t response_body{ _XPLATSTR("response body") };
|
||||
|
||||
auto web_request_factory = std::make_unique<test_web_request_factory>([response_body](const web::uri &) -> std::unique_ptr<web_request>
|
||||
{
|
||||
auto request = new web_request_stub((unsigned short)200, _XPLATSTR("OK"), response_body);
|
||||
request->on_get_response = [](web_request_stub& request)
|
||||
{
|
||||
auto http_headers = request.m_signalr_client_config.get_http_headers();
|
||||
ASSERT_EQ(1U, http_headers.size());
|
||||
ASSERT_EQ(_XPLATSTR("123"), http_headers[_XPLATSTR("abc")]);
|
||||
};
|
||||
|
||||
return std::unique_ptr<web_request>(request);
|
||||
});
|
||||
|
||||
signalr::signalr_client_config signalr_client_config;
|
||||
auto http_headers = signalr_client_config.get_http_headers();
|
||||
http_headers[_XPLATSTR("abc")] = _XPLATSTR("123");
|
||||
signalr_client_config.set_http_headers(http_headers);
|
||||
|
||||
// ensures that web_request.get_response() was invoked
|
||||
ASSERT_EQ(response_body, http_sender::get(*web_request_factory, _XPLATSTR("url"), signalr_client_config).get());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -223,84 +223,6 @@ TEST(hub_invocation, hub_connection_invokes_users_code_on_hub_invocations)
|
|||
ASSERT_EQ(_XPLATSTR("[\"message\",1]"), *payload);
|
||||
}
|
||||
|
||||
TEST(hub_invocation, hub_connection_discards_persistent_connection_message_primitive_value)
|
||||
{
|
||||
int call_number = -1;
|
||||
auto websocket_client = create_test_websocket_client(
|
||||
/* receive function */ [call_number]()
|
||||
mutable {
|
||||
std::string responses[]
|
||||
{
|
||||
"{ }\x1e",
|
||||
"{ \"C\":\"d-486F0DF9-BAO,5|BAV,1|BAW,0\", \"M\" : [\"Test\"] }",
|
||||
"{ \"C\":\"d- F430FB19\", \"M\" : [{\"H\":\"my_hub\", \"M\":\"broadcast\", \"A\" : [\"signal event\", 1]}] }",
|
||||
"{}"
|
||||
};
|
||||
|
||||
call_number = std::min(call_number + 1, 2);
|
||||
|
||||
return pplx::task_from_result(responses[call_number]);
|
||||
});
|
||||
|
||||
std::shared_ptr<log_writer> writer(std::make_shared<memory_log_writer>());
|
||||
auto hub_connection = create_hub_connection(websocket_client, writer, trace_level::info);
|
||||
|
||||
auto on_broadcast_event = std::make_shared<event>();
|
||||
hub_connection->on(_XPLATSTR("broadcast"), [on_broadcast_event](const json::value&)
|
||||
{
|
||||
on_broadcast_event->set();
|
||||
});
|
||||
|
||||
hub_connection->start().get();
|
||||
ASSERT_FALSE(on_broadcast_event->wait(5000));
|
||||
|
||||
auto memory_writer = std::dynamic_pointer_cast<memory_log_writer>(writer);
|
||||
auto log_entries = memory_writer->get_log_entries();
|
||||
ASSERT_TRUE(log_entries.size() >= 1);
|
||||
|
||||
ASSERT_EQ(_XPLATSTR("[info ] non-hub message received and will be discarded. message: \"Test\"\n"),
|
||||
remove_date_from_log_entry(log_entries[1]));
|
||||
}
|
||||
|
||||
TEST(hub_invocation, hub_connection_invokes_persistent_connection_message_object)
|
||||
{
|
||||
int call_number = -1;
|
||||
auto websocket_client = create_test_websocket_client(
|
||||
/* receive function */ [call_number]()
|
||||
mutable {
|
||||
std::string responses[]
|
||||
{
|
||||
"{ }\x1e",
|
||||
"{ \"C\":\"d-486F0DF9-BAO,5|BAV,1|BAW,0\", \"M\" : [{\"Name\": \"Test\"}] }",
|
||||
"{ \"C\":\"d- F430FB19\", \"M\" : [{\"H\":\"my_hub\", \"M\":\"broadcast\", \"A\" : [\"signal event\", 1]}] }",
|
||||
"{}"
|
||||
};
|
||||
|
||||
call_number = std::min(call_number + 1, 2);
|
||||
|
||||
return pplx::task_from_result(responses[call_number]);
|
||||
});
|
||||
|
||||
std::shared_ptr<log_writer> writer(std::make_shared<memory_log_writer>());
|
||||
auto hub_connection = create_hub_connection(websocket_client, writer, trace_level::info);
|
||||
|
||||
auto on_broadcast_event = std::make_shared<event>();
|
||||
hub_connection->on(_XPLATSTR("broadcast"), [on_broadcast_event](const json::value&)
|
||||
{
|
||||
on_broadcast_event->set();
|
||||
});
|
||||
|
||||
hub_connection->start().get();
|
||||
ASSERT_FALSE(on_broadcast_event->wait(5000));
|
||||
|
||||
auto memory_writer = std::dynamic_pointer_cast<memory_log_writer>(writer);
|
||||
auto log_entries = memory_writer->get_log_entries();
|
||||
ASSERT_TRUE(log_entries.size() >= 1);
|
||||
|
||||
ASSERT_EQ(_XPLATSTR("[info ] non-hub message received and will be discarded. message: {\"Name\":\"Test\"}\n"),
|
||||
remove_date_from_log_entry(log_entries[1]));
|
||||
}
|
||||
|
||||
TEST(invoke, invoke_creates_correct_payload)
|
||||
{
|
||||
utility::string_t payload;
|
||||
|
|
@ -523,7 +445,7 @@ TEST(invoke_void, invoke_logs_if_callback_for_given_id_not_found)
|
|||
std::string responses[]
|
||||
{
|
||||
"{ }\x1e",
|
||||
"{\"I\":\"not tracked\"}\x1e",
|
||||
"{ \"type\": 3, \"invocationId\": \"0\", \"error\": \"Ooops\" }\x1e"
|
||||
"{}"
|
||||
};
|
||||
|
||||
|
|
@ -546,187 +468,192 @@ TEST(invoke_void, invoke_logs_if_callback_for_given_id_not_found)
|
|||
auto log_entries = std::dynamic_pointer_cast<memory_log_writer>(writer)->get_log_entries();
|
||||
ASSERT_TRUE(log_entries.size() > 1);
|
||||
|
||||
auto entry = remove_date_from_log_entry(log_entries[2]);
|
||||
ASSERT_EQ(_XPLATSTR("[info ] no callback found for id: not tracked\n"), entry);
|
||||
auto entry = remove_date_from_log_entry(log_entries[1]);
|
||||
ASSERT_EQ(_XPLATSTR("[info ] no callback found for id: 0\n"), entry);
|
||||
}
|
||||
|
||||
TEST(invoke_void, invoke_propagates_errors_from_server_as_exceptions)
|
||||
{
|
||||
auto callback_registered_event = std::make_shared<event>();
|
||||
// TODO Flaky until hub_connection.start waits for handshake response
|
||||
//TEST(invoke_void, invoke_propagates_errors_from_server_as_exceptions)
|
||||
//{
|
||||
// auto callback_registered_event = std::make_shared<event>();
|
||||
//
|
||||
// int call_number = -1;
|
||||
// auto websocket_client = create_test_websocket_client(
|
||||
// /* receive function */ [call_number, callback_registered_event]()
|
||||
// mutable {
|
||||
// std::string responses[]
|
||||
// {
|
||||
// "{ }\x1e",
|
||||
// "{ \"type\": 3, \"invocationId\": \"0\", \"error\": \"Ooops\" }\x1e"
|
||||
// "{}"
|
||||
// };
|
||||
//
|
||||
// call_number = std::min(call_number + 1, 2);
|
||||
//
|
||||
// if (call_number > 0)
|
||||
// {
|
||||
// callback_registered_event->wait();
|
||||
// }
|
||||
//
|
||||
// return pplx::task_from_result(responses[call_number]);
|
||||
// });
|
||||
//
|
||||
// auto hub_connection = create_hub_connection(websocket_client);
|
||||
// try
|
||||
// {
|
||||
// hub_connection->start()
|
||||
// .then([hub_connection, callback_registered_event]()
|
||||
// {
|
||||
// auto t = hub_connection->invoke_void(_XPLATSTR("method"), json::value::array());
|
||||
// callback_registered_event->set();
|
||||
// return t;
|
||||
// }).get();
|
||||
//
|
||||
// ASSERT_TRUE(false); // exception expected but not thrown
|
||||
// }
|
||||
// catch (const std::runtime_error& e)
|
||||
// {
|
||||
// ASSERT_STREQ("\"Ooops\"", e.what());
|
||||
// }
|
||||
//}
|
||||
|
||||
int call_number = -1;
|
||||
auto websocket_client = create_test_websocket_client(
|
||||
/* receive function */ [call_number, callback_registered_event]()
|
||||
mutable {
|
||||
std::string responses[]
|
||||
{
|
||||
"{ }\x1e",
|
||||
"{\"I\":\"0\", \"E\" : \"Ooops\"}\x1e",
|
||||
"{}"
|
||||
};
|
||||
// TODO Flaky until hub_connection.start waits for handshake response
|
||||
//TEST(invoke_void, invoke_propagates_hub_errors_from_server_as_hub_exceptions)
|
||||
//{
|
||||
// auto callback_registered_event = std::make_shared<event>();
|
||||
//
|
||||
// int call_number = -1;
|
||||
// auto websocket_client = create_test_websocket_client(
|
||||
// /* receive function */ [call_number, callback_registered_event]()
|
||||
// mutable {
|
||||
// std::string responses[]
|
||||
// {
|
||||
// "{ }\x1e",
|
||||
// "{ \"type\": 3, \"invocationId\": \"0\", \"error\": \"Ooops\" }\x1e"
|
||||
// "{}"
|
||||
// };
|
||||
//
|
||||
// call_number = std::min(call_number + 1, 2);
|
||||
//
|
||||
// if (call_number > 0)
|
||||
// {
|
||||
// callback_registered_event->wait();
|
||||
// }
|
||||
//
|
||||
// return pplx::task_from_result(responses[call_number]);
|
||||
// });
|
||||
//
|
||||
// auto hub_connection = create_hub_connection(websocket_client);
|
||||
// try
|
||||
// {
|
||||
// hub_connection->start()
|
||||
// .then([hub_connection, callback_registered_event]()
|
||||
// {
|
||||
// auto t = hub_connection->invoke_void(_XPLATSTR("method"), json::value::array());
|
||||
// callback_registered_event->set();
|
||||
// return t;
|
||||
// }).get();
|
||||
//
|
||||
// ASSERT_TRUE(false); // exception expected but not thrown
|
||||
// }
|
||||
// catch (const hub_exception& e)
|
||||
// {
|
||||
// ASSERT_STREQ("\"Ooops\"", e.what());
|
||||
// }
|
||||
//}
|
||||
|
||||
call_number = std::min(call_number + 1, 2);
|
||||
// TODO Flaky until hub_connection.start waits for handshake response
|
||||
//TEST(invoke_void, invoke_creates_hub_exception_even_if_no_error_data)
|
||||
//{
|
||||
// auto callback_registered_event = std::make_shared<event>();
|
||||
//
|
||||
// int call_number = -1;
|
||||
// auto websocket_client = create_test_websocket_client(
|
||||
// /* receive function */ [call_number, callback_registered_event]()
|
||||
// mutable {
|
||||
// std::string responses[]
|
||||
// {
|
||||
// "{ }\x1e",
|
||||
// "{ \"type\": 3, \"invocationId\": \"0\", \"error\": \"Ooops\" }\x1e"
|
||||
// "{}"
|
||||
// };
|
||||
//
|
||||
// call_number = std::min(call_number + 1, 2);
|
||||
//
|
||||
// if (call_number > 0)
|
||||
// {
|
||||
// callback_registered_event->wait();
|
||||
// }
|
||||
//
|
||||
// return pplx::task_from_result(responses[call_number]);
|
||||
// });
|
||||
//
|
||||
// auto hub_connection = create_hub_connection(websocket_client);
|
||||
// try
|
||||
// {
|
||||
// hub_connection->start()
|
||||
// .then([hub_connection, callback_registered_event]()
|
||||
// {
|
||||
// auto t = hub_connection->invoke_void(_XPLATSTR("method"), json::value::array());
|
||||
// callback_registered_event->set();
|
||||
// return t;
|
||||
// }).get();
|
||||
//
|
||||
// ASSERT_TRUE(false); // exception expected but not thrown
|
||||
// }
|
||||
// catch (const hub_exception& e)
|
||||
// {
|
||||
// ASSERT_STREQ("\"Ooops\"", e.what());
|
||||
// }
|
||||
//}
|
||||
|
||||
if (call_number > 0)
|
||||
{
|
||||
callback_registered_event->wait();
|
||||
}
|
||||
|
||||
return pplx::task_from_result(responses[call_number]);
|
||||
});
|
||||
|
||||
auto hub_connection = create_hub_connection(websocket_client);
|
||||
try
|
||||
{
|
||||
hub_connection->start()
|
||||
.then([hub_connection, callback_registered_event]()
|
||||
{
|
||||
auto t = hub_connection->invoke_void(_XPLATSTR("method"), json::value::array());
|
||||
callback_registered_event->set();
|
||||
return t;
|
||||
}).get();
|
||||
|
||||
ASSERT_TRUE(false); // exception expected but not thrown
|
||||
}
|
||||
catch (const std::runtime_error& e)
|
||||
{
|
||||
ASSERT_STREQ("\"Ooops\"", e.what());
|
||||
}
|
||||
}
|
||||
|
||||
TEST(invoke_void, invoke_propagates_hub_errors_from_server_as_hub_exceptions)
|
||||
{
|
||||
auto callback_registered_event = std::make_shared<event>();
|
||||
|
||||
int call_number = -1;
|
||||
auto websocket_client = create_test_websocket_client(
|
||||
/* receive function */ [call_number, callback_registered_event]()
|
||||
mutable {
|
||||
std::string responses[]
|
||||
{
|
||||
"{ }\x1e",
|
||||
"{\"I\":\"0\", \"E\" : \"Ooops\", \"H\": true, \"D\": { \"ErrorNumber\" : 42 }}\x1e",
|
||||
"{}"
|
||||
};
|
||||
|
||||
call_number = std::min(call_number + 1, 2);
|
||||
|
||||
if (call_number > 0)
|
||||
{
|
||||
callback_registered_event->wait();
|
||||
}
|
||||
|
||||
return pplx::task_from_result(responses[call_number]);
|
||||
});
|
||||
|
||||
auto hub_connection = create_hub_connection(websocket_client);
|
||||
try
|
||||
{
|
||||
hub_connection->start()
|
||||
.then([hub_connection, callback_registered_event]()
|
||||
{
|
||||
auto t = hub_connection->invoke_void(_XPLATSTR("method"), json::value::array());
|
||||
callback_registered_event->set();
|
||||
return t;
|
||||
}).get();
|
||||
|
||||
ASSERT_TRUE(false); // exception expected but not thrown
|
||||
}
|
||||
catch (const hub_exception& e)
|
||||
{
|
||||
ASSERT_STREQ("\"Ooops\"", e.what());
|
||||
}
|
||||
}
|
||||
|
||||
TEST(invoke_void, invoke_creates_hub_exception_even_if_no_error_data)
|
||||
{
|
||||
auto callback_registered_event = std::make_shared<event>();
|
||||
|
||||
int call_number = -1;
|
||||
auto websocket_client = create_test_websocket_client(
|
||||
/* receive function */ [call_number, callback_registered_event]()
|
||||
mutable {
|
||||
std::string responses[]
|
||||
{
|
||||
"{ }\x1e",
|
||||
"{\"I\":\"0\", \"E\" : \"Ooops\", \"H\": true }\x1e",
|
||||
"{}"
|
||||
};
|
||||
|
||||
call_number = std::min(call_number + 1, 2);
|
||||
|
||||
if (call_number > 0)
|
||||
{
|
||||
callback_registered_event->wait();
|
||||
}
|
||||
|
||||
return pplx::task_from_result(responses[call_number]);
|
||||
});
|
||||
|
||||
auto hub_connection = create_hub_connection(websocket_client);
|
||||
try
|
||||
{
|
||||
hub_connection->start()
|
||||
.then([hub_connection, callback_registered_event]()
|
||||
{
|
||||
auto t = hub_connection->invoke_void(_XPLATSTR("method"), json::value::array());
|
||||
callback_registered_event->set();
|
||||
return t;
|
||||
}).get();
|
||||
|
||||
ASSERT_TRUE(false); // exception expected but not thrown
|
||||
}
|
||||
catch (const hub_exception& e)
|
||||
{
|
||||
ASSERT_STREQ("\"Ooops\"", e.what());
|
||||
}
|
||||
}
|
||||
|
||||
TEST(invoke_void, invoke_creates_runtime_error_when_hub_exception_indicator_false)
|
||||
{
|
||||
auto callback_registered_event = std::make_shared<event>();
|
||||
|
||||
int call_number = -1;
|
||||
auto websocket_client = create_test_websocket_client(
|
||||
/* receive function */ [call_number, callback_registered_event]()
|
||||
mutable {
|
||||
std::string responses[]
|
||||
{
|
||||
"{ }\x1e",
|
||||
"{\"I\":\"0\", \"E\" : \"Ooops\", \"H\": false }\x1e",
|
||||
"{}"
|
||||
};
|
||||
|
||||
call_number = std::min(call_number + 1, 2);
|
||||
|
||||
if (call_number > 0)
|
||||
{
|
||||
callback_registered_event->wait();
|
||||
}
|
||||
|
||||
return pplx::task_from_result(responses[call_number]);
|
||||
});
|
||||
|
||||
auto hub_connection = create_hub_connection(websocket_client);
|
||||
try
|
||||
{
|
||||
hub_connection->start()
|
||||
.then([hub_connection, callback_registered_event]()
|
||||
{
|
||||
auto t = hub_connection->invoke_void(_XPLATSTR("method"), json::value::array());
|
||||
callback_registered_event->set();
|
||||
return t;
|
||||
}).get();
|
||||
|
||||
ASSERT_TRUE(false); // exception expected but not thrown
|
||||
}
|
||||
catch (const signalr_exception& e)
|
||||
{
|
||||
ASSERT_STREQ("\"Ooops\"", e.what());
|
||||
ASSERT_TRUE(dynamic_cast<const hub_exception *>(&e) == nullptr);
|
||||
}
|
||||
}
|
||||
// TODO Flaky until hub_connection.start waits for handshake response
|
||||
//TEST(invoke_void, invoke_creates_runtime_error_when_hub_exception_indicator_false)
|
||||
//{
|
||||
// auto callback_registered_event = std::make_shared<event>();
|
||||
//
|
||||
// int call_number = -1;
|
||||
// auto websocket_client = create_test_websocket_client(
|
||||
// /* receive function */ [call_number, callback_registered_event]()
|
||||
// mutable {
|
||||
// std::string responses[]
|
||||
// {
|
||||
// "{ }\x1e",
|
||||
// "{ \"type\": 3, \"invocationId\": \"0\", \"error\": \"Ooops\" }\x1e"
|
||||
// "{}"
|
||||
// };
|
||||
//
|
||||
// call_number = std::min(call_number + 1, 2);
|
||||
//
|
||||
// if (call_number > 0)
|
||||
// {
|
||||
// callback_registered_event->wait();
|
||||
// }
|
||||
//
|
||||
// return pplx::task_from_result(responses[call_number]);
|
||||
// });
|
||||
//
|
||||
// auto hub_connection = create_hub_connection(websocket_client);
|
||||
// try
|
||||
// {
|
||||
// hub_connection->start()
|
||||
// .then([hub_connection, callback_registered_event]()
|
||||
// {
|
||||
// auto t = hub_connection->invoke_void(_XPLATSTR("method"), json::value::array());
|
||||
// callback_registered_event->set();
|
||||
// return t;
|
||||
// }).get();
|
||||
//
|
||||
// ASSERT_TRUE(false); // exception expected but not thrown
|
||||
// }
|
||||
// catch (const signalr_exception& e)
|
||||
// {
|
||||
// ASSERT_STREQ("\"Ooops\"", e.what());
|
||||
// ASSERT_TRUE(dynamic_cast<const hub_exception *>(&e) == nullptr);
|
||||
// }
|
||||
//}
|
||||
|
||||
// TODO Flaky until hub_connection.start waits for handshake response
|
||||
//TEST(invoke_void, invoke_creates_runtime_error)
|
||||
//{
|
||||
// auto callback_registered_event = std::make_shared<event>();
|
||||
|
|
@ -786,3 +713,84 @@ TEST(connection_id, can_get_connection_id)
|
|||
ASSERT_EQ(_XPLATSTR("f7707523-307d-4cba-9abf-3eef701241e8"), connection_id);
|
||||
ASSERT_EQ(_XPLATSTR("f7707523-307d-4cba-9abf-3eef701241e8"), hub_connection->get_connection_id());
|
||||
}
|
||||
|
||||
TEST(on, event_name_must_not_be_empty_string)
|
||||
{
|
||||
auto hub_connection = create_hub_connection();
|
||||
try
|
||||
{
|
||||
hub_connection->on(_XPLATSTR(""), [](const json::value&) {});
|
||||
|
||||
ASSERT_TRUE(false); // exception expected but not thrown
|
||||
}
|
||||
catch (const std::invalid_argument& e)
|
||||
{
|
||||
ASSERT_STREQ("event_name cannot be empty", e.what());
|
||||
}
|
||||
}
|
||||
|
||||
TEST(on, cannot_register_multiple_handlers_for_event)
|
||||
{
|
||||
auto hub_connection = create_hub_connection();
|
||||
hub_connection->on(_XPLATSTR("ping"), [](const json::value&) {});
|
||||
|
||||
try
|
||||
{
|
||||
hub_connection->on(_XPLATSTR("ping"), [](const json::value&) {});
|
||||
ASSERT_TRUE(false); // exception expected but not thrown
|
||||
}
|
||||
catch (const signalr_exception& e)
|
||||
{
|
||||
ASSERT_STREQ("an action for this event has already been registered. event name: ping", e.what());
|
||||
}
|
||||
}
|
||||
|
||||
TEST(on, cannot_register_handler_if_connection_not_in_disconnected_state)
|
||||
{
|
||||
try
|
||||
{
|
||||
auto websocket_client = create_test_websocket_client(
|
||||
/* receive function */ []() { return pplx::task_from_result(std::string("{ }\x1e")); });
|
||||
auto hub_connection = create_hub_connection(websocket_client);
|
||||
|
||||
hub_connection->start().get();
|
||||
|
||||
hub_connection->on(_XPLATSTR("myfunc"), [](const web::json::value&) {});
|
||||
|
||||
ASSERT_TRUE(false); // exception expected but not thrown
|
||||
}
|
||||
catch (const signalr_exception& e)
|
||||
{
|
||||
ASSERT_STREQ("can't register a handler if the connection is in a disconnected state", e.what());
|
||||
}
|
||||
}
|
||||
|
||||
TEST(invoke_json, invoke_throws_when_the_underlying_connection_is_not_valid)
|
||||
{
|
||||
auto hub_connection = create_hub_connection();
|
||||
|
||||
try
|
||||
{
|
||||
hub_connection->invoke_json(_XPLATSTR("method"), json::value::array()).get();
|
||||
ASSERT_TRUE(true); // exception expected but not thrown
|
||||
}
|
||||
catch (const signalr_exception& e)
|
||||
{
|
||||
ASSERT_STREQ("cannot send data when the connection is not in the connected state. current connection state: disconnected", e.what());
|
||||
}
|
||||
}
|
||||
|
||||
TEST(invoke_void, send_throws_when_the_underlying_connection_is_not_valid)
|
||||
{
|
||||
auto hub_connection = create_hub_connection();
|
||||
|
||||
try
|
||||
{
|
||||
hub_connection->invoke_void(_XPLATSTR("method"), json::value::array()).get();
|
||||
ASSERT_TRUE(true); // exception expected but not thrown
|
||||
}
|
||||
catch (const signalr_exception& e)
|
||||
{
|
||||
ASSERT_STREQ("cannot send data when the connection is not in the connected state. current connection state: disconnected", e.what());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,127 +0,0 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "trace_log_writer.h"
|
||||
#include "test_utils.h"
|
||||
#include "memory_log_writer.h"
|
||||
#include "test_transport_factory.h"
|
||||
#include "hub_connection_impl.h"
|
||||
#include "signalrclient/signalr_exception.h"
|
||||
#include "signalrclient/hub_connection.h"
|
||||
|
||||
using namespace signalr;
|
||||
|
||||
TEST(on, event_name_must_not_be_empty_string)
|
||||
{
|
||||
hub_connection hub_connection{ _XPLATSTR("") };
|
||||
try
|
||||
{
|
||||
hub_connection.on(_XPLATSTR(""), [](const json::value&){});
|
||||
|
||||
ASSERT_TRUE(false); // exception expected but not thrown
|
||||
}
|
||||
catch (const std::invalid_argument& e)
|
||||
{
|
||||
ASSERT_STREQ("event_name cannot be empty", e.what());
|
||||
}
|
||||
}
|
||||
|
||||
TEST(on, cannot_register_multiple_handlers_for_event)
|
||||
{
|
||||
hub_connection hub_connection{ _XPLATSTR("") };
|
||||
hub_connection.on(_XPLATSTR("ping"), [](const json::value&){});
|
||||
|
||||
try
|
||||
{
|
||||
hub_connection.on(_XPLATSTR("ping"), [](const json::value&){});
|
||||
ASSERT_TRUE(false); // exception expected but not thrown
|
||||
}
|
||||
catch (const signalr_exception& e)
|
||||
{
|
||||
ASSERT_STREQ("an action for this event has already been registered. event name: ping", e.what());
|
||||
}
|
||||
}
|
||||
|
||||
TEST(on, cannot_register_handler_if_connection_not_in_disconnected_state)
|
||||
{
|
||||
try
|
||||
{
|
||||
auto websocket_client = create_test_websocket_client(
|
||||
/* receive function */ []() { return pplx::task_from_result(std::string("{ }\x1e")); });
|
||||
auto hub_connection = hub_connection_impl::create(_XPLATSTR("http://fakeuri"), _XPLATSTR(""), trace_level::all,
|
||||
std::make_shared<trace_log_writer>(), create_test_web_request_factory(),
|
||||
std::make_unique<test_transport_factory>(websocket_client));
|
||||
|
||||
hub_connection->start().get();
|
||||
|
||||
hub_connection->on(_XPLATSTR("myfunc"), [](const web::json::value&){});
|
||||
|
||||
ASSERT_TRUE(false); // exception expected but not thrown
|
||||
}
|
||||
catch (const signalr_exception& e)
|
||||
{
|
||||
ASSERT_STREQ("can't register a handler if the connection is in a disconnected state", e.what());
|
||||
}
|
||||
}
|
||||
|
||||
//TEST(invoke_event, invoke_event_invokes_event_and_passes_arguments)
|
||||
//{
|
||||
// const auto payload = _XPLATSTR("{\"Contents\":\"My message\"}");
|
||||
//
|
||||
// hub_connection hub_connection{ _XPLATSTR("") };
|
||||
//
|
||||
// auto handler_invoked = false;
|
||||
// hub_connection.on(_XPLATSTR("message"), [&handler_invoked, payload](const json::value& arguments)
|
||||
// {
|
||||
// handler_invoked = true;
|
||||
// ASSERT_EQ(payload, arguments.serialize());
|
||||
// });
|
||||
//
|
||||
// hub_connection.invoke_event(_XPLATSTR("message"), json::value::parse(payload));
|
||||
//
|
||||
// ASSERT_TRUE(handler_invoked);
|
||||
//}
|
||||
|
||||
//TEST(invoke_event, logs_if_no_handler_for_an_event)
|
||||
//{
|
||||
// std::shared_ptr<log_writer> writer(std::make_shared<memory_log_writer>());
|
||||
// internal_hub_proxy hub_proxy{ std::weak_ptr<hub_connection_impl>(), _XPLATSTR("hub"),
|
||||
// logger{ writer, trace_level::info } };
|
||||
// hub_proxy.invoke_event(_XPLATSTR("message"), json::value::parse(_XPLATSTR("{}")));
|
||||
//
|
||||
// auto log_entries = std::dynamic_pointer_cast<memory_log_writer>(writer)->get_log_entries();
|
||||
// ASSERT_FALSE(log_entries.empty());
|
||||
// auto entry = remove_date_from_log_entry(log_entries[0]);
|
||||
// ASSERT_EQ(_XPLATSTR("[info ] no handler found for event. hub name: hub, event name: message\n"), entry);
|
||||
//}
|
||||
|
||||
TEST(invoke_json, invoke_throws_when_the_underlying_connection_is_not_valid)
|
||||
{
|
||||
hub_connection hub_connection{ _XPLATSTR("") };
|
||||
|
||||
try
|
||||
{
|
||||
hub_connection.invoke(_XPLATSTR("method")).get();
|
||||
ASSERT_TRUE(true); // exception expected but not thrown
|
||||
}
|
||||
catch (const signalr_exception& e)
|
||||
{
|
||||
ASSERT_STREQ("the connection for which this hub proxy was created is no longer valid - it was either destroyed or went out of scope", e.what());
|
||||
}
|
||||
}
|
||||
|
||||
TEST(invoke_void, send_throws_when_the_underlying_connection_is_not_valid)
|
||||
{
|
||||
hub_connection hub_connection{ _XPLATSTR("") };
|
||||
|
||||
try
|
||||
{
|
||||
hub_connection.send(_XPLATSTR("method")).get();
|
||||
ASSERT_TRUE(true); // exception expected but not thrown
|
||||
}
|
||||
catch (const signalr_exception& e)
|
||||
{
|
||||
ASSERT_STREQ("the connection for which this hub proxy was created is no longer valid - it was either destroyed or went out of scope", e.what());
|
||||
}
|
||||
}
|
||||
|
|
@ -6,196 +6,23 @@
|
|||
|
||||
using namespace signalr;
|
||||
|
||||
//TEST(url_builder_negotiate, url_correct_if_query_string_empty)
|
||||
//{
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("http://fake/negotiate")),
|
||||
// url_builder::build_negotiate(web::uri{ _XPLATSTR("http://fake/") }, _XPLATSTR("")));
|
||||
//}
|
||||
//
|
||||
//TEST(url_builder_negotiate, url_correct_if_query_string_not_empty)
|
||||
//{
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("http://fake/signalr/negotiate?q1=1&q2=2")),
|
||||
// url_builder::build_negotiate(web::uri{ _XPLATSTR("http://fake/signalr/") }, _XPLATSTR("q1=1&q2=2")));
|
||||
//}
|
||||
//
|
||||
//TEST(url_builder_negotiate, url_correct_if_connection_data_not_empty)
|
||||
//{
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("http://fake/signalr/negotiate?clientProtocol=1.4&connectionData=%5B%7B%22Name%22:%22ChatHub%22%7D%5D")),
|
||||
// url_builder::build_negotiate(web::uri{ _XPLATSTR("http://fake/signalr/") }, _XPLATSTR("")));
|
||||
//}
|
||||
//
|
||||
//TEST(url_builder_connect_webSockets, url_correct_if_query_string_not_empty)
|
||||
//{
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("ws://fake/?q1=1&q2=2")),
|
||||
// url_builder::build_connect(web::uri{ _XPLATSTR("http://fake/") }, transport_type::websockets, _XPLATSTR("q1=1&q2=2")));
|
||||
//}
|
||||
//
|
||||
//TEST(url_builder_reconnect_longPolling, url_correct_if_query_string_empty)
|
||||
//{
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("http://fake/signalr/reconnect?transport=longPolling&clientProtocol=1.4&connectionToken=connection%20token")),
|
||||
// url_builder::build_reconnect(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::long_polling, _XPLATSTR(""), _XPLATSTR(""), _XPLATSTR("")));
|
||||
//}
|
||||
//
|
||||
//TEST(url_builder_reconnect_longPolling, url_correct_if_query_string_not_empty)
|
||||
//{
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("http://fake/signalr/reconnect?transport=longPolling&clientProtocol=1.4&connectionToken=connection-token&q1=1&q2=2")),
|
||||
// url_builder::build_reconnect(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::long_polling, _XPLATSTR(""), _XPLATSTR(""), _XPLATSTR("q1=1&q2=2")));
|
||||
//
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("http://fake/signalr/reconnect?transport=longPolling&clientProtocol=1.4&connectionToken=connection-token&q1=1&q2=2")),
|
||||
// url_builder::build_reconnect(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::long_polling, _XPLATSTR(""), _XPLATSTR(""), _XPLATSTR("&q1=1&q2=2")));
|
||||
//}
|
||||
//
|
||||
//TEST(url_builder_reconnect_webSockets, url_correct_if_query_string_empty)
|
||||
//{
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("ws://fake/signalr/reconnect?transport=webSockets&clientProtocol=1.4&connectionToken=connection%20token")),
|
||||
// url_builder::build_reconnect(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::websockets, _XPLATSTR(""), _XPLATSTR(""), _XPLATSTR("")));
|
||||
//
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("wss://fake/signalr/reconnect?transport=webSockets&clientProtocol=1.4&connectionToken=connection%20token")),
|
||||
// url_builder::build_reconnect(web::uri{ _XPLATSTR("https://fake/signalr/") }, transport_type::websockets, _XPLATSTR(""), _XPLATSTR(""), _XPLATSTR("")));
|
||||
//}
|
||||
//
|
||||
//TEST(url_builder_reconnect_webSockets, url_correct_if_query_string_not_empty)
|
||||
//{
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("ws://fake/signalr/reconnect?transport=webSockets&clientProtocol=1.4&connectionToken=connection-token&q1=1&q2=2")),
|
||||
// url_builder::build_reconnect(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::websockets, _XPLATSTR(""), _XPLATSTR(""), _XPLATSTR("q1=1&q2=2")));
|
||||
//
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("ws://fake/signalr/reconnect?transport=webSockets&clientProtocol=1.4&connectionToken=connection-token&q1=1&q2=2")),
|
||||
// url_builder::build_reconnect(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::websockets, _XPLATSTR(""), _XPLATSTR(""), _XPLATSTR("&q1=1&q2=2")));
|
||||
//
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("wss://fake/signalr/reconnect?transport=webSockets&clientProtocol=1.4&connectionToken=connection-token&q1=1&q2=2")),
|
||||
// url_builder::build_reconnect(web::uri{ _XPLATSTR("https://fake/signalr/") }, transport_type::websockets, _XPLATSTR(""), _XPLATSTR(""), _XPLATSTR("q1=1&q2=2")));
|
||||
//
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("wss://fake/signalr/reconnect?transport=webSockets&clientProtocol=1.4&connectionToken=connection-token&q1=1&q2=2")),
|
||||
// url_builder::build_reconnect(web::uri{ _XPLATSTR("https://fake/signalr/") }, transport_type::websockets, _XPLATSTR(""), _XPLATSTR(""), _XPLATSTR("&q1=1&q2=2")));
|
||||
//}
|
||||
//
|
||||
//TEST(url_builder_reconnect, url_correct_if_connection_data_not_empty)
|
||||
//{
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("http://fake/signalr/reconnect?transport=longPolling&clientProtocol=1.4&connectionToken=connection%20token&connectionData=%5B%7B%22Name%22:%22ChatHub%22%7D%5D")),
|
||||
// url_builder::build_reconnect(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::long_polling, _XPLATSTR(""), _XPLATSTR(""), _XPLATSTR("")));
|
||||
//
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("ws://fake/signalr/reconnect?transport=webSockets&clientProtocol=1.4&connectionToken=connection%20token&connectionData=%5B%7B%22Name%22:%22ChatHub%22%7D%5D")),
|
||||
// url_builder::build_reconnect(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::websockets, _XPLATSTR(""), _XPLATSTR(""), _XPLATSTR("")));
|
||||
//}
|
||||
//
|
||||
//TEST(url_builder_reconnect, url_correct_if_last_message_id_not_empty)
|
||||
//{
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("http://fake/signalr/reconnect?transport=longPolling&clientProtocol=1.4&connectionToken=connection%20token&connectionData=%5B%7B%22Name%22:%22ChatHub%22%7D%5D&messageId=L45T%20M355463_1D")),
|
||||
// url_builder::build_reconnect(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::long_polling,
|
||||
// _XPLATSTR("connection token"), _XPLATSTR("L45T M355463_1D"), _XPLATSTR(""), _XPLATSTR("")));
|
||||
//
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("ws://fake/signalr/reconnect?transport=webSockets&clientProtocol=1.4&connectionToken=connection%20token&connectionData=%5B%7B%22Name%22:%22ChatHub%22%7D%5D&messageId=L45T%20M355463_1D")),
|
||||
// url_builder::build_reconnect(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::websockets,
|
||||
// _XPLATSTR("connection token"), _XPLATSTR("L45T M355463_1D"), _XPLATSTR(""), _XPLATSTR("")));
|
||||
//}
|
||||
//
|
||||
//TEST(url_builder_reconnect, url_correct_if_groups_token_not_empty)
|
||||
//{
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("http://fake/signalr/reconnect?transport=longPolling&clientProtocol=1.4&connectionToken=connection%20token&connectionData=%5B%7B%22Name%22:%22ChatHub%22%7D%5D&groupsToken=G%207")),
|
||||
// url_builder::build_reconnect(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::long_polling,
|
||||
// _XPLATSTR("connection token"), _XPLATSTR(""), _XPLATSTR("G 7"), _XPLATSTR("")));
|
||||
//
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("ws://fake/signalr/reconnect?transport=webSockets&clientProtocol=1.4&connectionToken=connection%20token&connectionData=%5B%7B%22Name%22:%22ChatHub%22%7D%5D&groupsToken=G%207")),
|
||||
// url_builder::build_reconnect(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::websockets,
|
||||
// _XPLATSTR("connection token"), _XPLATSTR(""), _XPLATSTR("G 7"), _XPLATSTR("")));
|
||||
//}
|
||||
//
|
||||
//TEST(url_builder_reconnect, query_string_added_after_message_id_and_groups_token)
|
||||
//{
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("http://fake/signalr/reconnect?transport=longPolling&clientProtocol=1.4&connectionToken=connection%20token&connectionData=%5B%7B%22Name%22:%22ChatHub%22%7D%5D&messageId=L45T_M355463_1D&groupsToken=G7&X")),
|
||||
// url_builder::build_reconnect(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::long_polling,
|
||||
// _XPLATSTR("connection token"), _XPLATSTR("L45T_M355463_1D"), _XPLATSTR("G7"), _XPLATSTR("X")));
|
||||
//
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("ws://fake/signalr/reconnect?transport=webSockets&clientProtocol=1.4&connectionToken=connection%20token&connectionData=%5B%7B%22Name%22:%22ChatHub%22%7D%5D&messageId=L45T_M355463_1D&groupsToken=G7&X")),
|
||||
// url_builder::build_reconnect(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::websockets,
|
||||
// _XPLATSTR("connection token"), _XPLATSTR("L45T_M355463_1D"), _XPLATSTR("G7"), _XPLATSTR("X")));
|
||||
//}
|
||||
//
|
||||
//TEST(url_builder_start, url_correct_if_query_string_empty)
|
||||
//{
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("http://fake/signalr/start?transport=longPolling&clientProtocol=1.4&connectionToken=connection%20token")),
|
||||
// url_builder::build_start(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::long_polling,
|
||||
// _XPLATSTR("connection token"), _XPLATSTR("")));
|
||||
//
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("http://fake/signalr/start?transport=webSockets&clientProtocol=1.4&connectionToken=connection%20token")),
|
||||
// url_builder::build_start(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::websockets,
|
||||
// _XPLATSTR("connection token"), _XPLATSTR("")));
|
||||
//}
|
||||
//
|
||||
//TEST(url_builder_start, url_correct_if_query_string_not_empty)
|
||||
//{
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("http://fake/signalr/start?transport=longPolling&clientProtocol=1.4&connectionToken=connection-token&q1=1&q2=2")),
|
||||
// url_builder::build_start(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::long_polling,
|
||||
// _XPLATSTR("connection-token"), _XPLATSTR("q1=1&q2=2")));
|
||||
//
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("http://fake/signalr/start?transport=webSockets&clientProtocol=1.4&connectionToken=connection-token&q1=1&q2=2")),
|
||||
// url_builder::build_start(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::websockets,
|
||||
// _XPLATSTR("connection-token"), _XPLATSTR("&q1=1&q2=2")));
|
||||
//}
|
||||
//
|
||||
//TEST(url_builder_start, url_correct_if_connection_data_not_empty)
|
||||
//{
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("http://fake/signalr/start?transport=longPolling&clientProtocol=1.4&connectionToken=connection%20token&connectionData=%5B%7B%22Name%22:%22ChatHub%22%7D%5D")),
|
||||
// url_builder::build_start(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::long_polling,
|
||||
// _XPLATSTR("connection token"), _XPLATSTR("")));
|
||||
//}
|
||||
//
|
||||
//TEST(url_builder_abort, url_correct_if_query_string_empty)
|
||||
//{
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("http://fake/signalr/abort?transport=longPolling&clientProtocol=1.4&connectionToken=connection%20token")),
|
||||
// url_builder::build_abort(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::long_polling,
|
||||
// _XPLATSTR("connection token"), _XPLATSTR("")));
|
||||
//
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("http://fake/signalr/abort?transport=webSockets&clientProtocol=1.4&connectionToken=connection%20token")),
|
||||
// url_builder::build_abort(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::websockets,
|
||||
// _XPLATSTR("connection token"), _XPLATSTR("")));
|
||||
//}
|
||||
//
|
||||
//TEST(url_builder_abort, url_correct_if_query_string_not_empty)
|
||||
//{
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("http://fake/signalr/abort?transport=longPolling&clientProtocol=1.4&connectionToken=connection-token&q1=1&q2=2")),
|
||||
// url_builder::build_abort(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::long_polling,
|
||||
// _XPLATSTR("connection-token"), _XPLATSTR("q1=1&q2=2")));
|
||||
//
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("http://fake/signalr/abort?transport=webSockets&clientProtocol=1.4&connectionToken=connection-token&q1=1&q2=2")),
|
||||
// url_builder::build_abort(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::websockets,
|
||||
// _XPLATSTR("connection-token"), _XPLATSTR("&q1=1&q2=2")));
|
||||
//}
|
||||
//
|
||||
//TEST(url_builder_abort, url_correct_if_connection_data_not_empty)
|
||||
//{
|
||||
// ASSERT_EQ(
|
||||
// web::uri(_XPLATSTR("http://fake/signalr/abort?transport=longPolling&clientProtocol=1.4&connectionToken=connection%20token&connectionData=%5B%7B%22Name%22:%22ChatHub%22%7D%5D")),
|
||||
// url_builder::build_abort(web::uri{ _XPLATSTR("http://fake/signalr/") }, transport_type::long_polling,
|
||||
// _XPLATSTR("connection token"), _XPLATSTR("")));
|
||||
//}
|
||||
TEST(url_builder_negotiate, url_correct_if_query_string_empty)
|
||||
{
|
||||
ASSERT_EQ(
|
||||
web::uri(_XPLATSTR("http://fake/negotiate")),
|
||||
url_builder::build_negotiate(web::uri{ _XPLATSTR("http://fake/") }, _XPLATSTR("")));
|
||||
}
|
||||
|
||||
TEST(url_builder_negotiate, url_correct_if_query_string_not_empty)
|
||||
{
|
||||
ASSERT_EQ(
|
||||
web::uri(_XPLATSTR("http://fake/negotiate?q1=1&q2=2")),
|
||||
url_builder::build_negotiate(web::uri{ _XPLATSTR("http://fake/") }, _XPLATSTR("q1=1&q2=2")));
|
||||
}
|
||||
|
||||
TEST(url_builder_connect_webSockets, url_correct_if_query_string_not_empty)
|
||||
{
|
||||
ASSERT_EQ(
|
||||
web::uri(_XPLATSTR("ws://fake/?q1=1&q2=2")),
|
||||
url_builder::build_connect(web::uri{ _XPLATSTR("http://fake/") }, transport_type::websockets, _XPLATSTR("q1=1&q2=2")));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue