diff --git a/src/rougail/annotator/service.py b/src/rougail/annotator/service.py
index 0f6f93951..5cd979c89 100644
--- a/src/rougail/annotator/service.py
+++ b/src/rougail/annotator/service.py
@@ -408,7 +408,7 @@ class Annotator:
)
certificate.catype = certificate.type
if not hasattr(certificate, 'domain'):
- certificate.domain = self.objectspace.rougailconfig['default_cerficate_domain']
+ certificate.domain = self.objectspace.rougailconfig['default_certificate_domain']
variable = self.objectspace.paths.get_variable(certificate.domain,
certificate.namespace,
xmlfiles=certificate.xmlfiles,
diff --git a/src/rougail/config.py b/src/rougail/config.py
index 365b168d1..662f95bb8 100644
--- a/src/rougail/config.py
+++ b/src/rougail/config.py
@@ -69,7 +69,7 @@ RougailConfig = {'dictionaries_dir': [join(ROUGAILROOT, 'dictionaries')],
'default_files_included': 'no',
'default_overrides_engine': 'cheetah',
'default_service_names_engine': 'none',
- 'default_cerficate_domain': 'server_name',
+ 'default_certificate_domain': 'server_name',
'base_option_name': 'baseoption',
'export_with_import': True,
'force_convert_dyn_option_description': False,
diff --git a/src/rougail/reflector.py b/src/rougail/reflector.py
index a36961f08..0325b3cdb 100644
--- a/src/rougail/reflector.py
+++ b/src/rougail/reflector.py
@@ -89,7 +89,7 @@ class Reflector:
else:
continue
if filename in filenames:
- raise DictConsistencyError(_(f'duplicate dictionary file name {filename}'), 78, [filenames[filename], full_filename])
+ raise DictConsistencyError(_(f'duplicate dictionary file name {filename}'), 78, [filenames[filename][1], full_filename])
filenames[filename] = (ext, full_filename)
if not filenames and not just_doc:
raise DictConsistencyError(_('there is no dictionary file'), 77, folders)
diff --git a/tests/dictionaries/10base_certificate_list/__init__.py b/tests/dictionaries/10base_certificate_list/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/tests/dictionaries/10base_certificate_list/makedict/after.json b/tests/dictionaries/10base_certificate_list/makedict/after.json
new file mode 100644
index 000000000..98eea53be
--- /dev/null
+++ b/tests/dictionaries/10base_certificate_list/makedict/after.json
@@ -0,0 +1,30 @@
+{
+ "rougail.server_name": {
+ "owner": "default",
+ "value": "example.net"
+ },
+ "services.test_service.certificates.certificate.domain": {
+ "owner": "default",
+ "value": "example.net"
+ },
+ "services.test_service.certificates.certificate.name": {
+ "owner": "default",
+ "value": "certificate"
+ },
+ "services.test_service.certificates.certificate.owner": {
+ "owner": "default",
+ "value": "example"
+ },
+ "services.test_service.certificates.certificate.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.manage": {
+ "owner": "default",
+ "value": true
+ }
+}
diff --git a/tests/dictionaries/10base_certificate_list/makedict/base.json b/tests/dictionaries/10base_certificate_list/makedict/base.json
new file mode 100644
index 000000000..6cbe8ce5d
--- /dev/null
+++ b/tests/dictionaries/10base_certificate_list/makedict/base.json
@@ -0,0 +1,9 @@
+{
+ "rougail.server_name": "example.net",
+ "services.test_service.certificates.certificate.domain": "example.net",
+ "services.test_service.certificates.certificate.name": "certificate",
+ "services.test_service.certificates.certificate.owner": "example",
+ "services.test_service.certificates.certificate.activate": true,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
+}
diff --git a/tests/dictionaries/10base_certificate_list/makedict/before.json b/tests/dictionaries/10base_certificate_list/makedict/before.json
new file mode 100644
index 000000000..98eea53be
--- /dev/null
+++ b/tests/dictionaries/10base_certificate_list/makedict/before.json
@@ -0,0 +1,30 @@
+{
+ "rougail.server_name": {
+ "owner": "default",
+ "value": "example.net"
+ },
+ "services.test_service.certificates.certificate.domain": {
+ "owner": "default",
+ "value": "example.net"
+ },
+ "services.test_service.certificates.certificate.name": {
+ "owner": "default",
+ "value": "certificate"
+ },
+ "services.test_service.certificates.certificate.owner": {
+ "owner": "default",
+ "value": "example"
+ },
+ "services.test_service.certificates.certificate.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.manage": {
+ "owner": "default",
+ "value": true
+ }
+}
diff --git a/tests/dictionaries/10base_certificate_list/xml/00-base.xml b/tests/dictionaries/10base_certificate_list/xml/00-base.xml
new file mode 100644
index 000000000..dedb0a091
--- /dev/null
+++ b/tests/dictionaries/10base_certificate_list/xml/00-base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ certificate
+
+
+
+
+ example.net
+
+
+
+
+ example1.net
+ certlist
+
+
+
diff --git a/tests/dictionaries/10base_certificate_list/yml/00-base.yml b/tests/dictionaries/10base_certificate_list/yml/00-base.yml
new file mode 100644
index 000000000..c186d58af
--- /dev/null
+++ b/tests/dictionaries/10base_certificate_list/yml/00-base.yml
@@ -0,0 +1,24 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ certificate:
+ - authority: authority
+ owner: example
+ certificatelist: certlist
+ text: certificate
+variables:
+- variable:
+ - name: server_name
+ type: domainname
+ value:
+ - text: example.net
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: server_name
+ param:
+ - text: example1.net
+ target:
+ - type: certificatelist
+ text: certlist
diff --git a/tests/dictionaries/10base_certificate_list_disabled/__init__.py b/tests/dictionaries/10base_certificate_list_disabled/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/tests/dictionaries/10base_certificate_list_disabled/makedict/after.json b/tests/dictionaries/10base_certificate_list_disabled/makedict/after.json
new file mode 100644
index 000000000..746d7dca0
--- /dev/null
+++ b/tests/dictionaries/10base_certificate_list_disabled/makedict/after.json
@@ -0,0 +1,30 @@
+{
+ "rougail.server_name": {
+ "owner": "default",
+ "value": "example.net"
+ },
+ "services.test_service.certificates.certificate.domain": {
+ "owner": "default",
+ "value": "example.net"
+ },
+ "services.test_service.certificates.certificate.name": {
+ "owner": "default",
+ "value": "certificate"
+ },
+ "services.test_service.certificates.certificate.owner": {
+ "owner": "default",
+ "value": "example"
+ },
+ "services.test_service.certificates.certificate.activate": {
+ "owner": "default",
+ "value": false
+ },
+ "services.test_service.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.manage": {
+ "owner": "default",
+ "value": true
+ }
+}
diff --git a/tests/dictionaries/10base_certificate_list_disabled/makedict/base.json b/tests/dictionaries/10base_certificate_list_disabled/makedict/base.json
new file mode 100644
index 000000000..a84a59f22
--- /dev/null
+++ b/tests/dictionaries/10base_certificate_list_disabled/makedict/base.json
@@ -0,0 +1,9 @@
+{
+ "rougail.server_name": "example.net",
+ "services.test_service.certificates.certificate.domain": "example.net",
+ "services.test_service.certificates.certificate.name": "certificate",
+ "services.test_service.certificates.certificate.owner": "example",
+ "services.test_service.certificates.certificate.activate": false,
+ "services.test_service.activate": true,
+ "services.test_service.manage": true
+}
diff --git a/tests/dictionaries/10base_certificate_list_disabled/makedict/before.json b/tests/dictionaries/10base_certificate_list_disabled/makedict/before.json
new file mode 100644
index 000000000..746d7dca0
--- /dev/null
+++ b/tests/dictionaries/10base_certificate_list_disabled/makedict/before.json
@@ -0,0 +1,30 @@
+{
+ "rougail.server_name": {
+ "owner": "default",
+ "value": "example.net"
+ },
+ "services.test_service.certificates.certificate.domain": {
+ "owner": "default",
+ "value": "example.net"
+ },
+ "services.test_service.certificates.certificate.name": {
+ "owner": "default",
+ "value": "certificate"
+ },
+ "services.test_service.certificates.certificate.owner": {
+ "owner": "default",
+ "value": "example"
+ },
+ "services.test_service.certificates.certificate.activate": {
+ "owner": "default",
+ "value": false
+ },
+ "services.test_service.activate": {
+ "owner": "default",
+ "value": true
+ },
+ "services.test_service.manage": {
+ "owner": "default",
+ "value": true
+ }
+}
diff --git a/tests/dictionaries/10base_certificate_list_disabled/xml/00-base.xml b/tests/dictionaries/10base_certificate_list_disabled/xml/00-base.xml
new file mode 100644
index 000000000..40b3d0d06
--- /dev/null
+++ b/tests/dictionaries/10base_certificate_list_disabled/xml/00-base.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ certificate
+
+
+
+
+ example.net
+
+
+
+
+ example.net
+ certlist
+
+
+
diff --git a/tests/dictionaries/10base_certificate_list_disabled/yml/00-base.yml b/tests/dictionaries/10base_certificate_list_disabled/yml/00-base.yml
new file mode 100644
index 000000000..2f688f4f4
--- /dev/null
+++ b/tests/dictionaries/10base_certificate_list_disabled/yml/00-base.yml
@@ -0,0 +1,24 @@
+version: '0.10'
+services:
+- service:
+ - name: test
+ certificate:
+ - authority: authority
+ owner: example
+ certificatelist: certlist
+ text: certificate
+variables:
+- variable:
+ - name: server_name
+ type: domainname
+ value:
+ - text: example.net
+constraints:
+- condition:
+ - name: disabled_if_in
+ source: server_name
+ param:
+ - text: example.net
+ target:
+ - type: certificatelist
+ text: certlist