~smoser/ubuntu/quantal/cloud-init/sru

« back to all changes in this revision

Viewing changes to tests/unittests/test_handler/test_handler_ca_certs.py

  • Committer: Scott Moser
  • Date: 2012-12-02 02:59:06 UTC
  • Revision ID: smoser@brickies.net-20121202025906-ihcksoj3i2fgg5za
debian/patches/lp-1077020-fix-ca-certificates-blanklines.patch: fix
adding of empty lines in ca-certificates file (LP: #1077020)

Show diffs side-by-side

added added

removed removed

Lines of Context:
138
138
        self.mocker.replay()
139
139
        cc_ca_certs.add_ca_certs(self.paths, [])
140
140
 
141
 
    def test_single_cert(self):
142
 
        """Test adding a single certificate to the trusted CAs."""
143
 
        cert = "CERT1\nLINE2\nLINE3"
144
 
 
145
 
        mock_write = self.mocker.replace(util.write_file, passthrough=False)
146
 
        mock_write("/usr/share/ca-certificates/cloud-init-ca-certs.crt",
147
 
                   cert, mode=0644)
 
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"
 
145
 
 
146
        ca_certs_content = "line1\nline2\ncloud-init-ca-certs.crt\nline3\n"
 
147
        expected = "line1\nline2\nline3\ncloud-init-ca-certs.crt\n"
 
148
 
 
149
        mock_write = self.mocker.replace(util.write_file, passthrough=False)
 
150
        mock_load = self.mocker.replace(util.load_file, passthrough=False)
 
151
 
 
152
        mock_write("/usr/share/ca-certificates/cloud-init-ca-certs.crt",
 
153
                   cert, mode=0644)
 
154
 
 
155
        mock_load("/etc/ca-certificates.conf")
 
156
        self.mocker.result(ca_certs_content)
 
157
 
 
158
        mock_write("/etc/ca-certificates.conf", expected, omode="wb")
 
159
        self.mocker.replay()
 
160
 
 
161
        cc_ca_certs.add_ca_certs(self.paths, [cert])
 
162
 
 
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"
 
167
 
 
168
        ca_certs_content = "line1\nline2\nline3"
 
169
 
 
170
        mock_write = self.mocker.replace(util.write_file, passthrough=False)
 
171
        mock_load = self.mocker.replace(util.load_file, passthrough=False)
 
172
 
 
173
        mock_write("/usr/share/ca-certificates/cloud-init-ca-certs.crt",
 
174
                   cert, mode=0644)
 
175
 
 
176
        mock_load("/etc/ca-certificates.conf")
 
177
        self.mocker.result(ca_certs_content)
 
178
 
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"),
 
181
                   omode="wb")
150
182
        self.mocker.replay()
151
183
 
152
184
        cc_ca_certs.add_ca_certs(self.paths, [cert])
157
189
        expected_cert_file = "\n".join(certs)
158
190
 
159
191
        mock_write = self.mocker.replace(util.write_file, passthrough=False)
 
192
        mock_load = self.mocker.replace(util.load_file, passthrough=False)
 
193
 
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")
 
196
 
 
197
        ca_certs_content = "line1\nline2\nline3"
 
198
        mock_load("/etc/ca-certificates.conf")
 
199
        self.mocker.result(ca_certs_content)
 
200
 
 
201
        out = "%s\n%s\n" % (ca_certs_content, "cloud-init-ca-certs.crt")
 
202
        mock_write("/etc/ca-certificates.conf", out, omode="wb")
 
203
 
164
204
        self.mocker.replay()
165
205
 
166
206
        cc_ca_certs.add_ca_certs(self.paths, certs)