Ejemplo n.º 1
0
        public void TestFindPackagePipeProvider()
        {
            var ps = NewPowerShellSession;

            DynamicPowershellResult result = ps.GetPackageProvider(Name: "Nuget", IsTesting: true);

            result.WaitForCompletion();
            DynamicPowershellResult result2 = ps.FindPackage(result, Name: "adept.nugetrunner", IsTesting: true);

            result.WaitForCompletion();
            Assert.False(result2.IsFailing, "Failed to pipe provider to Find Package.");
        }
Ejemplo n.º 2
0
        public void TestFindPackageLongName()
        {
            var ps = NewPowerShellSession;

            DynamicPowershellResult result = ps.FindPackage(Provider: "Nuget", Name: LongName, IsTesting: true);

            result.WaitForCompletion();
            Assert.True(result.IsFailing, "Found an invalid name.");
        }
Ejemplo n.º 3
0
        public void TestFindPackageAllVersionFail()
        {
            var ps = NewPowerShellSession;

            DynamicPowershellResult result = ps.FindPackage(Provider: "Nuget", Name: "Nuget", Version: "1.0", MaximumVersion: "1.5", AllVersion: "2.0", IsTesting: true);

            result.WaitForCompletion();
            Assert.True(result.IsFailing, "Managed to find package with invalid AllVersion parameter.");
        }
Ejemplo n.º 4
0
        public void TestFindPackageNegReqVersion()
        {
            var ps = NewPowerShellSession;

            DynamicPowershellResult result = ps.FindPackage(Provider: "Nuget", Name: "Nuget", RequiredVersion: "-1.5", IsTesting: true);

            result.WaitForCompletion();
            Assert.True(result.IsFailing, "Managed to find package with negative RequiredVersion.");
        }
Ejemplo n.º 5
0
        public void TestFindPackageReqVersion()
        {
            var ps = NewPowerShellSession;

            DynamicPowershellResult result = ps.FindPackage(Provider: "Nuget", Name: "Nuget", RequiredVersion: "1.5", IsTesting: true);

            result.WaitForCompletion();
            Assert.False(result.IsFailing, "Failed to find package with RequiredVersion parameter.");
        }
Ejemplo n.º 6
0
        public void TestFindPackage()
        {
            var ps = NewPowerShellSession;

            DynamicPowershellResult result = ps.FindPackage(Provider: "Nuget", IsTesting: true);

            result.WaitForCompletion();
            Assert.False(result.IsFailing, "Failed to find package with nuget provider.");
        }
Ejemplo n.º 7
0
        public void TestFindPackageEmptyStringName()
        {
            var ps = NewPowerShellSession;

            DynamicPowershellResult result = ps.FindPackage(Provider: "Nuget", Name: "", IsTesting: true);

            result.WaitForCompletion();
            Assert.False(result.IsFailing);
        }
Ejemplo n.º 8
0
        public void TestGetPackageProvider()
        {
            var ps = NewPowerShellSession;

            DynamicPowershellResult result = ps.GetPackageProvider(IsTesting: true);

            result.WaitForCompletion();
            Assert.False(result.IsFailing, "Failed to get package provider.");
        }
Ejemplo n.º 9
0
        public void TestSavePackageInvalidDestination()
        {
            var ps = NewPowerShellSession;

            DynamicPowershellResult result = ps.SavePackage(Provider: "Nuget", Name: "Adept.Nugetrunner", Destination: "c:\\failLocation", IsTesting: true);

            result.WaitForCompletion();
            Assert.True(result.IsFailing); //TODO
        }
Ejemplo n.º 10
0
        //TODO
        //Has warning, not error, impossible to check at the moment. [BUG]
        public void TestFindPackageInvalidProvider()
        {
            var ps = NewPowerShellSession;

            DynamicPowershellResult result = ps.FindPackage(Provider: "1THIS_3SHOULD_5NEVER_7BE_9FOUND_11EVER", IsTesting: true);

            result.WaitForCompletion();
            Assert.True(result.Success, "Found package with invalid name.");
        }
Ejemplo n.º 11
0
        public void TestSavePackageNegMinVersion()
        {
            var ps = NewPowerShellSession;

            Directory.CreateDirectory(TempFolder);
            DynamicPowershellResult result = ps.SavePackage(Provider: "Nuget", Name: "Adept.NugetRunner", Destination: TempFolder, Version: "-1.0.0.2", IsTesting: true);

            result.WaitForCompletion();
            Assert.True(result.IsFailing, "Managed to save package with invalid MinimumVersion parameter.");
            Directory.Delete(TempFolder, true);
        }
Ejemplo n.º 12
0
        public void TestSavePackageLongName()
        {
            var ps = NewPowerShellSession;

            Directory.CreateDirectory(TempFolder);
            DynamicPowershellResult result = ps.SavePackage(Provider: "Nuget", Name: LongName, Destination: TempFolder, IsTesting: true);

            result.WaitForCompletion();
            Assert.True(result.IsFailing);
            Directory.Delete(TempFolder, true);
        }
Ejemplo n.º 13
0
        public void TestGetPackageNegReqVersion()
        {
            var ps = NewPowerShellSession;

            Directory.CreateDirectory(TempFolder);
            DynamicPowershellResult result = ps.GetPackage(Provider: "Nuget", Name: "adept.nugetrunner", RequiredVersion: "-1.0", Force: true, Destination: TempFolder, IsTesting: true);

            result.WaitForCompletion();
            Assert.True(result.IsFailing);
            Directory.Delete(TempFolder, true);
        }
Ejemplo n.º 14
0
        public void TestSavePackageDestination()
        {
            var ps = NewPowerShellSession;

            Directory.CreateDirectory(TempFolder);
            DynamicPowershellResult result = ps.SavePackage(Provider: "Nuget", Name: "Adept.NugetRunner", Destination: TempFolder, IsTesting: true);

            result.WaitForCompletion();
            Assert.False(File.Exists("C:\\tempTestDirectoryZXY\\Adept.NuGetRunner.1.0.nupkg"), "Failed to save package in destination.");
            Directory.Delete(TempFolder, true);
        }
Ejemplo n.º 15
0
        //[Fact]
        public void TestGetPackageNullName()
        {
            var ps = NewPowerShellSession;

            Directory.CreateDirectory(TempFolder);
            DynamicPowershellResult result2 = ps.GetPackage(Provider: "Nuget", Name: null, Force: true, Destination: TempFolder, IsTesting: true);

            result2.WaitForCompletion();
            Assert.True(result2.IsFailing);
            Directory.Delete(TempFolder, true);
        }
Ejemplo n.º 16
0
        public void TestSavePackageReqVersion()
        {
            var ps = NewPowerShellSession;

            Directory.CreateDirectory(TempFolder);
            DynamicPowershellResult result = ps.SavePackage(Provider: "Nuget", Name: "Adept.NugetRunner", Destination: TempFolder, RequiredVersion: "1.0", IsTesting: true);

            result.WaitForCompletion();
            Assert.True(File.Exists("C:\\tempTestDirectoryZXY\\Adept.NuGetRunner.1.0.nupkg"), "Save failed, package with RequiredVersion parameter not found.");
            Directory.Delete(TempFolder, true);
        }
Ejemplo n.º 17
0
        public void TestInstallPackageBigMinVersion()
        {
            var ps = NewPowerShellSession;

            Directory.CreateDirectory(TempFolder);
            DynamicPowershellResult result = ps.InstallPackage(Provider: "Nuget", Name: "Adept.Nugetrunner", MinimumVersion: "999", Force: true, Destination: TempFolder, IsTesting: true);

            result.WaitForCompletion();
            Assert.True(result.IsFailing);

            Directory.Delete(TempFolder, true);
        }
