mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-02 13:45:10 -05:00
95 lines
3.6 KiB
YAML
95 lines
3.6 KiB
YAML
---
|
|
- name: Verify
|
|
hosts: all
|
|
gather_facts: false
|
|
|
|
vars_files:
|
|
- ../../defaults/main.yml
|
|
|
|
tasks:
|
|
- name: check if webserver is up
|
|
uri:
|
|
url: "http://{{ paperlessng_listen_address }}:{{ paperlessng_listen_port }}"
|
|
status_code: [200, 302]
|
|
return_content: yes
|
|
register: landingpage
|
|
failed_when: "'Sign in</button>' not in landingpage.content"
|
|
|
|
- name: generate random name and content
|
|
set_fact:
|
|
content: "{{ lookup('password', '/dev/null length=65536 chars=ascii_letters') }}"
|
|
filename: "{{ lookup('password', '/dev/null length=8 chars=ascii_letters') }}"
|
|
|
|
- name: check if document posting works
|
|
uri:
|
|
url: "http://{{ paperlessng_listen_address }}:{{ paperlessng_listen_port }}/api/documents/post_document/"
|
|
method: POST
|
|
body_format: form-multipart
|
|
body:
|
|
document:
|
|
content: "{{ content }}"
|
|
filename: "{{ filename }}.txt"
|
|
headers:
|
|
Authorization: 'Basic {{ (paperlessng_superuser_name + ":" + paperlessng_superuser_password) | b64encode }}'
|
|
Content-Type: text/plain
|
|
return_content: yes
|
|
register: post_document
|
|
failed_when: "'OK' not in post_document.content"
|
|
|
|
- name: verify uploaded document has been accepted
|
|
uri:
|
|
url: "http://{{ paperlessng_listen_address }}:{{ paperlessng_listen_port }}/api/logs/paperless/"
|
|
headers:
|
|
Authorization: 'Basic {{ (paperlessng_superuser_name + ":" + paperlessng_superuser_password) | b64encode }}'
|
|
return_content: yes
|
|
register: logs
|
|
failed_when: "('Consuming ' + filename + '.txt') not in logs.content"
|
|
|
|
- name: sleep till consumption finished
|
|
pause:
|
|
seconds: 10
|
|
|
|
- name: verify uploaded document has been consumed
|
|
uri:
|
|
url: "http://{{ paperlessng_listen_address }}:{{ paperlessng_listen_port }}/api/logs/paperless/"
|
|
headers:
|
|
Authorization: 'Basic {{ (paperlessng_superuser_name + ":" + paperlessng_superuser_password) | b64encode }}'
|
|
return_content: yes
|
|
register: logs
|
|
failed_when: "filename + ' consumption finished' not in logs.content"
|
|
|
|
- name: get documents
|
|
uri:
|
|
url: "http://{{ paperlessng_listen_address }}:{{ paperlessng_listen_port }}/api/documents/"
|
|
headers:
|
|
Authorization: 'Basic {{ (paperlessng_superuser_name + ":" + paperlessng_superuser_password) | b64encode }}'
|
|
return_content: yes
|
|
register: documents
|
|
|
|
- name: set document index
|
|
set_fact:
|
|
index: "{{ documents.json['results'][0]['id'] }}"
|
|
|
|
- name: verify uploaded document is avaiable
|
|
uri:
|
|
url: "http://{{ paperlessng_listen_address }}:{{ paperlessng_listen_port }}/api/documents/{{ index }}/"
|
|
headers:
|
|
Authorization: 'Basic {{ (paperlessng_superuser_name + ":" + paperlessng_superuser_password) | b64encode }}'
|
|
return_content: yes
|
|
register: document
|
|
failed_when: "'Not found.' in document.content or content not in document.json['content']"
|
|
|
|
- name: check if deleting uploaded document works
|
|
uri:
|
|
url: "http://{{ paperlessng_listen_address }}:{{ paperlessng_listen_port }}/api/documents/bulk_edit/"
|
|
method: POST
|
|
body_format: json
|
|
body:
|
|
documents: ["{{ index }}"]
|
|
method: delete
|
|
parameters: {}
|
|
headers:
|
|
Authorization: 'Basic {{ (paperlessng_superuser_name + ":" + paperlessng_superuser_password) | b64encode }}'
|
|
register: delete_document
|
|
failed_when: "'OK' not in delete_document.json['result']"
|