File diff 5193ae7fc0e1 → 2d83b9633ce7
conntrackt/tests/test_utils.py
Show inline comments
 
@@ -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")