-
Notifications
You must be signed in to change notification settings - Fork 525
/
Copy pathPaketCoreSpecs.fs
68 lines (54 loc) · 2.61 KB
/
PaketCoreSpecs.fs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
module Paket.IntegrationTests.PaketCoreSpecs
open Fake
open System
open NUnit.Framework
open FsUnit
open System
open System.IO
open System.Diagnostics
open Paket
open FsToolkit.ErrorHandling
open Paket.Domain
let alternativeProjectRoot = None
[<Test>]
let ``#1251 full installer demo``() =
use __ = prepare "i001251-installer-demo"
let deps = """source https://nuget.org/api/v2
nuget FAKE
nuget FSharp.Formatting"""
let dependenciesFile = DependenciesFile.FromSource(scenarioTempPath "i001251-installer-demo",deps)
let force = false
let packagesToInstall =
// get from references file
[GroupName "Main",PackageName "FAKE"
GroupName "Main",PackageName "FSharp.Formatting"]
let lockFile,_,_,_ = UpdateProcess.SelectiveUpdate(dependenciesFile, alternativeProjectRoot, PackageResolver.UpdateMode.Install, SemVerUpdateMode.NoRestriction, force)
let model = Paket.InstallProcess.CreateModel(alternativeProjectRoot, Path.GetDirectoryName dependenciesFile.FileName, force, dependenciesFile, lockFile, Set.ofSeq packagesToInstall, Map.empty) |> Map.ofArray
lockFile.Groups.[Constants.MainDependencyGroup].Resolution.[PackageName "FAKE"].Version
|> shouldBeGreaterThan (SemVer.Parse "4")
[<Test>]
let ``#1251 install FSharp.Collections.ParallelSeq``() =
use __ = prepare "i001251-installer-demo"
let deps = """source https://nuget.org/api/v2
nuget FSharp.Collections.ParallelSeq"""
let dependenciesFile = DependenciesFile.FromSource(scenarioTempPath "i001251-installer-demo",deps)
let force = false
let packagesToInstall =
// get from references file
[GroupName "Main",PackageName "FSharp.Collections.ParallelSeq"]
let lockFile,_,_,_ = UpdateProcess.SelectiveUpdate(dependenciesFile, alternativeProjectRoot, PackageResolver.UpdateMode.Install, SemVerUpdateMode.NoRestriction, force)
lockFile.Groups.[Constants.MainDependencyGroup].Resolution.[PackageName "FSharp.Collections.ParallelSeq"].Version
|> shouldBeGreaterThan (SemVer.Parse "1.0.1")
[<Test>]
let ``#1259 install via script``() =
Environment.SetEnvironmentVariable ("PAKET_DISABLE_RUNTIME_RESOLUTION", "true")
use __ = prepare "i001259-install-script"
Paket.Dependencies
.Install("""
source https://nuget.org/api/v2
nuget FSharp.Data
nuget Suave
""", path = scenarioTempPath "i001259-install-script")
let lockFile = LockFile.LoadFrom(Path.Combine(scenarioTempPath "i001259-install-script","paket.lock"))
lockFile.Groups.[Constants.MainDependencyGroup].Resolution.[PackageName "Suave"].Version
|> shouldBeGreaterThan (SemVer.Parse "0.33.0")