fix: better error message
This commit is contained in:
parent
71a05d631c
commit
54bdf4861c
12 changed files with 137 additions and 47 deletions
|
|
@ -5,8 +5,8 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"POT-Creation-Date: 2025-02-17 09:25+0100\n"
|
||||
"PO-Revision-Date: 2025-02-17 09:28+0100\n"
|
||||
"POT-Creation-Date: 2025-04-09 14:13+0200\n"
|
||||
"PO-Revision-Date: 2025-04-09 14:14+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: fr\n"
|
||||
|
|
@ -20,15 +20,24 @@ msgstr ""
|
|||
msgid "\"bitwarden\" is not set in step.user_data"
|
||||
msgstr "\"bitwarden\" n'est pas dans step.user_data"
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:83
|
||||
msgid "please unlock Bitwarden password database"
|
||||
msgstr "veuillez déverrouiller la base de donnée de mot de passe Bitwarden"
|
||||
#: src/rougail/user_data_bitwarden/data.py:74
|
||||
msgid "\"rbw\" or \"bw\""
|
||||
msgstr "\"rbw\" ou \"bw\""
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:84
|
||||
msgid "cannot find Bitwarden command (rbw or bw) please install it"
|
||||
msgstr "ne peut trouver la commande Bitwarden (rbw ou bw) veuillez l'installer"
|
||||
#: src/rougail/user_data_bitwarden/data.py:76
|
||||
msgid "\"{0}\""
|
||||
msgstr "\"{0}\""
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:126
|
||||
#: src/rougail/user_data_bitwarden/data.py:78
|
||||
msgid "please unlock Bitwarden password database with {0}"
|
||||
msgstr ""
|
||||
"veuillez déverrouiller la base de donnée de mot de passe Bitwarden avec {0}"
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:79
|
||||
msgid "cannot find Bitwarden command {0} please install it"
|
||||
msgstr "ne peut trouver la commande Bitwarden {0} veuillez l'installer"
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:153
|
||||
msgid ""
|
||||
"the value for \"{0}\" at index {1} is already set while it should be filled "
|
||||
"in by Bitwarden"
|
||||
|
|
@ -36,7 +45,7 @@ msgstr ""
|
|||
"la valeur de \"{0}\" à l'index {1} est déjà renseigné alors que celle doit "
|
||||
"devrait être renseigné par Bitwarden"
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:128
|
||||
#: src/rougail/user_data_bitwarden/data.py:155
|
||||
msgid ""
|
||||
"the value for \"{0}\" is already set while it should be filled in by "
|
||||
"Bitwarden"
|
||||
|
|
@ -44,32 +53,46 @@ msgstr ""
|
|||
"la valeur de \"{0}\" est déjà renseignée alors que celle doit devrait être "
|
||||
"renseignée par Bitwarden"
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:157
|
||||
#: src/rougail/user_data_bitwarden/data.py:185
|
||||
msgid "the default value for \"{0}\" must be the Bitwarden item name"
|
||||
msgstr ""
|
||||
"la valeur par défaut pour \"{0}\" doit être un nom d'élément de Bitwarden"
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:166
|
||||
#: src/rougail/user_data_bitwarden/data.py:198
|
||||
msgid "cannot execute the \"{0}\" commandline from Bitwarden for \"{1}\": {2}"
|
||||
msgstr ""
|
||||
"ne peut exécuter la ligne de commande \"{0}\" pour Bitwarden pour \"{1}\": "
|
||||
"{2}"
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:169
|
||||
msgid "cannot find {0} \"{1}\" from Bitwarden for \"{2}\""
|
||||
msgstr "ne peut trouver {0} \"{1}\" pour Bitwarden pour \"{2}\""
|
||||
#: src/rougail/user_data_bitwarden/data.py:201
|
||||
msgid "item \"{0}\" in Bitwarden is not found for \"{1}\""
|
||||
msgstr "l'élément \"{0}\" dans Bitwarden n'est pas trouvé pour \"{1}\""
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:176
|
||||
msgid ""
|
||||
"several items found with name \"{0}\" from Bitwarden for \"{1}\": \"{2}\""
|
||||
#: src/rougail/user_data_bitwarden/data.py:208
|
||||
msgid "several items found with name \"{0}\" in Bitwarden for \"{1}\": \"{2}\""
|
||||
msgstr ""
|
||||
"plusieurs éléments trouvés avec le nom \"{0}\" pour Bitwarden pour \"{1}\": "
|
||||
"plusieurs éléments trouvés avec le nom \"{0}\" dans Bitwarden pour \"{1}\": "
|
||||
"\"{2}\""
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:186
|
||||
#: src/rougail/user_data_bitwarden/data.py:219
|
||||
msgid "unexpected datas \"{0}\" from Bitwarden for \"{1}\": {2}"
|
||||
msgstr "données inattendues \"{0}\" pour Bitwarden pour \"{1}\": {2}"
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:224
|
||||
msgid "password"
|
||||
msgstr "de mot de passe"
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:226
|
||||
msgid "username"
|
||||
msgstr "de nom d'utilisateur"
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:227
|
||||
msgid "item \"{0}\" in Bitwarden has no {1} for \"{2}\""
|
||||
msgstr "l'élément \"{0}\" dans Bitwarden n'a pas {1} for \"{2}\""
|
||||
|
||||
#~ msgid "cannot find {0} \"{1}\" from Bitwarden for \"{2}\""
|
||||
#~ msgstr "ne peut trouver {0} \"{1}\" pour Bitwarden pour \"{2}\""
|
||||
|
||||
#~ msgid ""
|
||||
#~ "only \"unix_user\" or \"secret\" variable type can have \"bitwarden\" "
|
||||
#~ "attribute, but \"{0}\" has type \"{1}\""
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2025-02-17 09:28+0100\n"
|
||||
"POT-Creation-Date: 2025-04-09 14:14+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -19,39 +19,59 @@ msgstr ""
|
|||
msgid "\"bitwarden\" is not set in step.user_data"
|
||||
msgstr ""
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:83
|
||||
msgid "please unlock Bitwarden password database"
|
||||
#: src/rougail/user_data_bitwarden/data.py:74
|
||||
msgid "\"rbw\" or \"bw\""
|
||||
msgstr ""
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:84
|
||||
msgid "cannot find Bitwarden command (rbw or bw) please install it"
|
||||
#: src/rougail/user_data_bitwarden/data.py:76
|
||||
msgid "\"{0}\""
|
||||
msgstr ""
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:126
|
||||
#: src/rougail/user_data_bitwarden/data.py:78
|
||||
msgid "please unlock Bitwarden password database with {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:79
|
||||
msgid "cannot find Bitwarden command {0} please install it"
|
||||
msgstr ""
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:153
|
||||
msgid "the value for \"{0}\" at index {1} is already set while it should be filled in by Bitwarden"
|
||||
msgstr ""
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:128
|
||||
#: src/rougail/user_data_bitwarden/data.py:155
|
||||
msgid "the value for \"{0}\" is already set while it should be filled in by Bitwarden"
|
||||
msgstr ""
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:157
|
||||
#: src/rougail/user_data_bitwarden/data.py:185
|
||||
msgid "the default value for \"{0}\" must be the Bitwarden item name"
|
||||
msgstr ""
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:166
|
||||
#: src/rougail/user_data_bitwarden/data.py:198
|
||||
msgid "cannot execute the \"{0}\" commandline from Bitwarden for \"{1}\": {2}"
|
||||
msgstr ""
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:169
|
||||
msgid "cannot find {0} \"{1}\" from Bitwarden for \"{2}\""
|
||||
#: src/rougail/user_data_bitwarden/data.py:201
|
||||
msgid "item \"{0}\" in Bitwarden is not found for \"{1}\""
|
||||
msgstr ""
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:176
|
||||
msgid "several items found with name \"{0}\" from Bitwarden for \"{1}\": \"{2}\""
|
||||
#: src/rougail/user_data_bitwarden/data.py:208
|
||||
msgid "several items found with name \"{0}\" in Bitwarden for \"{1}\": \"{2}\""
|
||||
msgstr ""
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:186
|
||||
#: src/rougail/user_data_bitwarden/data.py:219
|
||||
msgid "unexpected datas \"{0}\" from Bitwarden for \"{1}\": {2}"
|
||||
msgstr ""
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:224
|
||||
msgid "password"
|
||||
msgstr ""
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:226
|
||||
msgid "username"
|
||||
msgstr ""
|
||||
|
||||
#: src/rougail/user_data_bitwarden/data.py:227
|
||||
msgid "item \"{0}\" in Bitwarden has no {1} for \"{2}\""
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
|
|
@ -198,22 +198,31 @@ class RougailUserDataBitwarden:
|
|||
self.errors.append(_('cannot execute the "{0}" commandline from Bitwarden for "{1}": {2}').format(self.bitwarden_command_line, path, exc))
|
||||
return None, None
|
||||
if not data:
|
||||
self.errors.append(_('cannot find {0} "{1}" from Bitwarden for "{2}"').format(type_, key_bitwarden, path))
|
||||
self.errors.append(_('item "{0}" in Bitwarden is not found for "{1}"').format(key_bitwarden, path))
|
||||
return None, None
|
||||
if len(data) != 1:
|
||||
names = [d["name"] for d in data]
|
||||
if allow_multiple:
|
||||
ret = []
|
||||
return names, [self.get_value(key_bitwarden, path, type_, d) for d in data]
|
||||
self.errors.append(_('several items found with name "{0}" from Bitwarden for "{1}": "{2}"').format(key_bitwarden, path, "\", \"".join(names)))
|
||||
self.errors.append(_('several items found with name "{0}" in Bitwarden for "{1}": "{2}"').format(key_bitwarden, path, "\", \"".join(names)))
|
||||
return None, None
|
||||
return data[0]['name'], self.get_value(key_bitwarden, path, type_, data[0])
|
||||
|
||||
def get_value(self, key_bitwarden: str, path: str, type_: str, data: dict) -> str:
|
||||
try:
|
||||
if type_ == 'secret':
|
||||
return data['login']['password']
|
||||
return data['login']['username']
|
||||
value = data['login']['password']
|
||||
else:
|
||||
value = data['login']['username']
|
||||
except Exception as exc:
|
||||
self.errors.append(_('unexpected datas "{0}" from Bitwarden for "{1}": {2}').format(key_bitwarden, path, exc))
|
||||
return None
|
||||
value = None
|
||||
else:
|
||||
if value is None:
|
||||
if type_ == 'secret':
|
||||
bw_type = _('password')
|
||||
else:
|
||||
bw_type = _('username')
|
||||
self.errors.append(_('item "{0}" in Bitwarden has no {1} for "{2}"').format(key_bitwarden, bw_type, path))
|
||||
return value
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"errors": [
|
||||
"cannot find secret \"1_secret_unknown - environment - service - user\" from Bitwarden for \"rougail.secret\""
|
||||
"item \"1_secret_unknown - environment - service - user\" in Bitwarden is not found for \"rougail.secret\""
|
||||
],
|
||||
"warnings": []
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"errors": [
|
||||
"several items found with name \"4_several_secrets - environment - service - user\" from Bitwarden for \"rougail.secret\": \"4_several_secrets - environment - service - user_1\", \"4_several_secrets - environment - service - user_2\""
|
||||
"several items found with name \"4_several_secrets - environment - service - user\" in Bitwarden for \"rougail.secret\": \"4_several_secrets - environment - service - user_1\", \"4_several_secrets - environment - service - user_2\""
|
||||
],
|
||||
"warnings": []
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"errors": [
|
||||
"several items found with name \"3_leadership_secret - ENVIRONMENT - SERVICE - USER\" from Bitwarden for \"rougail.secret\": \"3_leadership_secret - environment - service - user_1\", \"3_leadership_secret - environment - service - user_2\""
|
||||
"several items found with name \"3_leadership_secret - ENVIRONMENT - SERVICE - USER\" in Bitwarden for \"rougail.secret\": \"3_leadership_secret - environment - service - user_1\", \"3_leadership_secret - environment - service - user_2\""
|
||||
],
|
||||
"warnings": []
|
||||
}
|
||||
6
tests/results/6_no_username/errors/bitwarden.json
Normal file
6
tests/results/6_no_username/errors/bitwarden.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"errors": [
|
||||
"item \"6_no_username - environment - service - user_1\" in Bitwarden has no username for \"rougail.username\""
|
||||
],
|
||||
"warnings": []
|
||||
}
|
||||
4
tests/results/6_no_username/makedict/bitwarden.json
Normal file
4
tests/results/6_no_username/makedict/bitwarden.json
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"rougail.username": null,
|
||||
"rougail.secret": "ET6RrpdZv5bNZu"
|
||||
}
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"errors": [],
|
||||
"warnings": []
|
||||
}
|
||||
22
tests/structures/6_no_username/00-base.yml
Normal file
22
tests/structures/6_no_username/00-base.yml
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
---
|
||||
version: 1.1
|
||||
|
||||
username:
|
||||
description: the username
|
||||
type: unix_user
|
||||
secret_manager:
|
||||
host: test
|
||||
project: 6_no_username
|
||||
environment: environment
|
||||
service: service
|
||||
user: user_1
|
||||
|
||||
secret:
|
||||
description: the secret
|
||||
type: secret
|
||||
secret_manager:
|
||||
host: test
|
||||
project: 6_no_username
|
||||
environment: environment
|
||||
service: service
|
||||
user: user_1
|
||||
|
|
@ -169,6 +169,16 @@ def test_dictionaries_5_secret_calc_bw():
|
|||
_test_dictionaries(test_dir / '5_secret_calc', 'bw')
|
||||
|
||||
|
||||
def test_dictionaries_6_no_username_rbw():
|
||||
"tests the output"
|
||||
_test_dictionaries(test_dir / '6_no_username', 'rbw')
|
||||
|
||||
|
||||
def test_dictionaries_6_no_username_bw():
|
||||
"tests the output"
|
||||
_test_dictionaries(test_dir / '6_no_username', 'bw')
|
||||
|
||||
|
||||
def test_dictionaries_8_multi_variable_rbw():
|
||||
"tests the output"
|
||||
with raises(DictConsistencyError) as err:
|
||||
|
|
|
|||
Loading…
Reference in a new issue