diff --git a/src/Squirrel/IUpdateManager.cs b/src/Squirrel/IUpdateManager.cs
index b64368c6..96bd7509 100644
--- a/src/Squirrel/IUpdateManager.cs
+++ b/src/Squirrel/IUpdateManager.cs
@@ -20,7 +20,7 @@ namespace Squirrel
/// will return values from 0-100 and Complete, or Throw
/// An UpdateInfo object representing the updates to install.
///
- Task CheckForUpdate(bool ignoreDeltaUpdates, Action progress = null);
+ Task CheckForUpdate(bool ignoreDeltaUpdates = false, Action progress = null);
///
/// Download a list of releases into the local package directory.
diff --git a/src/Squirrel/UpdateManager.ApplyReleases.cs b/src/Squirrel/UpdateManager.ApplyReleases.cs
index 04b41c0f..edbcedff 100644
--- a/src/Squirrel/UpdateManager.ApplyReleases.cs
+++ b/src/Squirrel/UpdateManager.ApplyReleases.cs
@@ -13,7 +13,7 @@ namespace Squirrel
{
public sealed partial class UpdateManager
{
- class ApplyReleasesImpl : IEnableLogger
+ internal class ApplyReleasesImpl : IEnableLogger
{
// TODO: Kill this entire concept
readonly FrameworkVersion appFrameworkVersion = FrameworkVersion.Net45;
@@ -309,7 +309,7 @@ namespace Squirrel
});
}
- async Task updateLocalReleasesFile()
+ internal async Task updateLocalReleasesFile()
{
await Task.Run(() => ReleaseEntry.BuildReleasesFile(Utility.PackageDirectoryForAppDir(rootAppDirectory)));
}
diff --git a/src/Squirrel/UpdateManager.CheckForUpdates.cs b/src/Squirrel/UpdateManager.CheckForUpdates.cs
index e47e7276..e71722d6 100644
--- a/src/Squirrel/UpdateManager.CheckForUpdates.cs
+++ b/src/Squirrel/UpdateManager.CheckForUpdates.cs
@@ -11,7 +11,7 @@ namespace Squirrel
{
public sealed partial class UpdateManager
{
- class CheckForUpdateImpl : IEnableLogger
+ internal class CheckForUpdateImpl : IEnableLogger
{
readonly string rootAppDirectory;
diff --git a/src/Squirrel/UpdateManager.DownloadReleases.cs b/src/Squirrel/UpdateManager.DownloadReleases.cs
index 023cbdaf..0997d47e 100644
--- a/src/Squirrel/UpdateManager.DownloadReleases.cs
+++ b/src/Squirrel/UpdateManager.DownloadReleases.cs
@@ -10,7 +10,7 @@ namespace Squirrel
{
public sealed partial class UpdateManager
{
- class DownloadReleasesImpl : IEnableLogger
+ internal class DownloadReleasesImpl : IEnableLogger
{
readonly string rootAppDirectory;
diff --git a/src/Squirrel/UpdateManager.cs b/src/Squirrel/UpdateManager.cs
index 575b20fc..f01f219f 100644
--- a/src/Squirrel/UpdateManager.cs
+++ b/src/Squirrel/UpdateManager.cs
@@ -41,7 +41,7 @@ namespace Squirrel
this.urlDownloader = urlDownloader ?? new FileDownloader();
}
- public async Task CheckForUpdate(bool ignoreDeltaUpdates, Action progress = null)
+ public async Task CheckForUpdate(bool ignoreDeltaUpdates = false, Action progress = null)
{
var checkForUpdate = new CheckForUpdateImpl(rootAppDirectory);
diff --git a/test/ApplyReleasesTests.cs b/test/ApplyReleasesTests.cs
index 42935972..ddf78346 100644
--- a/test/ApplyReleasesTests.cs
+++ b/test/ApplyReleasesTests.cs
@@ -90,7 +90,7 @@ namespace Squirrel.Tests
"Squirrel.Core.1.1.0.0-full.nupkg",
}.ForEach(x => File.Copy(IntegrationTestHelper.GetPath("fixtures", x), Path.Combine(packagesDir, x)));
- var fixture = new UpdateManager("http://lol", "theApp", FrameworkVersion.Net40, tempDir, new FakeUrlDownloader());
+ var fixture = new UpdateManager.ApplyReleasesImpl(tempDir);
var baseEntry = ReleaseEntry.GenerateFromFile(Path.Combine(packagesDir, "Squirrel.Core.1.0.0.0-full.nupkg"));
var latestFullEntry = ReleaseEntry.GenerateFromFile(Path.Combine(packagesDir, "Squirrel.Core.1.1.0.0-full.nupkg"));
@@ -98,16 +98,14 @@ namespace Squirrel.Tests
var updateInfo = UpdateInfo.Create(baseEntry, new[] { latestFullEntry }, packagesDir, FrameworkVersion.Net40);
updateInfo.ReleasesToApply.Contains(latestFullEntry).ShouldBeTrue();
- using (fixture) {
- var progress = new List();
+ var progress = new List();
- await fixture.ApplyReleases(updateInfo, progress.Add);
- this.Log().Info("Progress: [{0}]", String.Join(",", progress));
+ await fixture.ApplyReleases(updateInfo, progress.Add);
+ this.Log().Info("Progress: [{0}]", String.Join(",", progress));
- progress
- .Aggregate(0, (acc, x) => { x.ShouldBeGreaterThan(acc); return x; })
- .ShouldEqual(100);
- }
+ progress
+ .Aggregate(0, (acc, x) => { x.ShouldBeGreaterThan(acc); return x; })
+ .ShouldEqual(100);
var filesToFind = new[] {
new {Name = "NLog.dll", Version = new Version("2.0.0.0")},
@@ -141,7 +139,7 @@ namespace Squirrel.Tests
"Squirrel.Core.1.2.0.0-full.nupkg",
}.ForEach(x => File.Copy(IntegrationTestHelper.GetPath("fixtures", x), Path.Combine(packagesDir, x)));
- var fixture = new UpdateManager("http://lol", "theApp", FrameworkVersion.Net40, tempDir, new FakeUrlDownloader());
+ var fixture = new UpdateManager.ApplyReleasesImpl(tempDir);
var baseEntry = ReleaseEntry.GenerateFromFile(Path.Combine(packagesDir, "Squirrel.Core.1.1.0.0-full.nupkg"));
var latestFullEntry = ReleaseEntry.GenerateFromFile(Path.Combine(packagesDir, "Squirrel.Core.1.2.0.0-full.nupkg"));
@@ -149,15 +147,13 @@ namespace Squirrel.Tests
var updateInfo = UpdateInfo.Create(baseEntry, new[] { latestFullEntry }, packagesDir, FrameworkVersion.Net40);
updateInfo.ReleasesToApply.Contains(latestFullEntry).ShouldBeTrue();
- using (fixture) {
- var progress = new List();
- await fixture.ApplyReleases(updateInfo, progress.Add);
- this.Log().Info("Progress: [{0}]", String.Join(",", progress));
+ var progress = new List();
+ await fixture.ApplyReleases(updateInfo, progress.Add);
+ this.Log().Info("Progress: [{0}]", String.Join(",", progress));
- progress
- .Aggregate(0, (acc, x) => { x.ShouldBeGreaterThan(acc); return x; })
- .ShouldEqual(100);
- }
+ progress
+ .Aggregate(0, (acc, x) => { x.ShouldBeGreaterThan(acc); return x; })
+ .ShouldEqual(100);
var rootDirectory = Path.Combine(tempDir, "theApp", "app-1.2.0.0");
@@ -191,7 +187,7 @@ namespace Squirrel.Tests
"Squirrel.Core.1.3.0.0-full.nupkg",
}.ForEach(x => File.Copy(IntegrationTestHelper.GetPath("fixtures", x), Path.Combine(packagesDir, x)));
- var fixture = new UpdateManager("http://lol", "theApp", FrameworkVersion.Net40, tempDir, new FakeUrlDownloader());
+ var fixture = new UpdateManager.ApplyReleasesImpl(tempDir);
var baseEntry = ReleaseEntry.GenerateFromFile(Path.Combine(packagesDir, "Squirrel.Core.1.1.0.0-full.nupkg"));
var latestFullEntry = ReleaseEntry.GenerateFromFile(Path.Combine(packagesDir, "Squirrel.Core.1.3.0.0-full.nupkg"));
@@ -199,15 +195,13 @@ namespace Squirrel.Tests
var updateInfo = UpdateInfo.Create(baseEntry, new[] { latestFullEntry }, packagesDir, FrameworkVersion.Net40);
updateInfo.ReleasesToApply.Contains(latestFullEntry).ShouldBeTrue();
- using (fixture) {
- var progress = new List();
- await fixture.ApplyReleases(updateInfo, progress.Add);
- this.Log().Info("Progress: [{0}]", String.Join(",", progress));
+ var progress = new List();
+ await fixture.ApplyReleases(updateInfo, progress.Add);
+ this.Log().Info("Progress: [{0}]", String.Join(",", progress));
- progress
- .Aggregate(0, (acc, x) => { x.ShouldBeGreaterThan(acc); return x; })
- .ShouldEqual(100);
- }
+ progress
+ .Aggregate(0, (acc, x) => { x.ShouldBeGreaterThan(acc); return x; })
+ .ShouldEqual(100);
var rootDirectory = Path.Combine(tempDir, "theApp", "app-1.3.0.0");
@@ -243,7 +237,7 @@ namespace Squirrel.Tests
"Squirrel.Core.1.1.0.0-full.nupkg",
}.ForEach(x => File.Copy(IntegrationTestHelper.GetPath("fixtures", x), Path.Combine(packagesDir, x)));
- var fixture = new UpdateManager("http://lol", "theApp", FrameworkVersion.Net40, tempDir, new FakeUrlDownloader());
+ var fixture = new UpdateManager.ApplyReleasesImpl(tempDir);
var baseEntry = ReleaseEntry.GenerateFromFile(Path.Combine(packagesDir, "Squirrel.Core.1.0.0.0-full.nupkg"));
var deltaEntry = ReleaseEntry.GenerateFromFile(Path.Combine(packagesDir, "Squirrel.Core.1.1.0.0-delta.nupkg"));
@@ -252,16 +246,14 @@ namespace Squirrel.Tests
var updateInfo = UpdateInfo.Create(baseEntry, new[] { deltaEntry, latestFullEntry }, packagesDir, FrameworkVersion.Net40);
updateInfo.ReleasesToApply.Contains(deltaEntry).ShouldBeTrue();
- using (fixture) {
- var progress = new List();
+ var progress = new List();
- await fixture.ApplyReleases(updateInfo, progress.Add);
- this.Log().Info("Progress: [{0}]", String.Join(",", progress));
+ await fixture.ApplyReleases(updateInfo, progress.Add);
+ this.Log().Info("Progress: [{0}]", String.Join(",", progress));
- progress
- .Aggregate(0, (acc, x) => { x.ShouldBeGreaterThan(acc); return x; })
- .ShouldEqual(100);
- }
+ progress
+ .Aggregate(0, (acc, x) => { x.ShouldBeGreaterThan(acc); return x; })
+ .ShouldEqual(100);
var filesToFind = new[] {
new {Name = "NLog.dll", Version = new Version("2.0.0.0")},
@@ -294,17 +286,17 @@ namespace Squirrel.Tests
}.ForEach(x => File.Copy(IntegrationTestHelper.GetPath("fixtures", x), Path.Combine(tempDir, "theApp", "packages", x)));
var urlDownloader = new FakeUrlDownloader();
- using (var fixture = new UpdateManager("http://lol", "theApp", FrameworkVersion.Net40, tempDir, urlDownloader)) {
- var baseEntry = ReleaseEntry.GenerateFromFile(Path.Combine(tempDir, "theApp", "packages", "Squirrel.Core.1.0.0.0-full.nupkg"));
- var deltaEntry = ReleaseEntry.GenerateFromFile(Path.Combine(tempDir, "theApp", "packages", "Squirrel.Core.1.1.0.0-delta.nupkg"));
+ var fixture = new UpdateManager.ApplyReleasesImpl(tempDir);
- var resultObs = (Task)fixture.GetType().GetMethod("createFullPackagesFromDeltas", BindingFlags.NonPublic | BindingFlags.Instance)
- .Invoke(fixture, new object[] { new[] {deltaEntry}, baseEntry });
+ var baseEntry = ReleaseEntry.GenerateFromFile(Path.Combine(tempDir, "theApp", "packages", "Squirrel.Core.1.0.0.0-full.nupkg"));
+ var deltaEntry = ReleaseEntry.GenerateFromFile(Path.Combine(tempDir, "theApp", "packages", "Squirrel.Core.1.1.0.0-delta.nupkg"));
- var result = await resultObs;
- var zp = new ZipPackage(Path.Combine(tempDir, "theApp", "packages", result.Filename));
- zp.Version.ToString().ShouldEqual("1.1.0.0");
- }
+ var resultObs = (Task)fixture.GetType().GetMethod("createFullPackagesFromDeltas", BindingFlags.NonPublic | BindingFlags.Instance)
+ .Invoke(fixture, new object[] { new[] {deltaEntry}, baseEntry });
+
+ var result = await resultObs;
+ var zp = new ZipPackage(Path.Combine(tempDir, "theApp", "packages", result.Filename));
+ zp.Version.ToString().ShouldEqual("1.1.0.0");
}
}
}
diff --git a/test/UpdateManagerTests.cs b/test/UpdateManagerTests.cs
index 97e9034c..c08fb64b 100644
--- a/test/UpdateManagerTests.cs
+++ b/test/UpdateManagerTests.cs
@@ -27,11 +27,9 @@ namespace Squirrel.Tests
"Squirrel.Core.1.1.0.0-full.nupkg",
}.ForEach(x => File.Copy(IntegrationTestHelper.GetPath("fixtures", x), Path.Combine(tempDir, "theApp", "packages", x)));
- var fixture = new UpdateManager("http://lol", "theApp", FrameworkVersion.Net40, tempDir, new FakeUrlDownloader());
+ var fixture = new UpdateManager.ApplyReleasesImpl(tempDir);
- using (fixture) {
- await fixture.UpdateLocalReleasesFile();
- }
+ await fixture.updateLocalReleasesFile();
var releasePath = Path.Combine(packageDir.FullName, "RELEASES");
File.Exists(releasePath).ShouldBeTrue();
@@ -63,17 +61,16 @@ namespace Squirrel.Tests
File.Copy(path, Path.Combine(remotePackages, x));
});
- var fixture = new UpdateManager(remotePackages, "theApp", FrameworkVersion.Net40, tempDir, new FakeUrlDownloader());
+ var fixture = new UpdateManager.ApplyReleasesImpl(tempDir);
+
+ // sync both release files
+ await fixture.updateLocalReleasesFile();
+ ReleaseEntry.BuildReleasesFile(remotePackages);
+ // check for an update
UpdateInfo updateInfo;
- using (fixture)
- {
- // sync both release files
- await fixture.UpdateLocalReleasesFile();
- ReleaseEntry.BuildReleasesFile(remotePackages);
-
- // check for an update
- updateInfo = await fixture.CheckForUpdate();
+ using (var mgr = new UpdateManager(remotePackages, "theApp", FrameworkVersion.Net40, tempDir, new FakeUrlDownloader())) {
+ updateInfo = await mgr.CheckForUpdate();
}
Assert.NotNull(updateInfo);
@@ -111,17 +108,15 @@ namespace Squirrel.Tests
File.Copy(path, Path.Combine(remotePackages, x));
});
- var fixture = new UpdateManager(remotePackages, "theApp", FrameworkVersion.Net40, tempDir, new FakeUrlDownloader());
+ var fixture = new UpdateManager.ApplyReleasesImpl(tempDir);
+
+ // sync both release files
+ await fixture.updateLocalReleasesFile();
+ ReleaseEntry.BuildReleasesFile(remotePackages);
UpdateInfo updateInfo;
- using (fixture)
- {
- // sync both release files
- await fixture.UpdateLocalReleasesFile();
- ReleaseEntry.BuildReleasesFile(remotePackages);
-
- // check for an update
- updateInfo = await fixture.CheckForUpdate();
+ using (var mgr = new UpdateManager(remotePackages, "theApp", FrameworkVersion.Net40, tempDir, new FakeUrlDownloader())) {
+ updateInfo = await mgr.CheckForUpdate();
}
Assert.NotNull(updateInfo);
@@ -154,25 +149,21 @@ namespace Squirrel.Tests
File.Copy(path, Path.Combine(remotePackages, x));
});
- var fixture = new UpdateManager(remotePackages, "theApp", FrameworkVersion.Net40, tempDir, new FakeUrlDownloader());
+ var fixture = new UpdateManager.ApplyReleasesImpl(tempDir);
- UpdateInfo updateInfo;
- using (fixture)
- {
- // sync both release files
- await fixture.UpdateLocalReleasesFile();
- ReleaseEntry.BuildReleasesFile(remotePackages);
-
- updateInfo = await fixture.CheckForUpdate();
+ // sync both release files
+ await fixture.updateLocalReleasesFile();
+ ReleaseEntry.BuildReleasesFile(remotePackages);
+ using (var mgr = new UpdateManager(remotePackages, "theApp", FrameworkVersion.Net40, tempDir, new FakeUrlDownloader())) {
+ UpdateInfo updateInfo;
+ updateInfo = await mgr.CheckForUpdate();
Assert.True(updateInfo.ReleasesToApply.First().IsDelta);
- updateInfo = await fixture.CheckForUpdate(ignoreDeltaUpdates: true);
-
+ updateInfo = await mgr.CheckForUpdate(ignoreDeltaUpdates: true);
Assert.False(updateInfo.ReleasesToApply.First().IsDelta);
}
}
-
}
[Fact]
@@ -220,11 +211,8 @@ namespace Squirrel.Tests
public async Task WhenUrlResultsInWebExceptionReturnNull()
{
// This should result in a WebException (which gets caught) unless you can actually access http://lol
-
var fixture = new UpdateManager("http://lol", "theApp", FrameworkVersion.Net45);
-
var updateInfo = await fixture.CheckForUpdate();
-
Assert.Null(updateInfo);
}
}