|
@@ -16,24 +16,25 @@
|
|
|
#
|
|
|
# You should have received a copy of the GNU General Public License along with
|
|
|
# Django Conntrackt. If not, see <http://www.gnu.org/licenses/>.
|
|
|
#
|
|
|
|
|
|
|
|
|
# Django imports.
|
|
|
from django.test import TestCase
|
|
|
|
|
|
# Third-party Python library imports.
|
|
|
import palette
|
|
|
import pydot
|
|
|
import mock
|
|
|
|
|
|
# Application imports.
|
|
|
from conntrackt.models import Entity, Project, Communication
|
|
|
from conntrackt import utils
|
|
|
from .factories import setup_test_data
|
|
|
|
|
|
|
|
|
class GenerateEntityIptablesTest(TestCase):
|
|
|
|
|
|
def setUp(self):
|
|
|
"""
|
|
|
Set-up some test data.
|
|
@@ -278,12 +279,49 @@ class GenerateProjectDiagramTest(TestCas
|
|
|
"""
|
|
|
Tests if graph properties have been set-up properly.
|
|
|
"""
|
|
|
|
|
|
# Get diagram for project.
|
|
|
project = Project.objects.get(pk=1)
|
|
|
diagram = utils.generate_project_diagram(project)
|
|
|
|
|
|
self.assertEqual("digraph", diagram.get_graph_type())
|
|
|
self.assertEqual("transparent", diagram.get_bgcolor())
|
|
|
self.assertEqual("1.5", diagram.get_nodesep())
|
|
|
self.assertEqual([{"shape": "record"}], diagram.get_node_defaults())
|
|
|
|
|
|
|
|
|
class ListFormatterCallbackTest(TestCase):
|
|
|
"""
|
|
|
Tests the list_formatter_callback function.
|
|
|
"""
|
|
|
|
|
|
def test_get_absolute_url(self):
|
|
|
"""
|
|
|
Test the return result in case the get_absolute_url is available on
|
|
|
passed object instance.
|
|
|
"""
|
|
|
|
|
|
# Set-up a minimal object mock.
|
|
|
obj = mock.Mock(spec=["_meta", "__repr__", "get_absolute_url"])
|
|
|
obj._meta = mock.Mock()
|
|
|
obj._meta.verbose_name = "name"
|
|
|
obj.__repr__ = mock.Mock()
|
|
|
obj.__repr__.return_value = "representation"
|
|
|
obj.get_absolute_url.return_value = "url"
|
|
|
|
|
|
self.assertEqual(utils.list_formatter_callback(obj), '<strong>Name</strong>: <a href="url">representation</a>')
|
|
|
|
|
|
def test_no_get_absolute_url(self):
|
|
|
"""
|
|
|
Test the return result in case the get_absolute_url is not available on
|
|
|
passed object instance.
|
|
|
"""
|
|
|
|
|
|
# Set-up a minimal object mock.
|
|
|
obj = mock.Mock(spec=["_meta", "__repr__"])
|
|
|
obj._meta = mock.Mock()
|
|
|
obj._meta.verbose_name = "name"
|
|
|
obj.__repr__ = mock.Mock()
|
|
|
obj.__repr__.return_value = "representation"
|
|
|
|
|
|
self.assertEqual(utils.list_formatter_callback(obj), "<strong>Name</strong>: representation")
|