Commit c89c31a5 authored by Łukasz Nowak's avatar Łukasz Nowak Committed by Łukasz Nowak

cli: Allow to run --preapre-only w/o additional information

/reviewed-on nexedi/kedifa!4
parent acf0f054
...@@ -146,21 +146,20 @@ def updater(*args): ...@@ -146,21 +146,20 @@ def updater(*args):
'state', 'state',
type=str, type=str,
help='Path to JSON state file for fallback recognition, on which locks ' help='Path to JSON state file for fallback recognition, on which locks '
'will happen.' 'will happen.',
nargs='?'
) )
parser.add_argument( parser.add_argument(
'--identity', '--identity',
type=argparse.FileType('r'), type=argparse.FileType('r'),
help='Certificate to identify itself on the URL.', help='Certificate to identify itself on the URL.',
required=True
) )
parser.add_argument( parser.add_argument(
'--server-ca-certificate', '--server-ca-certificate',
type=argparse.FileType('r'), type=argparse.FileType('r'),
help='CA Certificate of the server.', help='CA Certificate of the server.',
required=True
) )
parser.add_argument( parser.add_argument(
...@@ -200,10 +199,12 @@ def updater(*args): ...@@ -200,10 +199,12 @@ def updater(*args):
u = Updater( u = Updater(
parsed.sleep, parsed.mapping.name, parsed.state, parsed.master_certificate, parsed.sleep, parsed.mapping.name, parsed.state, parsed.master_certificate,
parsed.on_update, parsed.identity.name, parsed.server_ca_certificate.name, parsed.on_update,
parsed.identity and parsed.identity.name or None,
parsed.server_ca_certificate and parsed.server_ca_certificate.name or None,
parsed.once, parsed.prepare_only parsed.once, parsed.prepare_only
) )
parsed.mapping.close() parsed.mapping.close()
parsed.identity.close() parsed.identity and parsed.identity.close()
parsed.server_ca_certificate.close() parsed.server_ca_certificate and parsed.server_ca_certificate.close()
u.loop() u.loop()
...@@ -1339,6 +1339,16 @@ class KedifaUpdaterUpdateCertificateTest( ...@@ -1339,6 +1339,16 @@ class KedifaUpdaterUpdateCertificateTest(
self.assertTrue(update) self.assertTrue(update)
self.assertState({self.certificate_file_name: True}) self.assertState({self.certificate_file_name: True})
class KedifaUpdaterUpdateCertificatePrepareTest(
KedifaUpdaterMixin, unittest.TestCase):
def setUp(self):
super(KedifaUpdaterUpdateCertificatePrepareTest, self).setUp()
certificate_file = tempfile.NamedTemporaryFile(
dir=self.testdir, delete=True)
certificate_file.close()
self.certificate_file_name = certificate_file.name
def _prepare(self, certificate, master_content, fallback=None): def _prepare(self, certificate, master_content, fallback=None):
if certificate: if certificate:
with open(self.certificate_file_name, 'w') as fh: with open(self.certificate_file_name, 'w') as fh:
...@@ -1362,7 +1372,7 @@ class KedifaUpdaterUpdateCertificateTest( ...@@ -1362,7 +1372,7 @@ class KedifaUpdaterUpdateCertificateTest(
mapping = '%s %s' % (mapping, fallback_file.name) mapping = '%s %s' % (mapping, fallback_file.name)
self.setupMapping(mapping) self.setupMapping(mapping)
u = updater.Updater( u = updater.Updater(
1, self.mapping, self.state, master_file, None, None, 1, self.mapping, None, master_file, None, None,
None, True, True) None, True, True)
with mock.patch.object( with mock.patch.object(
updater.Updater, 'fetchCertificate') as fetchCertificate: updater.Updater, 'fetchCertificate') as fetchCertificate:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment