Пример #1
0
        public void Detect_Throws_WhenUnsupportedVersion_IsSetInOptions()
        {
            // Arrange
            var unsupportedVersion         = "20.20.20";
            var supportedVersion           = "6.11.0";
            var nodeScriptGeneratorOptions = new NodeScriptGeneratorOptions();

            nodeScriptGeneratorOptions.NodeVersion = unsupportedVersion;
            var platform = CreateNodePlatform(
                supportedNodeVersions: new[] { supportedVersion },
                defaultVersion: supportedVersion,
                detectedVersion: supportedVersion,
                nodeScriptGeneratorOptions: nodeScriptGeneratorOptions);
            var context = CreateContext();

            // Act & Assert
            var exception = Assert.Throws <UnsupportedVersionException>(() => platform.Detect(context));

            Assert.Equal(
                $"Platform '{NodeConstants.PlatformName}' version '{unsupportedVersion}' is unsupported. " +
                $"Supported versions: {supportedVersion}",
                exception.Message);
        }
Пример #2
0
        public void Detect_ReturnsVersionFromOptions_EvenIfDetectorReturnsAVersion()
        {
            // Arrange
            var detectedVersion            = "6.11.0";
            var expectedVersionToBeUsed    = "10.14.0";
            var defaultVersion             = "8.11.2";
            var nodeScriptGeneratorOptions = new NodeScriptGeneratorOptions();

            nodeScriptGeneratorOptions.NodeVersion = expectedVersionToBeUsed;
            var platform = CreateNodePlatform(
                supportedNodeVersions: new[] { detectedVersion, defaultVersion, expectedVersionToBeUsed },
                defaultVersion: defaultVersion,
                detectedVersion: detectedVersion,
                nodeScriptGeneratorOptions: nodeScriptGeneratorOptions);
            var context = CreateContext();

            // Act
            var result = platform.Detect(context);

            // Assert
            Assert.NotNull(result);
            Assert.Equal(NodeConstants.PlatformName, result.Platform);
            Assert.Equal(expectedVersionToBeUsed, result.PlatformVersion);
        }
Пример #3
0
        private TestNodePlatform CreateNodePlatform(
            BuildScriptGeneratorOptions commonOptions,
            NodeScriptGeneratorOptions nodeScriptGeneratorOptions,
            NodePlatformInstaller platformInstaller)
        {
            var environment = new TestEnvironment();

            var versionProvider = new TestNodeVersionProvider();
            var detector        = new TestNodeLanguageDetector(
                versionProvider,
                Options.Create(nodeScriptGeneratorOptions),
                NullLogger <NodeLanguageDetector> .Instance,
                environment,
                new TestStandardOutputWriter());

            return(new TestNodePlatform(
                       Options.Create(commonOptions),
                       Options.Create(nodeScriptGeneratorOptions),
                       versionProvider,
                       NullLogger <NodePlatform> .Instance,
                       detector,
                       environment,
                       platformInstaller));
        }
Пример #4
0
        public void Detect_ReturnsResult_WithNodeVersionFromOptions_ForPackageJsonWithNoNodeVersion()
        {
            // Arrange
            var expectedVersion            = "500.500.500";
            var nodeScriptGeneratorOptions = new NodeScriptGeneratorOptions();

            nodeScriptGeneratorOptions.NodeVersion = expectedVersion;
            var detector = CreateNodePlatform(
                supportedNodeVersions: new[] { expectedVersion },
                defaultVersion: expectedVersion,
                nodeScriptGeneratorOptions: nodeScriptGeneratorOptions);
            var repo = new MemorySourceRepo();

            repo.AddFile(SamplePackageJsonContents.PackageJsonWithNoVersions, NodeConstants.PackageJsonFileName);
            var context = CreateContext(repo);

            // Act
            var result = detector.Detect(context);

            // Assert
            Assert.NotNull(result);
            Assert.Equal(NodeConstants.PlatformName, result.Platform);
            Assert.Equal(expectedVersion, result.PlatformVersion);
        }