55 "bytes"
66 "crypto/sha256"
77 "crypto/tls"
8+ "crypto/x509"
89 "encoding/hex"
910 "encoding/json"
1011 "flag"
@@ -90,11 +91,11 @@ func (s *DioSuite) SetUpSuite(c *chk.C) {
9091 s .config = filepath .Join (tempDir , "config.toml" )
9192 f , err := os .Create (s .config )
9293 if err != nil {
93- log .Fatalln (err . Error () )
94+ log .Fatalln (err )
9495 }
9596 d , err := os .Getwd ()
9697 if err != nil {
97- log .Fatalln (err . Error () )
98+ log .Fatalln (err )
9899 }
99100 origDir = d
100101 mockAddr := "https://localhost:5551"
@@ -106,45 +107,66 @@ func (s *DioSuite) SetUpSuite(c *chk.C) {
106107 filepath .Join (d , ".." , "test_data" , "default.cert.pem" ),
107108 mockAddr )
108109 if err != nil {
109- log .Fatalln (err . Error () )
110+ log .Fatalln (err )
110111 }
111112
112113 // Drop any old config loaded automatically by viper, and use our temporary test config instead
113114 viper .Reset ()
114115 viper .SetConfigFile (s .config )
115116 if err = viper .ReadInConfig (); err != nil {
116- log .Fatalf ("Error loading test config file: %s" , err . Error () )
117+ log .Fatalf ("Error loading test config file: %s" , err )
117118 return
118119 }
119120 cloud = viper .GetString ("general.cloud" )
120121
122+ // Use our testing certificates
123+ ourCAPool := x509 .NewCertPool ()
124+ chainFile , err := ioutil .ReadFile (filepath .Join (d , ".." , "test_data" , "ca-chain-docker.cert.pem" ))
125+ if err != nil {
126+ log .Fatalln (err )
127+ }
128+ ok := ourCAPool .AppendCertsFromPEM (chainFile )
129+ if ! ok {
130+ log .Fatalln ("Error when loading certificate chain file" )
131+ }
132+ testCert := filepath .Join (d , ".." , "test_data" , "default.cert.pem" )
133+ cert , err := tls .LoadX509KeyPair (testCert , testCert )
134+ if err != nil {
135+ log .Fatalln (err )
136+ }
137+ TLSConfig .Certificates = []tls.Certificate {cert }
138+ certUser , _ , err = getUserAndServer ()
139+ if err != nil {
140+ log .Fatalln (err )
141+ }
142+
121143 // Add test database
122144 s .dbName = "19kB.sqlite"
123145 db , err := ioutil .ReadFile (filepath .Join (d , ".." , "test_data" , s .dbName ))
124146 if err != nil {
125- log .Fatalln (err . Error () )
147+ log .Fatalln (err )
126148 }
127149 s .dbFile = filepath .Join (tempDir , s .dbName )
128150 err = ioutil .WriteFile (s .dbFile , db , 0644 )
129151 if err != nil {
130- log .Fatalln (err . Error () )
152+ log .Fatalln (err )
131153 }
132154
133155 // Set the last modified date of the database file to a known value
134156 err = os .Chtimes (s .dbFile , time .Now (), time .Date (2019 , time .March , 15 , 18 , 1 , 0 , 0 , time .UTC ))
135157 if err != nil {
136- log .Fatalln (err . Error () )
158+ log .Fatalln (err )
137159 }
138160
139161 // Add a test licence
140162 lic , err := ioutil .ReadFile (filepath .Join (d , ".." , "LICENSE" ))
141163 if err != nil {
142- log .Fatalln (err . Error () )
164+ log .Fatalln (err )
143165 }
144166 licFile = filepath .Join (tempDir , "test.licence" )
145167 err = ioutil .WriteFile (licFile , lic , 0644 )
146168 if err != nil {
147- log .Fatalln (err . Error () )
169+ log .Fatalln (err )
148170 }
149171
150172 // If not told otherwise, redirect command output to /dev/null
0 commit comments