Tests now build

This commit is contained in:
Paul Betts
2014-07-28 11:12:14 +02:00
parent 291c944d77
commit 9b074cff96
13 changed files with 1877 additions and 42 deletions

View File

@@ -4,12 +4,9 @@ using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Xml;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Squirrel.Core;
using Squirrel;
using Squirrel.Tests.TestHelpers;
using Xunit;
using Xunit.Extensions;
using Assert = Xunit.Assert;
namespace Squirrel.Tests.Core
{

View File

@@ -1,11 +1,9 @@
using System;
using System.IO;
using System.Linq;
using System.Reactive.Linq;
using NuGet;
using ReactiveUIMicro;
using Squirrel.Client;
using Squirrel.Core;
using Splat;
using Squirrel;
using Squirrel.Tests.TestHelpers;
using Xunit;
@@ -52,6 +50,9 @@ namespace Squirrel.Tests.Core
[Fact]
public void ApplyMultipleDeltaPackagesGeneratesCorrectHash()
{
Assert.False(true, "UpdateManager not ready yet");
/*
var firstRelease = new ReleasePackage(IntegrationTestHelper.GetPath("fixtures", "SquirrelDesktopDemo-1.0.0-full.nupkg"), true);
var secondRelease = new ReleasePackage(IntegrationTestHelper.GetPath("fixtures", "SquirrelDesktopDemo-1.1.0-full.nupkg"), true);
var thirdRelease = new ReleasePackage(IntegrationTestHelper.GetPath("fixtures", "SquirrelDesktopDemo-1.2.0-full.nupkg"), true);
@@ -63,7 +64,6 @@ namespace Squirrel.Tests.Core
var firstDelta = Path.Combine(releasesDir, "SquirrelDesktopDemo-1.1.0-delta.nupkg");
var secondDelta = Path.Combine(releasesDir, "SquirrelDesktopDemo-1.2.0-delta.nupkg");
new[] { firstRelease, secondRelease, thirdRelease }
.ForEach(file =>
{
@@ -115,6 +115,7 @@ namespace Squirrel.Tests.Core
Assert.Empty(invalidFiles);
}
}
*/
}
}

View File

