Source code for repository.tests.test_models
from repository.models import Repository
from repository.tests.services.simple_json_rest import get, configuration
import unittest
[docs]class TestRepository(unittest.TestCase):
[docs] def setUp(self):
self.repository = Repository.objects.create(
name = 'Test',
description = 'describe',
configuration = configuration
)
[docs] def test_get_configuration(self):
self.assertIsInstance(self.repository._get_configuration(), dict)
[docs] def test_methods(self):
"""
There should be an attribute for each configured method.
"""
for method in self.repository.configured_methods:
self.assertTrue(hasattr(self.repository, method))
[docs] def test_get_data_by_path(self):
path = "path.to.my.data"
data = {
'path': {
'to': {
'my': {
'data': 42
}
}
}
}
self.assertEqual(42, self.repository._get_data_by_path(data, path))
path = ""
data = 42
self.assertEqual(42, self.repository._get_data_by_path(data, path))
path = "path"
data = {
'path': 42
}
self.assertEqual(42, self.repository._get_data_by_path(data, path))
path = ""
data = [42, 43, 44, 45]
self.assertEqual(42, self.repository._get_data_by_path(data, path)[0])
with self.assertRaises(RuntimeError):
path = "what.is.this"
data = {
'path': {
'to': {
'my': {
'data': 42
}
}
}
}
self.repository._get_data_by_path(data, path)