@@ -3,21 +3,28 @@ package sdkman.specs
33import sdkman.support.SdkmanEnvSpecification
44
55class EnvCommandSpec extends SdkmanEnvSpecification {
6+ static final String CANDIDATES_API = " http://localhost:8080/2"
7+
8+ static final String BROADCAST_API_LATEST_ID_ENDPOINT = " $CANDIDATES_API /broadcast/latest/id"
9+ static final String CANDIDATES_DEFAULT_JAVA = " $CANDIDATES_API /candidates/default/java"
10+
11+ def " should generate an .sdkmanrc when called with 'init'" () {
12+ given :
13+ curlStub. primeWith(BROADCAST_API_LATEST_ID_ENDPOINT , " echo dbfb025be9f97fda2052b5febcca0155" )
14+ .primeWith(CANDIDATES_DEFAULT_JAVA , " echo 11.0.6.hs-adpt" )
615
7- def setup () {
816 bash = sdkmanBashEnvBuilder
9- .withVersionCache(" x.y.z" )
10- .withOfflineMode( true )
11- .build()
17+ .withVersionCache(" x.y.z" )
18+ .build( )
19+
1220 bash. start()
1321 bash. execute(" source $bootstrapScript " )
14- }
1522
16- def " should generate an .sdkmanrc when called with 'init'" () {
1723 when :
1824 bash. execute(" sdk env init" )
25+
1926 then :
20- new File (bash. workDir,' .sdkmanrc' ). text == " java=11.0.7 .hs-adpt\n "
27+ new File (bash. workDir, ' .sdkmanrc' ). text == " java=11.0.6 .hs-adpt\n "
2128 }
2229
2330 def " should use the candidates contained in .sdkmanrc" () {
@@ -31,8 +38,16 @@ class EnvCommandSpec extends SdkmanEnvSpecification {
3138 }
3239 }
3340
34- new File (bash. workDir, ' .sdkmanrc' ). text = sdkrc
41+ bash = sdkmanBashEnvBuilder
42+ .withVersionCache(" x.y.z" )
43+ .withOfflineMode(true )
44+ .build()
3545
46+ new File (bash. workDir, ' .sdkmanrc' ). text = sdkmanrc
47+
48+ bash. start()
49+ bash. execute(" source $bootstrapScript " )
50+
3651 when :
3752 bash. execute(" sdk env" )
3853
@@ -43,7 +58,7 @@ class EnvCommandSpec extends SdkmanEnvSpecification {
4358 }
4459
4560 where :
46- sdkrc << [
61+ sdkmanrc << [
4762 " grails=2.1.0\n groovy=2.4.1" ,
4863 " grails=2.1.0\n groovy=2.4.1\n " ,
4964 " grails=2.1.0\n groovy=2.4.1\n " ,
@@ -52,10 +67,18 @@ class EnvCommandSpec extends SdkmanEnvSpecification {
5267 ]
5368 }
5469
55- def " should issue an error if .sdkmanrc contains malformed candidate versions " () {
70+ def " should issue an error if .sdkmanrc contains a malformed candidate version " () {
5671 given :
72+ bash = sdkmanBashEnvBuilder
73+ .withVersionCache(" x.y.z" )
74+ .withOfflineMode(true )
75+ .build()
76+
5777 new File (bash. workDir, " .sdkmanrc" ). text = " groovy 2.4.1"
5878
79+ bash. start()
80+ bash. execute(" source $bootstrapScript " )
81+
5982 when :
6083 bash. execute(" sdk env" )
6184
@@ -74,7 +97,15 @@ class EnvCommandSpec extends SdkmanEnvSpecification {
7497 }
7598 }
7699
77- new File (bash. workDir, " .sdkmanrc" ). text = sdkrc
100+ bash = sdkmanBashEnvBuilder
101+ .withVersionCache(" x.y.z" )
102+ .withOfflineMode(true )
103+ .build()
104+
105+ new File (bash. workDir, " .sdkmanrc" ). text = sdkmanrc
106+
107+ bash. start()
108+ bash. execute(" source $bootstrapScript " )
78109
79110 when :
80111 bash. execute(" sdk env" )
@@ -83,7 +114,7 @@ class EnvCommandSpec extends SdkmanEnvSpecification {
83114 bash. output. contains(" Using groovy version 2.4.1 in this shell." )
84115
85116 where :
86- sdkrc << [
117+ sdkmanrc << [
87118 " \n groovy=2.4.1\n " ,
88119 " # this is a comment\n groovy=2.4.1\n " ,
89120 " groovy=2.4.1 # this is a comment too\n "
0 commit comments