From c4aa07a6636ab6ed80bfdabf9bd815bca8e8b808 Mon Sep 17 00:00:00 2001 From: Federico Capoano Date: Wed, 8 Feb 2017 16:59:36 +0100 Subject: [PATCH] [openvpn] Allow to omit seconds in status attribute --- netjsonconfig/backends/openvpn/schema.py | 2 +- tests/openvpn/test_backend.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/netjsonconfig/backends/openvpn/schema.py b/netjsonconfig/backends/openvpn/schema.py index b4bbd488f..a756fe3f9 100644 --- a/netjsonconfig/backends/openvpn/schema.py +++ b/netjsonconfig/backends/openvpn/schema.py @@ -292,7 +292,7 @@ "description": "Write operational status to file every n seconds; " "eg: \"/var/run/openvpn.status 10\"", "type": "string", - "pattern": "^((\\S*) ([0-9]*)|)$", + "pattern": "^((\\S*) ([0-9]*)|(\\S*)|)$", "propertyOrder": 35, }, "status_version": { diff --git a/tests/openvpn/test_backend.py b/tests/openvpn/test_backend.py index e1b14c335..622674541 100644 --- a/tests/openvpn/test_backend.py +++ b/tests/openvpn/test_backend.py @@ -1,3 +1,4 @@ +import copy import tarfile import unittest @@ -220,6 +221,12 @@ def test_no_status_file(self): self.assertNotIn('status', output) self.assertNotIn('status-version', output) + def test_status_file_no_seconds(self): + conf = copy.deepcopy(self._simple_conf) + conf['openvpn'][0]['status'] = '/var/run/openvpn.status' + c = OpenVpn(conf) + self.assertIn('status /var/run/openvpn.status', c.render()) + def test_server_bridge(self): c = OpenVpn({ "openvpn": [{