@@ -31,6 +31,8 @@ import common.Wsk
3131import common .WskProps
3232import common .WskTestHelpers
3333
34+ import scala .sys .process ._
35+
3436@ RunWith (classOf [JUnitRunner ])
3537class WskSdkTests extends TestHelpers with WskTestHelpers {
3638
@@ -82,6 +84,76 @@ class WskSdkTests extends TestHelpers with WskTestHelpers {
8284 }
8385 }
8486
87+ it should " download docker sdk when blackbox.tar.gz exists, and docker name should be quoted in error." in {
88+ val fileName = " blackbox.tar.gz"
89+ val dir = File .createTempFile(" wskinstall" , " .tmp" )
90+ dir.delete()
91+ dir.mkdir() should be(true )
92+ val file = new File (dir, fileName)
93+ file.createNewFile should be (true )
94+ try {
95+ wsk.cli(wskprops.overrides ++ Seq (" sdk" , " install" , " docker" ),
96+ workingDir = dir,
97+ expectedExitCode = 1 ).stderr should include(
98+ s """ The file ' ${fileName}' already exists. Delete it and retry. """ )
99+ } finally {
100+ file.delete()
101+ FileUtils .deleteDirectory(dir)
102+ }
103+ }
104+
105+ it should " download ios sdk when OpenWhiskIOSStarterApp.zip exists, and ios name should be quoted in error." in {
106+ val fileName = " OpenWhiskIOSStarterApp.zip"
107+ val dir = File .createTempFile(" wskinstall" , " .tmp" )
108+ dir.delete()
109+ dir.mkdir() should be(true )
110+ val file = new File (dir, fileName)
111+ file.createNewFile should be (true )
112+ try {
113+ wsk.cli(wskprops.overrides ++ Seq (" sdk" , " install" , " ios" ),
114+ workingDir = dir,
115+ expectedExitCode = 1 ).stderr should include(
116+ s """ The file ' ${fileName}' already exists. Delete it and retry. """ )
117+ } finally {
118+ file.delete()
119+ FileUtils .deleteDirectory(dir)
120+ }
121+ }
122+
123+ it should " download ios sdk, check filename is quoted in error when create fails." in {
124+ val fileName = " OpenWhiskIOSStarterApp.zip"
125+ val dir = File .createTempFile(" wskinstall" , " .tmp" )
126+ dir.delete()
127+ dir.mkdir() should be(true )
128+ Seq (" chmod" , " 555" , dir.getAbsolutePath).!!
129+ try {
130+ wsk.cli(wskprops.overrides ++ Seq (" sdk" , " install" , " ios" ),
131+ workingDir = dir,
132+ expectedExitCode = 1 ).stderr should include(
133+ s """ Error creating SDK file ' ${fileName}': """ )
134+ } finally {
135+ FileUtils .deleteDirectory(dir)
136+ }
137+ }
138+
139+ it should " download docker sdk twice, check directory is quoted in error when create fails." in {
140+ val dir = File .createTempFile(" wskinstall" , " .tmp" )
141+ dir.delete()
142+ dir.mkdir() should be(true )
143+ try {
144+ wsk.cli(wskprops.overrides ++ Seq (" sdk" , " install" , " docker" ),
145+ workingDir = dir).stdout should include(
146+ s """ The docker skeleton is now installed at the current directory. """ )
147+
148+ wsk.cli(wskprops.overrides ++ Seq (" sdk" , " install" , " docker" ),
149+ workingDir = dir,
150+ expectedExitCode = 1 ).stderr should include(
151+ s """ The directory 'dockerSkeleton' already exists. Delete it and retry. """ )
152+ } finally {
153+ FileUtils .deleteDirectory(dir)
154+ }
155+ }
156+
85157 it should " download iOS sdk" in {
86158 val dir = File .createTempFile(" wskinstall" , " .tmp" )
87159 dir.delete()
0 commit comments