|
|
|
@ -25,6 +25,9 @@ namespace PackageManagement.Tests
@@ -25,6 +25,9 @@ namespace PackageManagement.Tests
|
|
|
|
|
FakeProjectManager fakeProjectManager; |
|
|
|
|
FakePackageManager fakePackageManager; |
|
|
|
|
FakePackageManagementEvents fakePackageManagementEvents; |
|
|
|
|
FakeInstallPackageAction fakeInstallAction; |
|
|
|
|
FakeUninstallPackageAction fakeUninstallAction; |
|
|
|
|
FakeUpdatePackageAction fakeUpdateAction; |
|
|
|
|
|
|
|
|
|
void CreateProject() |
|
|
|
|
{ |
|
|
|
@ -42,6 +45,24 @@ namespace PackageManagement.Tests
@@ -42,6 +45,24 @@ namespace PackageManagement.Tests
|
|
|
|
|
fakePackageManagerFactory); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
FakeInstallPackageAction CreateFakeInstallAction() |
|
|
|
|
{ |
|
|
|
|
fakeInstallAction = new FakeInstallPackageAction(); |
|
|
|
|
return fakeInstallAction; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
FakeUninstallPackageAction CreateFakeUninstallAction() |
|
|
|
|
{ |
|
|
|
|
fakeUninstallAction = new FakeUninstallPackageAction(project); |
|
|
|
|
return fakeUninstallAction; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
FakeUpdatePackageAction CreateFakeUpdateAction() |
|
|
|
|
{ |
|
|
|
|
fakeUpdateAction = new FakeUpdatePackageAction(project); |
|
|
|
|
return fakeUpdateAction; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void IsInstalled_PackageIsInstalled_ReturnsTrue() |
|
|
|
|
{ |
|
|
|
@ -120,8 +141,10 @@ namespace PackageManagement.Tests
@@ -120,8 +141,10 @@ namespace PackageManagement.Tests
|
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
var package = new FakePackage(); |
|
|
|
|
CreateFakeInstallAction() |
|
|
|
|
.IgnoreDependencies = true; |
|
|
|
|
|
|
|
|
|
project.GetInstallPackageOperations(package, ignoreDependencies: true, allowPrereleaseVersions: false); |
|
|
|
|
project.GetInstallPackageOperations(package, fakeInstallAction); |
|
|
|
|
|
|
|
|
|
Assert.IsTrue(fakePackageManager.IgnoreDependenciesPassedToGetInstallPackageOperations); |
|
|
|
|
} |
|
|
|
@ -131,8 +154,10 @@ namespace PackageManagement.Tests
@@ -131,8 +154,10 @@ namespace PackageManagement.Tests
|
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
var package = new FakePackage(); |
|
|
|
|
CreateFakeInstallAction() |
|
|
|
|
.IgnoreDependencies = false; |
|
|
|
|
|
|
|
|
|
project.GetInstallPackageOperations(package, ignoreDependencies: false, allowPrereleaseVersions: false); |
|
|
|
|
project.GetInstallPackageOperations(package, fakeInstallAction); |
|
|
|
|
|
|
|
|
|
Assert.IsFalse(fakePackageManager.IgnoreDependenciesPassedToGetInstallPackageOperations); |
|
|
|
|
} |
|
|
|
@ -142,8 +167,10 @@ namespace PackageManagement.Tests
@@ -142,8 +167,10 @@ namespace PackageManagement.Tests
|
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
var expectedPackage = new FakePackage(); |
|
|
|
|
|
|
|
|
|
project.GetInstallPackageOperations(expectedPackage, true, false); |
|
|
|
|
CreateFakeInstallAction() |
|
|
|
|
.IgnoreDependencies = true; |
|
|
|
|
|
|
|
|
|
project.GetInstallPackageOperations(expectedPackage, fakeInstallAction); |
|
|
|
|
|
|
|
|
|
IPackage actualPackage = fakePackageManager.PackagePassedToGetInstallPackageOperations; |
|
|
|
|
|
|
|
|
@ -155,8 +182,10 @@ namespace PackageManagement.Tests
@@ -155,8 +182,10 @@ namespace PackageManagement.Tests
|
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
var package = new FakePackage(); |
|
|
|
|
|
|
|
|
|
IEnumerable<PackageOperation> operations = project.GetInstallPackageOperations(package, true, false); |
|
|
|
|
CreateFakeInstallAction() |
|
|
|
|
.IgnoreDependencies = true; |
|
|
|
|
|
|
|
|
|
IEnumerable<PackageOperation> operations = project.GetInstallPackageOperations(package, fakeInstallAction); |
|
|
|
|
|
|
|
|
|
IEnumerable<PackageOperation> expectedOperations = fakePackageManager.PackageOperationsToReturnFromGetInstallPackageOperations; |
|
|
|
|
|
|
|
|
@ -190,8 +219,10 @@ namespace PackageManagement.Tests
@@ -190,8 +219,10 @@ namespace PackageManagement.Tests
|
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
var package = new FakePackage(); |
|
|
|
|
CreateFakeInstallAction() |
|
|
|
|
.Package = package; |
|
|
|
|
|
|
|
|
|
project.InstallPackage(package, null, true, false); |
|
|
|
|
project.InstallPackage(package, fakeInstallAction); |
|
|
|
|
|
|
|
|
|
IPackage expectedPackage = fakePackageManager.PackagePassedToInstallPackage; |
|
|
|
|
|
|
|
|
@ -202,7 +233,9 @@ namespace PackageManagement.Tests
@@ -202,7 +233,9 @@ namespace PackageManagement.Tests
|
|
|
|
|
public void InstallPackage_IgnoreDependenciesIsTrue_DependenciesAreIgnoredWhenPackageIsInstalled() |
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
project.InstallPackage(null, null, true, false); |
|
|
|
|
CreateFakeInstallAction() |
|
|
|
|
.IgnoreDependencies = true; |
|
|
|
|
project.InstallPackage(null, fakeInstallAction); |
|
|
|
|
|
|
|
|
|
Assert.IsTrue(fakePackageManager.IgnoreDependenciesPassedToInstallPackage); |
|
|
|
|
} |
|
|
|
@ -211,7 +244,9 @@ namespace PackageManagement.Tests
@@ -211,7 +244,9 @@ namespace PackageManagement.Tests
|
|
|
|
|
public void InstallPackage_IgnoreDependenciesIsFalse_DependenciesAreNotIgnoredWhenPackageIsInstalled() |
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
project.InstallPackage(null, null, false, false); |
|
|
|
|
CreateFakeInstallAction() |
|
|
|
|
.IgnoreDependencies = false; |
|
|
|
|
project.InstallPackage(null, fakeInstallAction); |
|
|
|
|
|
|
|
|
|
Assert.IsFalse(fakePackageManager.IgnoreDependenciesPassedToInstallPackage); |
|
|
|
|
} |
|
|
|
@ -221,7 +256,9 @@ namespace PackageManagement.Tests
@@ -221,7 +256,9 @@ namespace PackageManagement.Tests
|
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
var expectedOperations = new List<PackageOperation>(); |
|
|
|
|
project.InstallPackage(null, expectedOperations, false, false); |
|
|
|
|
CreateFakeInstallAction() |
|
|
|
|
.Operations = expectedOperations; |
|
|
|
|
project.InstallPackage(null, fakeInstallAction); |
|
|
|
|
|
|
|
|
|
IEnumerable<PackageOperation> actualOperations = fakePackageManager.PackageOperationsPassedToInstallPackage; |
|
|
|
|
|
|
|
|
@ -241,9 +278,12 @@ namespace PackageManagement.Tests
@@ -241,9 +278,12 @@ namespace PackageManagement.Tests
|
|
|
|
|
public void UninstallPackage_PackagePassed_PackageUninstalled() |
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
CreateFakeUninstallAction(); |
|
|
|
|
fakeUninstallAction.ForceRemove = true; |
|
|
|
|
fakeUninstallAction.RemoveDependencies = true; |
|
|
|
|
var package = new FakePackage(); |
|
|
|
|
|
|
|
|
|
project.UninstallPackage(package, true, true); |
|
|
|
|
project.UninstallPackage(package, fakeUninstallAction); |
|
|
|
|
|
|
|
|
|
IPackage expectedPackage = fakePackageManager.PackagePassedToUninstallPackage; |
|
|
|
|
|
|
|
|
@ -254,7 +294,11 @@ namespace PackageManagement.Tests
@@ -254,7 +294,11 @@ namespace PackageManagement.Tests
|
|
|
|
|
public void UninstallPackage_ForceRemoveIsTrue_PackageUninstallIsForced() |
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
project.UninstallPackage(null, forceRemove: true, removeDependencies: false); |
|
|
|
|
CreateFakeUninstallAction(); |
|
|
|
|
fakeUninstallAction.ForceRemove = true; |
|
|
|
|
fakeUninstallAction.RemoveDependencies = false; |
|
|
|
|
|
|
|
|
|
project.UninstallPackage(null, fakeUninstallAction); |
|
|
|
|
|
|
|
|
|
Assert.IsTrue(fakePackageManager.ForceRemovePassedToUninstallPackage); |
|
|
|
|
} |
|
|
|
@ -263,7 +307,11 @@ namespace PackageManagement.Tests
@@ -263,7 +307,11 @@ namespace PackageManagement.Tests
|
|
|
|
|
public void UninstallPackage_ForceRemoveIsFalse_PackageUninstallIsNotForced() |
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
project.UninstallPackage(null, forceRemove: false, removeDependencies: true); |
|
|
|
|
CreateFakeUninstallAction(); |
|
|
|
|
fakeUninstallAction.ForceRemove = false; |
|
|
|
|
fakeUninstallAction.RemoveDependencies = true; |
|
|
|
|
|
|
|
|
|
project.UninstallPackage(null, fakeUninstallAction); |
|
|
|
|
|
|
|
|
|
Assert.IsFalse(fakePackageManager.ForceRemovePassedToUninstallPackage); |
|
|
|
|
} |
|
|
|
@ -272,7 +320,11 @@ namespace PackageManagement.Tests
@@ -272,7 +320,11 @@ namespace PackageManagement.Tests
|
|
|
|
|
public void UninstallPackage_RemoveDependenciesIsTrue_PackageDependenciesIsRemoved() |
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
project.UninstallPackage(null, forceRemove: false, removeDependencies: true); |
|
|
|
|
CreateFakeUninstallAction(); |
|
|
|
|
fakeUninstallAction.ForceRemove = false; |
|
|
|
|
fakeUninstallAction.RemoveDependencies = true; |
|
|
|
|
|
|
|
|
|
project.UninstallPackage(null, fakeUninstallAction); |
|
|
|
|
|
|
|
|
|
Assert.IsTrue(fakePackageManager.RemoveDependenciesPassedToUninstallPackage); |
|
|
|
|
} |
|
|
|
@ -281,7 +333,11 @@ namespace PackageManagement.Tests
@@ -281,7 +333,11 @@ namespace PackageManagement.Tests
|
|
|
|
|
public void UninstallPackage_RemoveDependenciesIsFalse_PackageDependenciesNotRemoved() |
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
project.UninstallPackage(null, forceRemove: true, removeDependencies: false); |
|
|
|
|
CreateFakeUninstallAction(); |
|
|
|
|
fakeUninstallAction.ForceRemove = true; |
|
|
|
|
fakeUninstallAction.RemoveDependencies = false; |
|
|
|
|
|
|
|
|
|
project.UninstallPackage(null, fakeUninstallAction); |
|
|
|
|
|
|
|
|
|
Assert.IsFalse(fakePackageManager.RemoveDependenciesPassedToUninstallPackage); |
|
|
|
|
} |
|
|
|
@ -291,8 +347,10 @@ namespace PackageManagement.Tests
@@ -291,8 +347,10 @@ namespace PackageManagement.Tests
|
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
var package = new FakePackage(); |
|
|
|
|
CreateFakeUpdateAction() |
|
|
|
|
.UpdateDependencies = true; |
|
|
|
|
|
|
|
|
|
project.UpdatePackage(package, null, true, false); |
|
|
|
|
project.UpdatePackage(package, fakeUpdateAction); |
|
|
|
|
|
|
|
|
|
IPackage expectedPackage = fakePackageManager.PackagePassedToUpdatePackage; |
|
|
|
|
|
|
|
|
@ -303,7 +361,10 @@ namespace PackageManagement.Tests
@@ -303,7 +361,10 @@ namespace PackageManagement.Tests
|
|
|
|
|
public void UpdatePackage_UpdateDependenciesIsTrue_DependenciesUpdatedWhenPackageIsUpdated() |
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
project.UpdatePackage(null, null, true, false); |
|
|
|
|
CreateFakeUpdateAction() |
|
|
|
|
.UpdateDependencies = true; |
|
|
|
|
|
|
|
|
|
project.UpdatePackage(null, fakeUpdateAction); |
|
|
|
|
|
|
|
|
|
Assert.IsTrue(fakePackageManager.UpdateDependenciesPassedToUpdatePackage); |
|
|
|
|
} |
|
|
|
@ -312,7 +373,10 @@ namespace PackageManagement.Tests
@@ -312,7 +373,10 @@ namespace PackageManagement.Tests
|
|
|
|
|
public void UpdatePackage_UpdateDependenciesIsFalse_DependenciesAreNotUpdatedWhenPackageIsUpdated() |
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
project.UpdatePackage(null, null, false, false); |
|
|
|
|
CreateFakeUpdateAction() |
|
|
|
|
.UpdateDependencies = false; |
|
|
|
|
|
|
|
|
|
project.UpdatePackage(null, fakeUpdateAction); |
|
|
|
|
|
|
|
|
|
Assert.IsFalse(fakePackageManager.UpdateDependenciesPassedToUpdatePackage); |
|
|
|
|
} |
|
|
|
@ -322,7 +386,10 @@ namespace PackageManagement.Tests
@@ -322,7 +386,10 @@ namespace PackageManagement.Tests
|
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
var expectedOperations = new List<PackageOperation>(); |
|
|
|
|
project.UpdatePackage(null, expectedOperations, false, false); |
|
|
|
|
CreateFakeUpdateAction() |
|
|
|
|
.Operations = expectedOperations; |
|
|
|
|
|
|
|
|
|
project.UpdatePackage(null, fakeUpdateAction); |
|
|
|
|
|
|
|
|
|
IEnumerable<PackageOperation> actualOperations = fakePackageManager.PackageOperationsPassedToUpdatePackage; |
|
|
|
|
|
|
|
|
@ -505,7 +572,9 @@ namespace PackageManagement.Tests
@@ -505,7 +572,9 @@ namespace PackageManagement.Tests
|
|
|
|
|
public void InstallPackage_AllowPrereleaseVersionsIsTrue_PrereleaseVersionsAreNotAllowedWhenPackageIsInstalled() |
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
project.InstallPackage(null, null, false, allowPrereleaseVersions: false); |
|
|
|
|
CreateFakeInstallAction() |
|
|
|
|
.AllowPrereleaseVersions = false; |
|
|
|
|
project.InstallPackage(null, fakeInstallAction); |
|
|
|
|
|
|
|
|
|
Assert.IsFalse(fakePackageManager.AllowPrereleaseVersionsPassedToInstallPackage); |
|
|
|
|
} |
|
|
|
@ -514,7 +583,9 @@ namespace PackageManagement.Tests
@@ -514,7 +583,9 @@ namespace PackageManagement.Tests
|
|
|
|
|
public void InstallPackage_AllowPrereleaseVersionsIsFalse_PrereleaseVersionsAreAllowedWhenPackageIsInstalled() |
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
project.InstallPackage(null, null, false, allowPrereleaseVersions: true); |
|
|
|
|
CreateFakeInstallAction() |
|
|
|
|
.AllowPrereleaseVersions = true; |
|
|
|
|
project.InstallPackage(null, fakeInstallAction); |
|
|
|
|
|
|
|
|
|
Assert.IsTrue(fakePackageManager.AllowPrereleaseVersionsPassedToInstallPackage); |
|
|
|
|
} |
|
|
|
@ -524,10 +595,12 @@ namespace PackageManagement.Tests
@@ -524,10 +595,12 @@ namespace PackageManagement.Tests
|
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
var package = new FakePackage(); |
|
|
|
|
CreateFakeInstallAction() |
|
|
|
|
.AllowPrereleaseVersions = true; |
|
|
|
|
|
|
|
|
|
project.GetInstallPackageOperations(package, false, allowPrereleaseVersions: true); |
|
|
|
|
project.GetInstallPackageOperations(package, fakeInstallAction); |
|
|
|
|
|
|
|
|
|
Assert.IsTrue(fakePackageManager.AllowPrereleaseVersionsPassedToInstallPackage); |
|
|
|
|
Assert.IsTrue(fakePackageManager.AllowPrereleaseVersionsPassedToGetInstallPackageOperations); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
@ -535,17 +608,22 @@ namespace PackageManagement.Tests
@@ -535,17 +608,22 @@ namespace PackageManagement.Tests
|
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
var package = new FakePackage(); |
|
|
|
|
CreateFakeInstallAction() |
|
|
|
|
.AllowPrereleaseVersions = false; |
|
|
|
|
|
|
|
|
|
project.GetInstallPackageOperations(package, fakeInstallAction); |
|
|
|
|
|
|
|
|
|
project.GetInstallPackageOperations(package, false, allowPrereleaseVersions: false); |
|
|
|
|
|
|
|
|
|
Assert.IsFalse(fakePackageManager.AllowPrereleaseVersionsPassedToInstallPackage); |
|
|
|
|
Assert.IsFalse(fakePackageManager.AllowPrereleaseVersionsPassedToGetInstallPackageOperations); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void UpdatePackage_AllowPrereleaseVersionsIsTrue_PrereleaseVersionsNotAllowedWhenPackageIsUpdated() |
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
project.UpdatePackage(null, null, false, allowPrereleaseVersions: true); |
|
|
|
|
CreateFakeUpdateAction() |
|
|
|
|
.AllowPrereleaseVersions = true; |
|
|
|
|
|
|
|
|
|
project.UpdatePackage(null, fakeUpdateAction); |
|
|
|
|
|
|
|
|
|
Assert.IsTrue(fakePackageManager.AllowPrereleaseVersionsPassedToInstallPackage); |
|
|
|
|
} |
|
|
|
@ -554,7 +632,10 @@ namespace PackageManagement.Tests
@@ -554,7 +632,10 @@ namespace PackageManagement.Tests
|
|
|
|
|
public void UpdatePackage_AllowPrereleaseVersionsIsFalse_PrereleaseVersionsNotAllowedWhenPackageIsUpdated() |
|
|
|
|
{ |
|
|
|
|
CreateProject(); |
|
|
|
|
project.UpdatePackage(null, null, false, allowPrereleaseVersions: false); |
|
|
|
|
CreateFakeUpdateAction() |
|
|
|
|
.AllowPrereleaseVersions = false; |
|
|
|
|
|
|
|
|
|
project.UpdatePackage(null, fakeUpdateAction); |
|
|
|
|
|
|
|
|
|
Assert.IsFalse(fakePackageManager.AllowPrereleaseVersionsPassedToInstallPackage); |
|
|
|
|
} |
|
|
|
|