Skip to content

Commit

Permalink
Add test for failed initialization of nn-ensemble model
Browse files Browse the repository at this point in the history
  • Loading branch information
juhoinkinen committed Apr 11, 2024
1 parent 7a1cfef commit 1c04a1c
Showing 1 changed file with 22 additions and 1 deletion.
23 changes: 22 additions & 1 deletion tests/test_backend_nn_ensemble.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,18 @@

import time
from datetime import datetime, timedelta, timezone
from unittest import mock

import py.path
import pytest

import annif.backend
import annif.corpus
from annif.exception import NotInitializedException, NotSupportedException
from annif.exception import (
NotInitializedException,
NotSupportedException,
OperationFailedException,
)

pytest.importorskip("annif.backend.nn_ensemble")
lmdb = pytest.importorskip("lmdb")
Expand Down Expand Up @@ -192,6 +197,22 @@ def test_nn_ensemble_modification_time(app_project):
assert datetime.now(timezone.utc) - nn_ensemble.modification_time < timedelta(1)


@mock.patch("annif.backend.nn_ensemble.load_model", side_effect=ValueError)
def test_nn_ensemble_initialize_error(load_model, app_project):
nn_ensemble_type = annif.backend.get_backend("nn_ensemble")
nn_ensemble = nn_ensemble_type(
backend_id="nn_ensemble",
config_params={"sources": "dummy-en"},
project=app_project,
)
assert nn_ensemble._model is None
with pytest.raises(
OperationFailedException, match=r"loading model from .*; model metadata: .*"
):
nn_ensemble.initialize()
assert load_model.called


def test_nn_ensemble_initialize(app_project):
nn_ensemble_type = annif.backend.get_backend("nn_ensemble")
nn_ensemble = nn_ensemble_type(
Expand Down

0 comments on commit 1c04a1c

Please sign in to comment.