Ejemplo n.º 18
0
        // [Fact] //TODO : HOW TO INSERT NULL AND MAKE IT WORK
        public void TestInstallPackageNullReqVersion()
        {
            var ps = NewPowerShellSession;

            Directory.CreateDirectory(TempFolder);
            DynamicPowershellResult result = ps.InstallPackage(Provider: "Nuget", Name: "Adept.Nugetrunner", RequiredVersion: null, Force: true, Destination: TempFolder, IsTesting: true);

            result.WaitForCompletion();
            Assert.False(result.Success);

            Directory.Delete(TempFolder, true);
        }
Ejemplo n.º 19
0
        public void TestUnregisterPackageSource()
        {
            var ps = NewPowerShellSession;

            DynamicPowershellResult result = ps.RegisterPackageSource(Name: "nugettest.org", Provider: "nuget", Location: "https://www.nuget.org/api/v2/", IsTesting: true);

            result.WaitForCompletion();
            DynamicPowershellResult result2 = ps.UnregisterPackageSource(Name: "nugettest.org", Provider: "Nuget", Location: "https://www.nuget.org/api/v2/", IsTesting: true);

            result2.WaitForCompletion();
            Assert.False(result2.IsFailing);
        }
Ejemplo n.º 20
0
        public void TestGetPackageProviderName()
        {
            var ps = NewPowerShellSession;

            DynamicPowershellResult result = ps.GetPackageProvider(Name: "NuGet", ForceBootstrap: true, Force: true, IsTesting: true);

            result.WaitForCompletion();
            Assert.False(result.IsFailing, "Failed to get package provider.");

            var items = result.ToArray();

            Assert.Equal(1, items.Length);
        }
Ejemplo n.º 21
0
        public void TestSavePackagePipeName()
        {
            var ps = NewPowerShellSession;

            Directory.CreateDirectory(TempFolder);
            DynamicPowershellResult result = ps.FindPackage(Name: "adept.Nuget", IsTesting: true);

            result.WaitForCompletion();
            DynamicPowershellResult result2 = ps.SavePackage(result, Provider: "nuget", Destination: TempFolder, IsTesting: true);

            result2.WaitForCompletion();
            Assert.True(File.Exists("C:\\tempTestDirectoryZXY\\Adept.NuGetRunner.1.0.0.2.nupkg"), "Save failed, package not found.");
            Directory.Delete(TempFolder, true);
        }
Ejemplo n.º 22
0
        public void TestUninstallPackageMaxVersion()
        {
            var ps = NewPowerShellSession;

            Directory.CreateDirectory(TempFolder);
            DynamicPowershellResult result = ps.InstallPackage(Provider: "Nuget", Name: "Adept.Nugetrunner", MaximumVersion: "1.0", Destination: TempFolder, Force: true, IsTesting: true);

            result.WaitForCompletion();
            DynamicPowershellResult result2 = ps.UninstallPackage(Provider: "Nuget", Name: "Adept.Nugetrunner", MaximumVersion: "1.0", Destination: TempFolder, Force: true, IsTesting: true);

            result2.WaitForCompletion();
            Assert.False(result2.IsFailing);
            Directory.Delete(TempFolder, true);
        }
Ejemplo n.º 23
0
        public void TestGetPackageReqVersion()
        {
            var ps = NewPowerShellSession;

            Directory.CreateDirectory(TempFolder);
            DynamicPowershellResult result = ps.InstallPackage(Provider: "nuget", Name: "Adept.Nugetrunner", RequiredVersion: "1.0", Force: true, Destination: TempFolder, IsTesting: true);

            result.WaitForCompletion();
            DynamicPowershellResult result2 = ps.GetPackage(Provider: "Nuget", Name: "Adept.Nugetrunner", RequiredVersion: "1.0", Force: true, Destination: TempFolder, IsTesting: true);

            result2.WaitForCompletion();
            Assert.False(result2.IsFailing, "failed to get package with required version parameter.");
            Directory.Delete(TempFolder, true);
        }
