44 "errors"
55 "os"
66 "path/filepath"
7+ "time"
78
89 . "github.com/onsi/ginkgo"
910 . "github.com/onsi/gomega"
@@ -42,11 +43,15 @@ func pathToFixture(file string) string {
4243}
4344
4445var _ = Describe ("App" , func () {
46+
4547 It ("reads the CA cert from config" , func () {
46- runner := & FakeRunner {}
48+ configFile , _ := os .Open (pathToFixture ("dav-cli-config-with-ca.json" )) //nolint:errcheck
49+ defer configFile .Close () //nolint:errcheck
50+ davConfig , _ := davconf .NewFromReader (configFile ) //nolint:errcheck
4751
48- app := New (runner )
49- err := app .Run ([]string {"dav-cli" , "-c" , pathToFixture ("dav-cli-config-with-ca.json" ), "put" , "localFile" , "remoteFile" })
52+ runner := & FakeRunner {}
53+ app := New (runner , davConfig )
54+ err := app .Put ("localFile" , "remoteFile" )
5055 Expect (err ).ToNot (HaveOccurred ())
5156
5257 expectedConfig := davconf.Config {
@@ -66,22 +71,30 @@ var _ = Describe("App", func() {
6671 })
6772
6873 It ("returns error if CA Cert is invalid" , func () {
74+ configFile , _ := os .Open (pathToFixture ("dav-cli-config-with-ca.json" )) //nolint:errcheck
75+ defer configFile .Close () //nolint:errcheck
76+ davConfig , _ := davconf .NewFromReader (configFile ) //nolint:errcheck
77+
6978 runner := & FakeRunner {
7079 SetConfigErr : errors .New ("invalid cert" ),
7180 }
7281
73- app := New (runner )
74- err := app .Run ([] string { "dav-cli" , "-c" , pathToFixture ( "dav-cli-config-with-ca.json" ), "put" , " localFile" , "remoteFile" } )
82+ app := New (runner , davConfig )
83+ err := app .Put ( " localFile" , "remoteFile" )
7584 Expect (err ).To (HaveOccurred ())
7685 Expect (err .Error ()).To (ContainSubstring ("Invalid CA Certificate: invalid cert" ))
7786
7887 })
7988
8089 It ("runs the put command" , func () {
90+ configFile , _ := os .Open (pathToFixture ("dav-cli-config.json" )) //nolint:errcheck
91+ defer configFile .Close () //nolint:errcheck
92+ davConfig , _ := davconf .NewFromReader (configFile ) //nolint:errcheck
93+
8194 runner := & FakeRunner {}
8295
83- app := New (runner )
84- err := app .Run ([] string { "dav-cli" , "-c" , pathToFixture ( "dav-cli-config.json" ), "put" , " localFile" , "remoteFile" } )
96+ app := New (runner , davConfig )
97+ err := app .Put ( " localFile" , "remoteFile" )
8598 Expect (err ).ToNot (HaveOccurred ())
8699
87100 expectedConfig := davconf.Config {
@@ -96,29 +109,58 @@ var _ = Describe("App", func() {
96109 Expect (runner .RunArgs ).To (Equal ([]string {"put" , "localFile" , "remoteFile" }))
97110 })
98111
99- It ("returns error with no config argument" , func () {
100- runner := & FakeRunner {}
112+ It ("returns error from the cmd runner" , func () {
101113
102- app := New (runner )
103- err := app .Run ([]string {"put" , "localFile" , "remoteFile" })
104- Expect (err ).To (HaveOccurred ())
105- Expect (err .Error ()).To (ContainSubstring ("Config file arg `-c` is missing" ))
106- })
107- It ("prints the version info with the -v flag" , func () {
108- runner := & FakeRunner {}
109- app := New (runner )
110- err := app .Run ([]string {"dav-cli" , "-v" })
111- Expect (err ).ToNot (HaveOccurred ())
112- })
114+ configFile , _ := os .Open (pathToFixture ("dav-cli-config.json" )) //nolint:errcheck
115+ defer configFile .Close () //nolint:errcheck
116+ davConfig , _ := davconf .NewFromReader (configFile ) //nolint:errcheck
113117
114- It ("returns error from the cmd runner" , func () {
115118 runner := & FakeRunner {
116119 RunErr : errors .New ("fake-run-error" ),
117120 }
118121
119- app := New (runner )
120- err := app .Run ([] string { "dav-cli" , "-c" , pathToFixture ( "dav-cli-config.json" ), "put" , " localFile" , "remoteFile" } )
122+ app := New (runner , davConfig )
123+ err := app .Put ( " localFile" , "remoteFile" )
121124 Expect (err ).To (HaveOccurred ())
122125 Expect (err .Error ()).To (ContainSubstring ("fake-run-error" ))
123126 })
127+
128+ Context ("Checking functionalities" , func () {
129+ // var app *App
130+ var davConfig davconf.Config
131+ BeforeEach (func () {
132+
133+ configFile , _ := os .Open (pathToFixture ("dav-cli-config.json" )) //nolint:errcheck
134+ defer configFile .Close () //nolint:errcheck
135+ davConfig , _ = davconf .NewFromReader (configFile ) //nolint:errcheck
136+ })
137+
138+ It ("Exists fails" , func () {
139+
140+ runner := & FakeRunner {
141+ RunErr : errors .New ("object does not exist" ),
142+ }
143+ app := New (runner , davConfig )
144+
145+ exist , err := app .Exists ("someObject" ) //nolint:errcheck
146+
147+ Expect (err .Error ()).To (ContainSubstring ("object does not exist" ))
148+ Expect (exist ).To (BeFalse ())
149+
150+ })
151+
152+ It ("Sign Fails" , func () {
153+ runner := & FakeRunner {
154+ RunErr : errors .New ("can't sign" ),
155+ }
156+
157+ app := New (runner , davConfig )
158+ signedurl , err := app .Sign ("someObject" , "SomeObject" , time .Second * 100 )
159+ Expect (signedurl ).To (BeEmpty ())
160+ Expect (err .Error ()).To (ContainSubstring ("can't sign" ))
161+
162+ })
163+
164+ })
165+
124166})
0 commit comments