Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add some more processor tests #120

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions nua/e2e/assets/plaintext_manual_split.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
This is a very small paragraph that goes alone

This is intended to be a decently sized paragraph that should also be by itself. Isn't it great? Now users can split their own documents manually! :D

This one as well

Let's now do a very long one to see if our backup splitting works. Here follows some random text. Lorsque j'avais six ans j'ai vu, une fois, une magnifique image, dans un livre sur la Forêt Vierge qui s'appelait"Histoires Vécues". Ça représentait un serpent boa qui avalait un fauve. Voilà la copie du dessin.
On disait dans le livre :"Les serpents boas avalent leur proie tout entière, sans la mâcher. Ensuite ils ne peuvent plus bouger et ils dorment pendant les six mois de leur digestion."
J'ai alors beaucoup réfléchi sur les aventures de la jungle et, à mon tour, j'ai réussi, avec un crayon de couleur, à tracer mon premier dessin. Mon dessin numéro i. Il était comme ça :
J'ai montré mon chef-d'oeuvre aux grandes personnes et je leur ai demandé si mon dessin leur faisait peur.
Elles m'ont répondu :"Pourquoi un chapeau ferait-il peur ?"
Mon dessin ne représentait pas un chapeau. Il représentait un serpent boa qui digérait un éléphant. J'ai alors dessiné l'intérieur du serpent boa, afin que les grandes personnes puissent comprendre. Elles ont toujours besoin d'explications. Mon dessin numéro 2 était comme ça:
Les grandes personnes m'ont conseillé de laisser de côté les dessins de serpents boas ouverts ou fermés, et de m'intéresser plutôt à la géographie, à l'histoire, au calcul et à la grammaire. C'est ainsi que j'ai abandonné, à l'âge de six ans, une magnifique carrière de peintre. J'avais été découragé par l'insuccès de mon dessin numéro i et de mon dessin numéro 2. Les grandes personnes ne comprennent jamais rien toutes seules, et c'est fatigant, pour les enfants, de toujours et toujours leur donner des explications.
J'ai donc dû choisir un autre métier et j'ai appris à piloter des avions. J'ai volé un peu partout dans le monde. Et la géographie, c'est exact, m'a beaucoup servi. Je savais reconnaître, du premier coup d'oeil la Chine de l'Arizona. C'est très utile, si l'on est égaré pendant la nuit.
J'ai ainsi eu, au cours de ma vie, des tas de contacts avec des tas de gens sérieux. J'ai beaucoup vécu chez les grandes personnes. Je les ai vues de très près. Ça n'a pas trop amélioré mon opinion.
Quand j'en rencontrais une qui me paraissait un peu lucide, je faisais l'expérience sur elle de mon dessin numéro i que j'ai toujours conservé. Je voulais savoir si elle était vraiment compréhensive. Mais toujours elle me répondait :"C'e§t un chapeau."Alors je ne lui parlais ni de serpents boas, ni de forêts vierges, ni d'étoiles. Je me mettais à sa portée. Je lui parlais de bridge, de golf, de politique et de cravates. Et la grande personne était bien contente de connaître un homme aussi raisonnable.
On disait dans le livre :"Les serpents boas avalent leur proie tout entière, sans la mâcher. Ensuite ils ne peuvent plus bouger et ils dorment pendant les six mois de leur digestion."
J'ai alors beaucoup réfléchi sur les aventures de la jungle et, à mon tour, j'ai réussi, avec un crayon de couleur, à tracer mon premier dessin. Mon dessin numéro i. Il était comme ça :
J'ai montré mon chef-d'oeuvre aux grandes personnes et je leur ai demandé si mon dessin leur faisait peur.
Elles m'ont répondu :"Pourquoi un chapeau ferait-il peur ?"
Mon dessin ne représentait pas un chapeau. Il représentait un serpent boa qui digérait un éléphant. J'ai alors dessiné l'intérieur du serpent boa, afin que les grandes personnes puissent comprendre. Elles ont toujours besoin d'explications. Mon dessin numéro 2 était comme ça:
Les grandes personnes m'ont conseillé de laisser de côté les dessins de serpents boas ouverts ou fermés, et de m'intéresser plutôt à la géographie, à l'histoire, au calcul et à la grammaire. C'est ainsi que j'ai abandonné, à l'âge de six ans, une magnifique carrière de peintre. J'avais été découragé par l'insuccès de mon dessin numéro i et de mon dessin numéro 2. Les grandes personnes ne comprennent jamais rien toutes seules, et c'est fatigant, pour les enfants, de toujours et toujours leur donner des explications.
J'ai donc dû choisir un autre métier et j'ai appris à piloter des avions. J'ai volé un peu partout dans le monde. Et la géographie, c'est exact, m'a beaucoup servi. Je savais reconnaître, du premier coup d'oeil la Chine de l'Arizona. C'est très utile, si l'on est égaré pendant la nuit.
J'ai ainsi eu, au cours de ma vie, des tas de contacts avec des tas de gens sérieux. J'ai beaucoup vécu chez les grandes personnes. Je les ai vues de très près. Ça n'a pas trop amélioré mon opinion.
Quand j'en rencontrais une qui me paraissait un peu lucide, je faisais l'expérience sur elle de mon dessin numéro i que j'ai toujours conservé. Je voulais savoir si elle était vraiment compréhensive. Mais toujours elle me répondait :"C'e§t un chapeau."Alors je ne lui parlais ni de serpents boas, ni de forêts vierges, ni d'étoiles. Je me mettais à sa portée. Je lui parlais de bridge, de golf, de politique et de cravates. Et la grande personne était bien contente de connaître un homme aussi raisonnable.
Binary file added nua/e2e/assets/test_slides.pptx
Binary file not shown.
24 changes: 24 additions & 0 deletions nua/e2e/regional/test_processor.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