Ejemplo n.º 24
0
        public void TestInstallPackagePipeName()
        {
            var ps = NewPowerShellSession;

            Directory.CreateDirectory(TempFolder);
            DynamicPowershellResult result = ps.FindPackage(Name: "adept.nugetrunner", Provider: "Nuget", IsTesting: true);

            result.WaitForCompletion();
            DynamicPowershellResult result2 = ps.InstallPackage(result, Destination: TempFolder, Force: true, IsTesting: true);

            result2.WaitForCompletion();
            Assert.False(result2.IsFailing);

            Directory.Delete(TempFolder, true);
        }
Ejemplo n.º 25
0
        public void TestPerformanceFindPackageRepositoryPsGallery()
        {
            dynamic ps = NewPowerShellSession;

            var watch = new Stopwatch();
            DynamicPowershellResult warmup = ps.FindModule(Repository: "PSGallery", Name: "AppDomainConfig");

            warmup.WaitForCompletion();
            watch.Start();
            DynamicPowershellResult result = ps.FindModule(Repository: "PSGallery", Name: "AppDomainConfig");

            result.WaitForCompletion();
            watch.Stop();
            Console.WriteLine(@"Time elapsed: {0}", watch.Elapsed);
            Assert.False(result.ContainsErrors);
        }
Ejemplo n.º 26
0
        public void TestPerformanceFindPackageSelectObjectRepositoryPsGalleryPipe()
        {
            dynamic ps = NewPowerShellSession;

            var watch = new Stopwatch();
            DynamicPowershellResult warmup = ps.FindModule(Repository: "PSGallery", IsTesting: true);

            warmup.WaitForCompletion();
            watch.Start();
            DynamicPowershellResult result = ps.FindModule(Repository: "PSGallery", IsTesting: true);

            result.WaitForCompletion();
            DynamicPowershellResult result2 = ps.SelectObject(result, First: "1");

            result2.WaitForCompletion();
            watch.Stop();
            Console.WriteLine(@"Time elapsed: {0}", watch.Elapsed);
            Assert.False(result2.ContainsErrors);
        }
Ejemplo n.º 27
0
        internal IEnumerable <string> ScanForModules(Request request)
        {
            // two places we search for modules
            // 1. in this assembly's folder, look for all psd1 and psm1 files.
            //
            // 2. modules in the PSMODULEPATH
            //
            // Import each one of those, and check to see if they have a OneGet.Providers section in their private data

            using (dynamic ps = new DynamicPowershell()) {
                if (BaseFolder != null)
                {
                    var files = Directory.EnumerateFiles(BaseFolder, "*.psd1", SearchOption.AllDirectories);

                    // load the powershell functions into this runspace in case something needed it on module load.
                    var psf = ps.ImportModule(Name: PowerShellProviderFunctions, PassThru: true);

#if DEBUG
                    var testProviders = Directory.EnumerateFiles(BaseFolder, "*.psm1", SearchOption.AllDirectories);
                    foreach (var provider in testProviders)
                    {
                        yield return(provider);
                    }
#endif

                    foreach (var each in files)
                    {
                        DynamicPowershellResult items = ps.ImportModule(Name: each, PassThru: true);
                        items.WaitForCompletion();
                        var errors = items.Errors.ToArray();

                        if (errors.Any())
                        {
                            request.Debug("\r\n\r\n==================================================================================\r\n===In Module '{0}'", each);

                            foreach (var error in errors)
                            {
                                try {
                                    switch (error.CategoryInfo.Category)
                                    {
                                    case System.Management.Automation.ErrorCategory.ResourceUnavailable:
                                        // file not found
                                        continue;

                                    default:
                                        request.Debug("  PowerShell {0} {1} ", error.CategoryInfo.Category, error.Exception.Message);
                                        break;
                                    }
                                } catch (Exception e) {
                                    e.Dump();
                                }
                            }
                            continue;
                        }

                        foreach (var onegetModule in items.OfType <PSModuleInfo>().SelectMany(GetOneGetModules))
                        {
                            yield return(onegetModule);
                        }
                    }
                }

                foreach (var onegetModule in ModulesFromResult((DynamicPowershellResult)ps.GetModule(ListAvailable: true)).SelectMany(GetOneGetModules))
                {
                    yield return(onegetModule);
                }
            }
        }