/src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackageManager.cs

https://github.com/ajadex/SharpDevelop · C# · 235 lines · 174 code · 44 blank · 17 comment · 0 complexity · edd401b039058b8a8ef604db5ca30bdc MD5 · raw file

  1. // Copyright (c) 2014 AlphaSierraPapa for the SharpDevelop Team
  2. //
  3. // Permission is hereby granted, free of charge, to any person obtaining a copy of this
  4. // software and associated documentation files (the "Software"), to deal in the Software
  5. // without restriction, including without limitation the rights to use, copy, modify, merge,
  6. // publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
  7. // to whom the Software is furnished to do so, subject to the following conditions:
  8. //
  9. // The above copyright notice and this permission notice shall be included in all copies or
  10. // substantial portions of the Software.
  11. //
  12. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
  13. // INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
  14. // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
  15. // FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  16. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  17. // DEALINGS IN THE SOFTWARE.
  18. using System;
  19. using System.Collections.Generic;
  20. using System.Linq;
  21. using ICSharpCode.PackageManagement;
  22. using NuGet;
  23. namespace ICSharpCode.PackageManagement.Design
  24. {
  25. public class FakePackageManager : ISharpDevelopPackageManager
  26. {
  27. public FakeProjectManager FakeProjectManager = new FakeProjectManager();
  28. public FakePackageManagementProjectService FakeProjectService = new FakePackageManagementProjectService();
  29. public bool IsRefreshProjectBrowserCalledWhenInstallPackageCalled;
  30. public bool IsRefreshProjectBrowserCalledWhenUninstallPackageCalled;
  31. public IPackage PackagePassedToInstallPackage;
  32. public bool IgnoreDependenciesPassedToInstallPackage;
  33. public bool AllowPrereleaseVersionsPassedToInstallPackage;
  34. public IPackage PackagePassedToUninstallPackage;
  35. public UpdatePackagesAction UpdatePackagesActionsPassedToUpdatePackages;
  36. #pragma warning disable 67
  37. public event EventHandler<PackageOperationEventArgs> PackageInstalled;
  38. public event EventHandler<PackageOperationEventArgs> PackageInstalling;
  39. public event EventHandler<PackageOperationEventArgs> PackageUninstalled;
  40. public event EventHandler<PackageOperationEventArgs> PackageUninstalling;
  41. #pragma warning restore 67
  42. public IFileSystem FileSystem {
  43. get { return FakeFileSystem; }
  44. set { FakeFileSystem = value as FakeFileSystem; }
  45. }
  46. public FakeFileSystem FakeFileSystem = new FakeFileSystem();
  47. public IPackageRepository LocalRepository { get; set; }
  48. public ILogger Logger { get; set; }
  49. public IPackageRepository SourceRepository { get; set; }
  50. public ISharpDevelopProjectManager ProjectManager { get; set; }
  51. public FakePackageRepository FakeSourceRepository = new FakePackageRepository();
  52. public FakePackageManager()
  53. {
  54. ProjectManager = FakeProjectManager;
  55. SourceRepository = FakeSourceRepository;
  56. }
  57. public bool ForceRemovePassedToUninstallPackage;
  58. public bool RemoveDependenciesPassedToUninstallPackage;
  59. public void UninstallPackage(IPackage package, UninstallPackageAction uninstallAction)
  60. {
  61. PackagePassedToUninstallPackage = package;
  62. ForceRemovePassedToUninstallPackage = uninstallAction.ForceRemove;
  63. RemoveDependenciesPassedToUninstallPackage = uninstallAction.RemoveDependencies;
  64. IsRefreshProjectBrowserCalledWhenUninstallPackageCalled = FakeProjectService.IsRefreshProjectBrowserCalled;
  65. }
  66. public void UninstallPackage(IPackage package, bool forceRemove, bool removeDependencies)
  67. {
  68. throw new NotImplementedException();
  69. }
  70. public IEnumerable<PackageOperation> PackageOperationsPassedToInstallPackage;
  71. public void InstallPackage(IPackage package, InstallPackageAction installAction)
  72. {
  73. PackagePassedToInstallPackage = package;
  74. IgnoreDependenciesPassedToInstallPackage = installAction.IgnoreDependencies;
  75. PackageOperationsPassedToInstallPackage = installAction.Operations;
  76. AllowPrereleaseVersionsPassedToInstallPackage = installAction.AllowPrereleaseVersions;
  77. IsRefreshProjectBrowserCalledWhenInstallPackageCalled = FakeProjectService.IsRefreshProjectBrowserCalled;
  78. }
  79. public List<PackageOperation> PackageOperationsToReturnFromGetInstallPackageOperations = new List<PackageOperation>();
  80. public IPackage PackagePassedToGetInstallPackageOperations;
  81. public bool IgnoreDependenciesPassedToGetInstallPackageOperations;
  82. public bool AllowPrereleaseVersionsPassedToGetInstallPackageOperations;
  83. public IEnumerable<PackageOperation> GetInstallPackageOperations(IPackage package, InstallPackageAction installAction)
  84. {
  85. PackagePassedToGetInstallPackageOperations = package;
  86. IgnoreDependenciesPassedToGetInstallPackageOperations = installAction.IgnoreDependencies;
  87. AllowPrereleaseVersionsPassedToGetInstallPackageOperations = installAction.AllowPrereleaseVersions;
  88. return PackageOperationsToReturnFromGetInstallPackageOperations;
  89. }
  90. public IPackage PackagePassedToUpdatePackage;
  91. public IEnumerable<PackageOperation> PackageOperationsPassedToUpdatePackage;
  92. public bool UpdateDependenciesPassedToUpdatePackage;
  93. public void UpdatePackage(IPackage package, UpdatePackageAction updateAction)
  94. {
  95. PackagePassedToUpdatePackage = package;
  96. PackageOperationsPassedToUpdatePackage = updateAction.Operations;
  97. UpdateDependenciesPassedToUpdatePackage = updateAction.UpdateDependencies;
  98. AllowPrereleaseVersionsPassedToInstallPackage = updateAction.AllowPrereleaseVersions;
  99. }
  100. public void FirePackageInstalled(PackageOperationEventArgs e)
  101. {
  102. PackageInstalled(this, e);
  103. }
  104. public void FirePackageUninstalled(PackageOperationEventArgs e)
  105. {
  106. PackageUninstalled(this, e);
  107. }
  108. public IPackagePathResolver PathResolver {
  109. get {
  110. throw new NotImplementedException();
  111. }
  112. }
  113. public void UpdatePackage(IPackage newPackage, bool updateDependencies)
  114. {
  115. throw new NotImplementedException();
  116. }
  117. public void UpdatePackage(string packageId, IVersionSpec versionSpec, bool updateDependencies)
  118. {
  119. throw new NotImplementedException();
  120. }
  121. public void InstallPackage(IPackage package, bool ignoreDependencies, bool allowPrereleaseVersions)
  122. {
  123. throw new NotImplementedException();
  124. }
  125. public void InstallPackage(string packageId, SemanticVersion version, bool ignoreDependencies, bool allowPrereleaseVersions)
  126. {
  127. throw new NotImplementedException();
  128. }
  129. public void UpdatePackage(IPackage newPackage, bool updateDependencies, bool allowPrereleaseVersions)
  130. {
  131. throw new NotImplementedException();
  132. }
  133. public void UpdatePackage(string packageId, SemanticVersion version, bool updateDependencies, bool allowPrereleaseVersions)
  134. {
  135. throw new NotImplementedException();
  136. }
  137. public void UpdatePackage(string packageId, IVersionSpec versionSpec, bool updateDependencies, bool allowPrereleaseVersions)
  138. {
  139. throw new NotImplementedException();
  140. }
  141. public void UninstallPackage(string packageId, SemanticVersion version, bool forceRemove, bool removeDependencies)
  142. {
  143. throw new NotImplementedException();
  144. }
  145. public void UpdatePackages(UpdatePackagesAction updateAction)
  146. {
  147. UpdatePackagesActionsPassedToUpdatePackages = updateAction;
  148. }
  149. public List<PackageOperation> PackageOperationsToReturnFromGetUpdatePackageOperations = new List<PackageOperation>();
  150. public IUpdatePackageSettings SettingsPassedToGetUpdatePackageOperations;
  151. public IEnumerable<IPackage> PackagesPassedToGetUpdatePackageOperations;
  152. public IEnumerable<PackageOperation> GetUpdatePackageOperations(IEnumerable<IPackage> packages, IUpdatePackageSettings settings)
  153. {
  154. SettingsPassedToGetUpdatePackageOperations = settings;
  155. PackagesPassedToGetUpdatePackageOperations = packages;
  156. return PackageOperationsToReturnFromGetUpdatePackageOperations;
  157. }
  158. public List<PackageOperation> PackageOperationsPassedToRunPackageOperations;
  159. public void RunPackageOperations(IEnumerable<PackageOperation> operations)
  160. {
  161. PackageOperationsPassedToRunPackageOperations = operations.ToList();
  162. }
  163. public IPackage PackagePassedToUpdatePackageReference;
  164. public IUpdatePackageSettings SettingsPassedToUpdatePackageReference;
  165. public void UpdatePackageReference(IPackage package, IUpdatePackageSettings settings)
  166. {
  167. PackagePassedToUpdatePackageReference = package;
  168. SettingsPassedToUpdatePackageReference = settings;
  169. }
  170. public void InstallPackage(IPackage package, bool ignoreDependencies, bool allowPrereleaseVersions, bool ignoreWalkInfo)
  171. {
  172. throw new NotImplementedException();
  173. }
  174. public DependencyVersion DependencyVersion {
  175. get {
  176. throw new NotImplementedException();
  177. }
  178. set {
  179. throw new NotImplementedException();
  180. }
  181. }
  182. public bool WhatIf {
  183. get {
  184. throw new NotImplementedException();
  185. }
  186. set {
  187. throw new NotImplementedException();
  188. }
  189. }
  190. }
  191. }