138
138
self.mocker.replay()
139
139
cc_ca_certs.add_ca_certs(self.paths, [])
141
def test_single_cert(self):
142
"""Test adding a single certificate to the trusted CAs."""
143
cert = "CERT1\nLINE2\nLINE3"
145
mock_write = self.mocker.replace(util.write_file, passthrough=False)
146
mock_write("/usr/share/ca-certificates/cloud-init-ca-certs.crt",
141
def test_single_cert_trailing_cr(self):
142
"""Test adding a single certificate to the trusted CAs
143
when existing ca-certificates has trailing newline"""
144
cert = "CERT1\nLINE2\nLINE3"
146
ca_certs_content = "line1\nline2\ncloud-init-ca-certs.crt\nline3\n"
147
expected = "line1\nline2\nline3\ncloud-init-ca-certs.crt\n"
149
mock_write = self.mocker.replace(util.write_file, passthrough=False)
150
mock_load = self.mocker.replace(util.load_file, passthrough=False)
152
mock_write("/usr/share/ca-certificates/cloud-init-ca-certs.crt",
155
mock_load("/etc/ca-certificates.conf")
156
self.mocker.result(ca_certs_content)
158
mock_write("/etc/ca-certificates.conf", expected, omode="wb")
161
cc_ca_certs.add_ca_certs(self.paths, [cert])
163
def test_single_cert_no_trailing_cr(self):
164
"""Test adding a single certificate to the trusted CAs
165
when existing ca-certificates has no trailing newline"""
166
cert = "CERT1\nLINE2\nLINE3"
168
ca_certs_content = "line1\nline2\nline3"
170
mock_write = self.mocker.replace(util.write_file, passthrough=False)
171
mock_load = self.mocker.replace(util.load_file, passthrough=False)
173
mock_write("/usr/share/ca-certificates/cloud-init-ca-certs.crt",
176
mock_load("/etc/ca-certificates.conf")
177
self.mocker.result(ca_certs_content)
148
179
mock_write("/etc/ca-certificates.conf",
149
"\ncloud-init-ca-certs.crt", omode="ab")
180
"%s\n%s\n" % (ca_certs_content, "cloud-init-ca-certs.crt"),
150
182
self.mocker.replay()
152
184
cc_ca_certs.add_ca_certs(self.paths, [cert])
157
189
expected_cert_file = "\n".join(certs)
159
191
mock_write = self.mocker.replace(util.write_file, passthrough=False)
192
mock_load = self.mocker.replace(util.load_file, passthrough=False)
160
194
mock_write("/usr/share/ca-certificates/cloud-init-ca-certs.crt",
161
195
expected_cert_file, mode=0644)
162
mock_write("/etc/ca-certificates.conf",
163
"\ncloud-init-ca-certs.crt", omode="ab")
197
ca_certs_content = "line1\nline2\nline3"
198
mock_load("/etc/ca-certificates.conf")
199
self.mocker.result(ca_certs_content)
201
out = "%s\n%s\n" % (ca_certs_content, "cloud-init-ca-certs.crt")
202
mock_write("/etc/ca-certificates.conf", out, omode="wb")
164
204
self.mocker.replay()
166
206
cc_ca_certs.add_ca_certs(self.paths, certs)