#!/usr/bin/python3 import requests, json, unittest class PreprocessorTest(unittest.TestCase): preprocessor_url = 'http://127.0.0.1:10002/preprocess' def do_preprocess(self, data): response = requests.post(url = self.preprocessor_url, json = data) return json.loads(response.text) def testAgltWithLemmatization(self): data = {'language':'pl', 'lemmatize':True, 'sentences':['naprawiłeś już samochody?']} result = self.do_preprocess(data)['processed_sentences'][0] self.assertEqual(result['normalized'],'naprawiłeś już samochody?') self.assertEqual(result['tokens'],'naprawić już samochód') self.assertEqual(result['borders'], [0, 10, 11, 14, 15, 24]) def testAgltWithoutLemmatization(self): data = {'language':'pl', 'lemmatize':False, 'sentences':['naprawiłeś już samochody?']} result = self.do_preprocess(data)['processed_sentences'][0] self.assertEqual(result['normalized'],'naprawiłeś już samochody?') self.assertEqual(result['tokens'],'naprawiłeś już samochody') self.assertEqual(result['borders'], [0, 10, 11, 14, 15, 24]) def testIncompleteRequestLanguage(self): data = {'lemmatize':False, 'sentences':['naprawiłeś już samochody?']} response = requests.post(url = self.preprocessor_url, json = data) self.assertEqual(response.status_code, 400) json_result = json.loads(response.text) self.assertEqual(json_result['error'], 'Missing parameter: language') def testIncompleteRequestLemmatize(self): data = {'language':'pl', 'sentences':['naprawiłeś już samochody?']} response = requests.post(url = self.preprocessor_url, json = data) self.assertEqual(response.status_code, 400) json_result = json.loads(response.text) self.assertEqual(json_result['error'], 'Missing parameter: lemmatize') def testIncompleteRequestSentences(self): data = {'language':'pl', 'lemmatize':False} response = requests.post(url = self.preprocessor_url, json = data) self.assertEqual(response.status_code, 400) json_result = json.loads(response.text) self.assertEqual(json_result['error'], 'Missing parameter: sentences') if __name__ == '__main__': unittest.main()