From 60721fab319793105af34873f07cd940a6d7f494 Mon Sep 17 00:00:00 2001 From: Devin Gaffney Date: Mon, 4 Nov 2024 07:15:11 -0800 Subject: [PATCH 1/4] CV2-5050 fix for null reference error on language resolution --- app/main/lib/langid.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/main/lib/langid.py b/app/main/lib/langid.py index dcb7dc8c..b6f5417e 100644 --- a/app/main/lib/langid.py +++ b/app/main/lib/langid.py @@ -70,8 +70,8 @@ def langid(text): prediction = cld3.get_language(text) return { 'result': { - 'language': prediction.language, - 'confidence': prediction.probability + 'language': prediction and prediction.language, + 'confidence': prediction and prediction.probability }, 'raw': prediction, 'model': 'CLD3', From 3b8a6ca2ac6e7daf3ad68baab194be03daa90dbf Mon Sep 17 00:00:00 2001 From: Devin Gaffney Date: Mon, 4 Nov 2024 07:28:32 -0800 Subject: [PATCH 2/4] add test coverage for null events --- app/test/test_langid.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/app/test/test_langid.py b/app/test/test_langid.py index 395f2031..47f15a05 100644 --- a/app/test/test_langid.py +++ b/app/test/test_langid.py @@ -120,6 +120,19 @@ def test_langid_api_get_without_text(self): self.assertEqual('application/json', response.content_type) self.assertEqual(200, response.status_code) + def test_null_prediction_cld(self): + with patch('cld3.get_language', ) as mock_cld3_get_language: + mock_cld3_get_language.return_value = None + expected = { + 'result': { + 'language': None, + 'confidence': None + }, + 'raw': None, + 'model': 'CLD3', + } + self.assertEqual(Cld3LangidProvider.langid(text), {}) + def test_langid_api_post(self): response = self.client.post( '/text/langid/', From 6962ccd5de1b16c3a62ee87f7c1278a11ee92e4e Mon Sep 17 00:00:00 2001 From: Devin Gaffney Date: Mon, 4 Nov 2024 07:43:01 -0800 Subject: [PATCH 3/4] fix typo --- app/test/test_langid.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/test/test_langid.py b/app/test/test_langid.py index 47f15a05..563c6975 100644 --- a/app/test/test_langid.py +++ b/app/test/test_langid.py @@ -131,7 +131,7 @@ def test_null_prediction_cld(self): 'raw': None, 'model': 'CLD3', } - self.assertEqual(Cld3LangidProvider.langid(text), {}) + self.assertEqual(Cld3LangidProvider.langid("foo bar"), {}) def test_langid_api_post(self): response = self.client.post( From 7416be430691be879819996983227d3226dcc3d5 Mon Sep 17 00:00:00 2001 From: Devin Gaffney Date: Mon, 4 Nov 2024 07:56:36 -0800 Subject: [PATCH 4/4] flesh out error expectation --- app/test/test_langid.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/test/test_langid.py b/app/test/test_langid.py index 563c6975..94b45df6 100644 --- a/app/test/test_langid.py +++ b/app/test/test_langid.py @@ -131,7 +131,7 @@ def test_null_prediction_cld(self): 'raw': None, 'model': 'CLD3', } - self.assertEqual(Cld3LangidProvider.langid("foo bar"), {}) + self.assertEqual(Cld3LangidProvider.langid("foo bar"), {'model': 'CLD3', 'raw': None, 'result': {'confidence': None, 'language': None}}) def test_langid_api_post(self): response = self.client.post(