public void ProjectGetInstalledPackages_NullProject_ThrowsArgumentNullException() { // Act VsPackageInstallerServices target = CreateTarget(); Assert.Throws <ArgumentNullException>(() => target.GetInstalledPackages(null)); }
public void IsPackageInstalledEx_InternalException_PostsFault() { // Arrange var expectedException = new ArgumentException("Internal error"); var solutionManager = new Mock <IVsSolutionManager>(); solutionManager.SetupGet(s => s.SolutionDirectory) .Throws(expectedException); var telemetryProvider = new Mock <INuGetTelemetryProvider>(); var project = new Mock <EnvDTE.Project>(); // Act VsPackageInstallerServices target = CreateTarget(vsSolutionManager: solutionManager.Object, telemetryProvider: telemetryProvider.Object); var actualException = Assert.Throws <ArgumentException>(() => target.IsPackageInstalledEx(project.Object, "packageId", "1.2.3")); // Assert // Both IsPackageInstalled and IsPackageInstalledEx use a private IsPackageInstalled overload, where the fault is reported. // The additional compexity of getting this fault to report IsPackageInstalledEx is not considered worthwhile. telemetryProvider.Verify(t => t.PostFaultAsync(expectedException, typeof(VsPackageInstallerServices).FullName, nameof(VsPackageInstallerServices.IsPackageInstalled), It.IsAny <IDictionary <string, object> >())); telemetryProvider.VerifyNoOtherCalls(); Assert.Equal(expectedException, actualException); }
void CreatePackageInstallerServices() { fakeSolution = MockRepository.GenerateStub <IPackageManagementSolution>(); installedPackages = new List <IPackage>(); fakeSolution.Stub(s => s.GetPackages()).Return(installedPackages.AsQueryable()); installerServices = new VsPackageInstallerServices(fakeSolution); }
void CreatePackageInstallerServices() { fakeSolution = MockRepository.GenerateStub<IPackageManagementSolution>(); installedPackages = new List<IPackage>(); fakeSolution.Stub(s => s.GetPackages()).Return(installedPackages.AsQueryable()); installerServices = new VsPackageInstallerServices(fakeSolution); }
public void IsPackageInstalled_NullParameters_ThrowsException() { // Arrange var project = new Mock <EnvDTE.Project>(); // Act & Assert VsPackageInstallerServices target = CreateTarget(); Assert.Throws <ArgumentException>(() => target.IsPackageInstalled(project.Object, null)); Assert.Throws <ArgumentException>(() => target.IsPackageInstalled(project.Object, string.Empty)); Assert.Throws <ArgumentNullException>(() => target.IsPackageInstalled(null, "packageId")); }
public void IsPackageInstalledEx_InvalidParameters_ThrowsException() { // Arrange var project = new Mock <EnvDTE.Project>(); var packageId = "packagId"; var version = "1.2.3"; // Act & Assert VsPackageInstallerServices target = CreateTarget(); Assert.Throws <ArgumentNullException>(() => target.IsPackageInstalledEx(null, packageId, version)); Assert.Throws <ArgumentException>(() => target.IsPackageInstalledEx(project.Object, null, version)); Assert.Throws <ArgumentException>(() => target.IsPackageInstalledEx(project.Object, packageId, string.Empty)); Assert.Throws <ArgumentException>(() => target.IsPackageInstalledEx(project.Object, packageId, "a.b.c")); }
public void IsPackageInstalled_InternalException_PostsFault() { // Arrange var expectedException = new ArgumentException("Internal error"); var solutionManager = new Mock <IVsSolutionManager>(); solutionManager.SetupGet(s => s.SolutionDirectory) .Throws(expectedException); var telemetryProvider = new Mock <INuGetTelemetryProvider>(); var project = new Mock <EnvDTE.Project>(); // Act VsPackageInstallerServices target = CreateTarget(vsSolutionManager: solutionManager.Object, telemetryProvider: telemetryProvider.Object); var actualException = Assert.Throws <ArgumentException>(() => target.IsPackageInstalled(project.Object, "packageId")); // Assert telemetryProvider.Verify(t => t.PostFaultAsync(expectedException, typeof(VsPackageInstallerServices).FullName, nameof(VsPackageInstallerServices.IsPackageInstalled), It.IsAny <IDictionary <string, object> >())); telemetryProvider.VerifyNoOtherCalls(); Assert.Equal(expectedException, actualException); }
public void ProjectGetInstalledPackages_InternalError_PostsFault() { // Arrange var expectedException = new ArgumentException("Internal bug"); var solutionManager = new Mock <IVsSolutionManager>(); var telemetryProvider = new Mock <INuGetTelemetryProvider>(); var assemblyDirectory = Path.GetDirectoryName(typeof(VsPackageInstallerServicesTests).Assembly.Location); solutionManager.SetupGet(sm => sm.SolutionDirectory) .Throws(expectedException); var project = new Mock <EnvDTE.Project>(); // Act VsPackageInstallerServices target = CreateTarget(vsSolutionManager: solutionManager.Object, telemetryProvider: telemetryProvider.Object); var actualException = Assert.Throws <ArgumentException>(() => target.GetInstalledPackages(project.Object)); // Assert telemetryProvider.Verify(t => t.PostFault(expectedException, typeof(VsPackageInstallerServices).FullName, nameof(VsPackageInstallerServices.GetInstalledPackages), It.IsAny <IDictionary <string, object> >())); Assert.Same(expectedException, actualException); }