import pytest
from nuclia.sdk.process import NucliaProcessing
from nuclia.lib.nua import NuaClient

from nuclia.data import get_auth

FILE_PATH = f"{Path(__file__).parent.parent}/assets/"

Expand All @@ -22,6 +25,27 @@
)


@pytest.mark.timeout(660)
def test_pptx(nua_config):
nc = NucliaProcessing()
path = define_path("sample.pptx")
payload = nc.process_file(path, kbid="kbid", timeout=300)

Check failure on line 32 in nua/e2e/regional/test_processor.py

View workflow job for this annotation

GitHub Actions / JUnit Test Report

test_processor.test_pptx[europe-1.stashify.cloud]

FileNotFoundError: [Errno 2] No such file or directory: '/home/runner/work/e2e/e2e/nua/e2e/assets/sample.pptx'
Raw output
nua_config = 'europe-1.stashify.cloud'

    @pytest.mark.timeout(660)
    def test_pptx(nua_config):
        nc = NucliaProcessing()
        path = define_path("sample.pptx")
>       payload = nc.process_file(path, kbid="kbid", timeout=300)

nua/e2e/regional/test_processor.py:32: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/opt/hostedtoolcache/Python/3.9.20/x64/lib/python3.9/site-packages/nuclia/decorators.py:167: in wrapper_checkout_nua
    return func(*args, **kwargs)
/opt/hostedtoolcache/Python/3.9.20/x64/lib/python3.9/site-packages/nuclia/sdk/process.py:23: in process_file
    response = nc.process_file(path, kbid)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <nuclia.lib.nua.NuaClient object at 0x7fe126e0a6d0>
path = '/home/runner/work/e2e/e2e/nua/e2e/assets/sample.pptx', kbid = 'kbid'

    def process_file(self, path: str, kbid: str = "default") -> PushResponseV2:
        filename = path.split("/")[-1]
        upload_endpoint = f"{self.url}{UPLOAD_PROCESS}"
    
        headers = self.headers.copy()
        headers["X-FILENAME"] = base64.b64encode(filename.encode()).decode()
>       with open(path, "rb") as file_to_upload:
E       FileNotFoundError: [Errno 2] No such file or directory: '/home/runner/work/e2e/e2e/nua/e2e/assets/sample.pptx'

/opt/hostedtoolcache/Python/3.9.20/x64/lib/python3.9/site-packages/nuclia/lib/nua.py:295: FileNotFoundError
assert payload
assert "This is a test ppt" in payload.extracted_text[0].body.text


@pytest.mark.timeout(660)
def test_manual_split(nua_config):
auth = get_auth()
nua_id = auth._config.get_default_nua()
nua_obj = auth._config.get_nua(nua_id)
nc = NuaClient(region=nua_obj.region, account=nua_obj.account, token=nua_obj.token)
path = define_path("plaintext_manual_split.txt")
payload = nc.process_file(path, kbid="kbid", timeout=300)

Check failure on line 44 in nua/e2e/regional/test_processor.py

View workflow job for this annotation

GitHub Actions / JUnit Test Report

test_processor.test_manual_split[europe-1.stashify.cloud]

TypeError: process_file() got an unexpected keyword argument 'timeout'
Raw output
nua_config = 'europe-1.stashify.cloud'

    @pytest.mark.timeout(660)
    def test_manual_split(nua_config):
        auth = get_auth()
        nua_id = auth._config.get_default_nua()
        nua_obj = auth._config.get_nua(nua_id)
        nc = NuaClient(region=nua_obj.region, account=nua_obj.account, token=nua_obj.token)
        path = define_path("plaintext_manual_split.txt")
>       payload = nc.process_file(path, kbid="kbid", timeout=300)
E       TypeError: process_file() got an unexpected keyword argument 'timeout'

nua/e2e/regional/test_processor.py:44: TypeError
assert payload
# TODO: Check extracted paragraphs


@pytest.mark.timeout(360)
def test_video(nua_config):
path = define_path("simple_video.mp4")
Expand Down
Loading