Skip to content

Commit

Permalink
Updating xunit version in SignalR tests
Browse files Browse the repository at this point in the history
  • Loading branch information
moozzyk authored and moozzyk committed Mar 30, 2017
1 parent 4f7c22d commit fa51f98
Show file tree
Hide file tree
Showing 6 changed files with 77 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -187,8 +187,9 @@ public void HubCallbackClearedOnFailedInvocation()
Assert.Equal(connection.Object._callbacks.Count, 0);
}

[Fact(Timeout = 5000)]
public void FailedHubCallbackDueToReconnectFollowedByInvoke()

[Fact]
public async Task FailedHubCallbackDueToReconnectFollowedByInvoke()
{
// Arrange
var testTcs = new TaskCompletionSource<object>();
Expand Down Expand Up @@ -235,9 +236,9 @@ public void FailedHubCallbackDueToReconnectFollowedByInvoke()
TaskContinuationOptions.ExecuteSynchronously); // We need to ensure this executes sync so we're on the same stack

// Assert
Assert.Throws(typeof(AggregateException), () => crashTask.Wait());
Assert.DoesNotThrow(() => testTcs.Task.Wait());
}
await Assert.ThrowsAnyAsync<Exception>(async () => await crashTask.OrTimeout());
await testTcs.Task.OrTimeout();
}

private class NullInvokeTest
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ public void FailuresWhileSendingAbortRequestsAreLoggedAndSwallowed()
}

[Fact]
public void CannotNegotiateUsingFinishedTransport()
public async Task CannotNegotiateUsingFinishedTransport()
{
var transport =
new Mock<ClientTransportBase>(Mock.Of<IHttpClient>(), "fakeTransport") { CallBase = true }.Object;
Expand All @@ -215,8 +215,8 @@ public void CannotNegotiateUsingFinishedTransport()

Assert.Equal(
Resources.Error_TransportCannotBeReused,
Assert.Throws<InvalidOperationException>(
() => transport.Negotiate(Mock.Of<IConnection>(), "connectionData")).Message);
(await Assert.ThrowsAsync<InvalidOperationException>(
async () => await transport.Negotiate(Mock.Of<IConnection>(), "connectionData"))).Message);
}

[Fact]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
Expand All @@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Microsoft.AspNet.SignalR.Client.Tests</RootNamespace>
<AssemblyName>Microsoft.AspNet.SignalR.Client.Tests</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
<RestorePackages>true</RestorePackages>
Expand Down Expand Up @@ -50,11 +50,21 @@
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="xunit">
<HintPath>..\..\packages\xunit.1.9.1\lib\net20\xunit.dll</HintPath>
<Reference Include="xunit.abstractions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c, processorArchitecture=MSIL">
<HintPath>..\..\packages\xunit.abstractions.2.0.1\lib\net35\xunit.abstractions.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="xunit.extensions">
<HintPath>..\..\packages\xunit.extensions.1.9.1\lib\net20\xunit.extensions.dll</HintPath>
<Reference Include="xunit.assert, Version=2.2.0.3545, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c, processorArchitecture=MSIL">
<HintPath>..\..\packages\xunit.assert.2.2.0\lib\netstandard1.1\xunit.assert.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="xunit.core, Version=2.2.0.3545, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c, processorArchitecture=MSIL">
<HintPath>..\..\packages\xunit.extensibility.core.2.2.0\lib\netstandard1.1\xunit.core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="xunit.execution.desktop, Version=2.2.0.3545, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c, processorArchitecture=MSIL">
<HintPath>..\..\packages\xunit.extensibility.execution.2.2.0\lib\net452\xunit.execution.desktop.dll</HintPath>
<Private>True</Private>
</Reference>
</ItemGroup>
<ItemGroup>
Expand Down
6 changes: 6 additions & 0 deletions tests/Microsoft.AspNet.SignalR.Client.Tests/packages.config
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Newtonsoft.Json" version="6.0.4" targetFramework="net45" />
<package id="xunit" version="2.2.0" targetFramework="net452" />
<package id="xunit.abstractions" version="2.0.1" targetFramework="net452" />
<package id="xunit.assert" version="2.2.0" targetFramework="net452" />
<package id="xunit.core" version="2.2.0" targetFramework="net452" />
<package id="xunit.extensibility.core" version="2.2.0" targetFramework="net452" />
<package id="xunit.extensibility.execution" version="2.2.0" targetFramework="net452" />
</packages>
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
// 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.

using System;
using System.Threading.Tasks;

namespace Microsoft.AspNet.SignalR.Infrastructure
{
public static class TaskExtensions
{
private const int DefaultTimeout = 5000;

public static Task OrTimeout(this Task task, int milliseconds = DefaultTimeout)
{
return OrTimeout(task, new TimeSpan(0, 0, 0, 0, milliseconds));
}

public static async Task OrTimeout(this Task task, TimeSpan timeout)
{
var completed = await Task.WhenAny(task, Task.Delay(timeout));
if (completed != task)
{
throw new TimeoutException();
}

await task;
}

public static Task<T> OrTimeout<T>(this Task<T> task, int milliseconds = DefaultTimeout)
{
return OrTimeout(task, new TimeSpan(0, 0, 0, 0, milliseconds));
}

public static async Task<T> OrTimeout<T>(this Task<T> task, TimeSpan timeout)
{
var completed = await Task.WhenAny(task, Task.Delay(timeout));
if (completed != task)
{
throw new TimeoutException();
}

return await task;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@
<Compile Include="Infrastructure\RequestItemsResponse.cs" />
<Compile Include="Infrastructure\MessageBusType.cs" />
<Compile Include="Infrastructure\SystemNetLogging.cs" />
<Compile Include="Infrastructure\TaskExtensions.cs" />
<Compile Include="Infrastructure\TestUtilities.cs" />
<Compile Include="Infrastructure\TracingTestHost.cs" />
<Compile Include="Infrastructure\TransportType.cs" />
Expand Down

0 comments on commit fa51f98

Please sign in to comment.