Bug fixes and add tests.

This commit is contained in:
Rudd-O 2019-07-10 04:36:07 +00:00
parent b74c21d028
commit 9bfc80d713
2 changed files with 47 additions and 5 deletions

View File

@ -16,7 +16,7 @@ UNDEFINED = object()
class LookupModule(LookupBase):
def run(self, args, variables=None, vm=None, create=True, no_symbols=False, default=UNDEFINED):
def run(self, args, variables=None, vm=None, create=True, multiline=False, no_symbols=False, default=UNDEFINED):
ret = []
@ -32,7 +32,9 @@ class LookupModule(LookupBase):
display.vvvv(u"Password lookup using command %s" % cmd)
try:
ret = subprocess.check_output(cmd)[:-1]
ret = subprocess.check_output(cmd)
if not multiline:
ret = ret[:-1]
except subprocess.CalledProcessError as e:
if e.returncode == 8:
if create or default is UNDEFINED:
@ -41,6 +43,4 @@ class LookupModule(LookupBase):
else:
raise AnsibleError("qubes-pass lookup failed: %s" % e)
if sys.version_info.major == 2:
return [ret]
return [ret.decode("utf-8")]
return [ret]

View File

@ -0,0 +1,42 @@
- hosts: localhost
gather_facts: no
tasks:
- name: delete
shell: |
qvm-pass rm test-qubes-pass || true
- name: test qubes-pass lookup
shell: |
password={{ lookup("qubes-pass", "test-qubes-pass") | quote }}
echo "$password"
register: firsttry
- name: test qubes-pass lookup second time
shell: |
password={{ lookup("qubes-pass", "test-qubes-pass") | quote }}
echo "$password"
register: secondtry
- name: evaluate if they match
shell: |
firsttry={{ firsttry.stdout | quote }}
secondtry={{ secondtry.stdout | quote }}
if [ "$firsttry" != "$secondtry" ] ; then echo no match ; exit 8 ; fi
- name: delete
shell: qvm-pass rm test-qubes-pass
- name: generate randomness
shell: |
pwd
dd if=/dev/urandom of=.randomdata bs=16384 count=1
- name: test qubes-pass insert
shell: |
qvm-pass insert -m test-qubes-pass < .randomdata
- name: evaluate if they match
shell: |
set -e
echo {{ lookup("qubes-pass", "test-qubes-pass", create=False, multiline=True) | b64encode | quote }} | base64 -d > .randomdatafetched
ls -la .randomdata .randomdatafetched
diff .randomdata .randomdatafetched
- name: delete
shell: |
qvm-pass rm test-qubes-pass
rm -f .randomdata .randomdatafetched