public void ReturnsNull_WhenNoInstalledDependencySnapshotsFound()
        {
            _mockStorage.Setup(_ => _.GetInstalledSnapshots()).Returns(new string[0]);

            var installedDependenciesLocator = new InstalledDependenciesLocator(_mockStorage.Object);
            var result = installedDependenciesLocator.GetPathWithAcceptableDependencyVersionsInstalled();

            Assert.Null(result);
        }
        public void ReturnsLatestSnapshotPath_WhenSnapshotWithEquivalentDependencyManifestInstalled()
        {
            // Even though multiple snapshots can be currently installed, only the latest one will be considered
            // (determined by name).
            _mockStorage.Setup(_ => _.GetLatestInstalledSnapshot()).Returns("snapshot");
            _mockStorage.Setup(_ => _.IsEquivalentDependencyManifest("snapshot")).Returns(true);

            var installedDependenciesLocator = new InstalledDependenciesLocator(_mockStorage.Object, _mockLogger.Object);
            var result = installedDependenciesLocator.GetPathWithAcceptableDependencyVersionsInstalled();

            Assert.Equal("snapshot", result);
        }
        public void ReturnsLatestSnapshotPath_WhenAllDependenciesHaveAcceptableVersionInstalled()
        {
            // Even though multiple snapshots can be currently installed, only the latest one will be considered
            // (determined by name).
            _mockStorage.Setup(_ => _.GetLatestInstalledSnapshot()).Returns("snapshot");
            _mockStorage.Setup(_ => _.IsEquivalentDependencyManifest("snapshot")).Returns(false);
            _mockStorage.Setup(_ => _.GetDependencies()).Returns(_dependencyManifestEntries);
            _mockStorage.Setup(_ => _.IsModuleVersionInstalled("snapshot", "A", "exact version of A")).Returns(true);
            _mockStorage.Setup(_ => _.GetInstalledModuleVersions("snapshot", "B", "major version of B")).Returns(new [] { "exact version of B" });

            var installedDependenciesLocator = new InstalledDependenciesLocator(_mockStorage.Object, _mockLogger.Object);
            var result = installedDependenciesLocator.GetPathWithAcceptableDependencyVersionsInstalled();

            Assert.Equal("snapshot", result);
        }
        public void ReturnsNull_WhenExactModuleVersionIsNotInstalled()
        {
            // Even though multiple snapshots can be currently installed, only the latest one will be considered
            // (determined by name).
            _mockStorage.Setup(_ => _.GetInstalledSnapshots()).Returns(new[] { "s1", "s3", "s2" });

            _mockStorage.Setup(_ => _.GetDependencies()).Returns(_dependencyManifestEntries);

            // The specified module A version is not installed
            _mockStorage.Setup(_ => _.IsModuleVersionInstalled("s3", "A", "exact version of A")).Returns(false);
            _mockStorage.Setup(_ => _.GetInstalledModuleVersions("s3", "B", "major version of B")).Returns(new [] { "exact version of B" });

            var installedDependenciesLocator = new InstalledDependenciesLocator(_mockStorage.Object);
            var result = installedDependenciesLocator.GetPathWithAcceptableDependencyVersionsInstalled();

            Assert.Null(result);
        }
Beispiel #5
0
        public void ReturnsNull_WhenNoMajorVersionInstalled()
        {
            // Even though multiple snapshots can be currently installed, only the latest one will be considered
            // (determined by name).
            _mockStorage.Setup(_ => _.GetLatestInstalledSnapshot()).Returns("snapshot");

            _mockStorage.Setup(_ => _.GetDependencies()).Returns(_dependencyManifestEntries);

            // No version for module B detected!
            _mockStorage.Setup(_ => _.IsModuleVersionInstalled("snapshot", "A", "exact version of A")).Returns(true);
            _mockStorage.Setup(_ => _.GetInstalledModuleVersions("snapshot", "B", "major version of B")).Returns(new string[0]);

            var installedDependenciesLocator = new InstalledDependenciesLocator(_mockStorage.Object);
            var result = installedDependenciesLocator.GetPathWithAcceptableDependencyVersionsInstalled();

            Assert.Null(result);
        }
        public void ReturnsLatestSnapshotPath_WhenPreviewVersionInstalled(string postfix)
        {
            var baseVersion = "4.0.2";
            var fullVersion = baseVersion + postfix;

            DependencyManifestEntry[] dependencyManifestEntries =
            {
                new DependencyManifestEntry("A", VersionSpecificationType.ExactVersion, fullVersion)
            };

            _mockStorage.Setup(_ => _.GetLatestInstalledSnapshot()).Returns("snapshot");
            _mockStorage.Setup(_ => _.IsEquivalentDependencyManifest("snapshot")).Returns(false);
            _mockStorage.Setup(_ => _.GetDependencies()).Returns(dependencyManifestEntries);

            // No exact match...
            _mockStorage.Setup(_ => _.IsModuleVersionInstalled("snapshot", "A", fullVersion)).Returns(false);
            // ...but the base version is here
            _mockStorage.Setup(_ => _.IsModuleVersionInstalled("snapshot", "A", baseVersion)).Returns(true);

            var installedDependenciesLocator = new InstalledDependenciesLocator(_mockStorage.Object, _mockLogger.Object);
            var result = installedDependenciesLocator.GetPathWithAcceptableDependencyVersionsInstalled();

            Assert.Equal("snapshot", result);
        }