You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

59 lines
1.9 KiB

import uuid
from django.test import TestCase
from data_import.pipeline.data import BinaryData, TextData
from examples.models import Example
from projects.tests.utils import prepare_project
class TestTextData(TestCase):
def setUp(self):
self.dic = {
"example_uuid": uuid.uuid4(),
"filename": "test.txt",
"upload_name": "test.txt",
"text": "test",
}
self.project = prepare_project()
def test_parse(self):
data = TextData.parse(**self.dic)
self.assertIsInstance(data, TextData)
self.assertEqual(data.uuid, self.dic["example_uuid"])
self.assertEqual(data.filename, self.dic["filename"])
self.assertEqual(data.upload_name, self.dic["upload_name"])
self.assertEqual(data.text, self.dic["text"])
def test_parse_empty_text(self):
self.dic["text"] = ""
with self.assertRaises(ValueError):
TextData.parse(**self.dic)
def test_create(self):
data = TextData.parse(**self.dic)
example = data.create(self.project.item)
self.assertIsInstance(example, Example)
self.assertEqual(example.uuid, self.dic["example_uuid"])
class TestBinaryData(TestCase):
def setUp(self):
self.dic = {
"example_uuid": uuid.uuid4(),
"filename": "test.txt",
"upload_name": "test.txt",
}
self.project = prepare_project()
def test_parse(self):
data = BinaryData.parse(**self.dic)
self.assertIsInstance(data, BinaryData)
self.assertEqual(data.uuid, self.dic["example_uuid"])
def test_create(self):
data = BinaryData.parse(**self.dic)
example = data.create(self.project.item)
self.assertIsInstance(example, Example)
self.assertEqual(example.uuid, self.dic["example_uuid"])
self.assertEqual(example.text, None)