@@ -1,11 +1,9 @@
using System;
using System.IO;
using System.Linq;
using Moq;
using Squirrel.Core;
using Squirrel;
using Squirrel.Tests.TestHelpers;
using Xunit;
using Xunit.Extensions;
namespace Squirrel.Tests.Core
{
@@ -81,8 +79,7 @@ namespace Squirrel.Tests.Core
[Fact]
public void WhenCurrentReleaseMatchesLastReleaseReturnNull()
{
var package = Mock.Of<IReleasePackage>(
r => r.InputPackageFile == "Espera-1.7.6-beta.nupkg");
var package = new ReleasePackage("Espera-1.7.6-beta.nupkg");
var releaseEntries = new[] {
ReleaseEntry.ParseReleaseEntry(MockReleaseEntry("Espera-1.7.6-beta.nupkg"))
@@ -95,8 +92,7 @@ namespace Squirrel.Tests.Core
public void WhenMultipleReleaseMatchesReturnEarlierResult()
{
var expected = new Version("1.7.5");
var package = Mock.Of<IReleasePackage>(
r => r.InputPackageFile == "Espera-1.7.6-beta.nupkg");
var package = new ReleasePackage("Espera-1.7.6-beta.nupkg");
var releaseEntries = new[] {
ReleaseEntry.ParseReleaseEntry(MockReleaseEntry("Espera-1.7.6-beta.nupkg")),
@@ -115,8 +111,7 @@ namespace Squirrel.Tests.Core
public void WhenMultipleReleasesFoundReturnPreviousVersion()
{
var expected = new Version("1.7.6");
var input = Mock.Of<IReleasePackage>(
r => r.InputPackageFile == "Espera-1.7.7-beta.nupkg");
var input = new ReleasePackage("Espera-1.7.7-beta.nupkg");
var releaseEntries = new[] {
ReleaseEntry.ParseReleaseEntry(MockReleaseEntry("Espera-1.7.6-beta.nupkg")),
@@ -135,8 +130,7 @@ namespace Squirrel.Tests.Core
public void WhenMultipleReleasesFoundInOtherOrderReturnPreviousVersion()
{
var expected = new Version("1.7.6");
var input = Mock.Of<IReleasePackage>(
r => r.InputPackageFile == "Espera-1.7.7-beta.nupkg");
var input = new ReleasePackage("Espera-1.7.7-beta.nupkg");
var releaseEntries = new[] {
ReleaseEntry.ParseReleaseEntry(MockReleaseEntry("Espera-1.7.5-beta.nupkg")),

View File

@@ -1,8 +1,7 @@
using System.Runtime.Versioning;
using MarkdownSharp;
using NuGet;
using ReactiveUIMicro;
using Squirrel.Core;
using Squirrel;
using Squirrel.Tests.TestHelpers;
using System;
using System.Collections.Generic;
@@ -10,6 +9,7 @@ using System.IO;
using System.Linq;
using System.Reflection;
using System.Xml.Linq;
using Splat;
using Xunit;
namespace Squirrel.Tests.Core

View File

@@ -12,6 +12,7 @@
<AssemblyName>Squirrel.Tests</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<NuGetPackageImportStamp>2c7138af</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -31,6 +32,9 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Ionic.Zip">
<HintPath>..\ext\Ionic.Zip.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Web.XmlTransform">
<HintPath>..\packages\Microsoft.Web.Xdt.2.1.1\lib\net40\Microsoft.Web.XmlTransform.dll</HintPath>
</Reference>
@@ -51,12 +55,29 @@
<Reference Include="xunit.abstractions">
<HintPath>..\packages\xunit.abstractions.2.0.0-beta-build2700\lib\net35\xunit.abstractions.dll</HintPath>
</Reference>
<Reference Include="xunit.assert">
<HintPath>..\packages\xunit.assert.2.0.0-beta-build2700\lib\portable-net45+win+wpa81+wp80+monoandroid+monotouch10\xunit.assert.dll</HintPath>
</Reference>
<Reference Include="xunit.core">
<HintPath>..\packages\xunit.core.2.0.0-beta-build2700\lib\portable-net45+win+wpa81+wp80+monotouch+monoandroid\xunit.core.dll</HintPath>
</Reference>
<Reference Include="xunit.runner.utility">
<HintPath>..\packages\xunit.runner.utility.2.0.0-beta-build2700\lib\net35\xunit.runner.utility.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="ContentTypeTests.cs" />
<Compile Include="DeltaPackageTests.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ReleaseEntryTests.cs" />
<Compile Include="ReleasePackageTests.cs" />
<Compile Include="TestHelpers\AssertExtensions.cs" />
<Compile Include="TestHelpers\ExposedClass.cs" />
<Compile Include="TestHelpers\ExposedObject.cs" />
<Compile Include="TestHelpers\ExposedObjectHelper.cs" />
<Compile Include="TestHelpers\IntegrationTestHelper.cs" />
<Compile Include="TestHelpers\StaticHttpServer.cs" />
<Compile Include="UtilityTests.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\src\Squirrel.csproj">
@@ -67,6 +88,9 @@
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>

View File

@@ -3,14 +3,10 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reactive;
using System.Reactive.Disposables;
using System.Reactive.Linq;
using System.Threading;
using Ionic.Zip;
using Squirrel.Core;
using ReactiveUIMicro;
using Squirrel.Tests.WiXUi;
using Squirrel;
using Splat;
namespace Squirrel.Tests.TestHelpers
{
@@ -73,7 +69,10 @@ namespace Squirrel.Tests.TestHelpers
// like this, is to make sure that we don't have two tests registering
// their Service Locators with RxApp.
Monitor.Enter(gate);
return new CompositeDisposable(ret, Disposable.Create(() => Monitor.Exit(gate)));
return Disposable.Create(() => {
ret.Dispose();
Monitor.Exit(gate);
});
}
public static IDisposable WithFakeInstallDirectory(out string path)
@@ -94,7 +93,10 @@ namespace Squirrel.Tests.TestHelpers
zf.ExtractAll(path);
Monitor.Enter(gate);
return new CompositeDisposable(ret, Disposable.Create(() => Monitor.Exit(gate)));
return Disposable.Create(() => {
ret.Dispose();
Monitor.Exit(gate);
});
}
}
}

View File

@@ -1,10 +1,9 @@
using System;
using System.IO;
using System.Net;
using System.Reactive.Disposables;
using System.Reactive.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace Squirrel.Tests
{
@@ -30,9 +29,11 @@ namespace Squirrel.Tests
server.Prefixes.Add(String.Format("http://+:{0}/", Port));
server.Start();
var listener = Observable.Defer(() => Observable.FromAsyncPattern<HttpListenerContext>(server.BeginGetContext, server.EndGetContext)())
.Repeat()
.Subscribe(ctx => {
bool shouldStop = false;
var listener = Task.Run(async () => {
while (!shouldStop) {
var ctx = await server.GetContextAsync();
if (ctx.Request.HttpMethod != "GET") {
closeResponseWith(ctx, 400, "GETs only");
return;
@@ -60,11 +61,14 @@ namespace Squirrel.Tests
} catch (Exception ex) {
closeResponseWith(ctx, 500, ex.ToString());
}
});
}
});
var ret = Disposable.Create(() => {
listener.Dispose();
shouldStop = true;
server.Stop();
listener.Wait(2000);
inner = null;
});

View File

@@ -2,11 +2,10 @@
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reactive.Linq;
using System.Security.Cryptography;
using System.Text;
using ReactiveUIMicro;
using Squirrel.Core;
using Splat;
using Squirrel;
using Squirrel.Tests.TestHelpers;
using Xunit;