示例#1
0
    def test_eq_different(self):
        """
        L{ims.data.Incident.__eq__} between two different incidents.
        """
        incident1 = Incident.from_json_text(incident1_text, 1)
        incident2 = Incident.from_json_text(incident2_text, 2)

        self.assertNotEquals(incident1, incident2)
示例#2
0
    def test_to_json_text(self):
        """
        L{ims.data.Incident.to_json_text} produces same incident as json.
        """
        incident1a = Incident.from_json_text(incident1_text, 1)
        incident1a_text = incident1a.to_json_text()
        incident1b = Incident.from_json_text(incident1a_text, 1)

        self.assertEquals(incident1a, incident1b)
示例#3
0
    def test_eq_equal(self):
        """
        L{ims.data.Incident.__eq__} between equal incidents.
        """
        incident1a = Incident.from_json_text(incident1_text, 1)
        incident1b = Incident.from_json_text(incident1_text, 1)

        self.assertEquals(incident1a, incident1a)
        self.assertEquals(incident1a, incident1b)
示例#4
0
    def test_validate(self):
        """
        L{ims.data.Incident.validate} of valid incident.
        """
        incident = Incident.from_json_text(incident1_text, 1)

        incident.validate()
示例#5
0
    def test_eq_other(self):
        """
        L{ims.data.Incident.__eq__} between incident and other type.
        """
        incident = Incident.from_json_text(incident1_text, 1)

        self.assertNotEquals(incident, object())
示例#6
0
    def test_validate_none_rangers(self):
        """
        L{ims.data.Incident.validate} of incident with C{None} Rangers.
        """
        incident = Incident.from_json_text(incident1_text, 1)
        incident.rangers = None

        self.assertRaises(InvalidDataError, incident.validate)
示例#7
0
    def test_validate_not_int_priority(self):
        """
        L{ims.data.Incident.validate} of incident with non-int
        priority.
        """
        incident = Incident.from_json_text(incident1_text, 1)
        incident.priority = "1"

        self.assertRaises(InvalidDataError, incident.validate)
示例#8
0
    def test_validate_not_datetime_closed(self):
        """
        L{ims.data.Incident.validate} of incident with non-datetime
        closed time.
        """
        incident = Incident.from_json_text(incident1_text, 1)
        incident.closed = 0

        self.assertRaises(InvalidDataError, incident.validate)
示例#9
0
    def test_validate_not_unicode_summary(self):
        """
        L{ims.data.Incident.validate} of incident with non-unicode
        summary.
        """
        incident = Incident.from_json_text(incident1_text, 1)
        incident.summary = b"bytes"

        self.assertRaises(InvalidDataError, incident.validate)
示例#10
0
    def test_validate_not_unicode_types(self):
        """
        L{ims.data.Incident.validate} of incident with non-unicode
        incident types.
        """
        incident = Incident.from_json_text(incident1_text, 1)
        incident.incident_types.append(b"bytes")

        self.assertRaises(InvalidDataError, incident.validate)
示例#11
0
 def test_str(self):
     """
     L{ims.data.Incident.__str__}
     """
     incident = Incident.from_json_text(incident1_text, 1)
     self.assertEquals(
         str(incident),
         "{i.number}: {i.summary}".format(i=incident)
     )
示例#12
0
    def test_validate_not_int_priority_bounds(self):
        """
        L{ims.data.Incident.validate} of incident with out-of-bounds
        priority.
        """
        incident = Incident.from_json_text(incident1_text, 1)

        incident.priority = "0"
        self.assertRaises(InvalidDataError, incident.validate)

        incident.priority = "6"
        self.assertRaises(InvalidDataError, incident.validate)
示例#13
0
 def test_repr(self):
     """
     L{ims.data.Incident.__repr__}
     """
     incident = Incident.from_json_text(incident1_text, 1)
     self.assertEquals(
         repr(incident),
         "{i.__class__.__name__}("
         "number={i.number!r},"
         "rangers={i.rangers!r},"
         "location={i.location!r},"
         "incident_types={i.incident_types!r},"
         "summary={i.summary!r},"
         "report_entries={i.report_entries!r},"
         "created={i.created!r},"
         "dispatched={i.dispatched!r},"
         "on_scene={i.on_scene!r},"
         "closed={i.closed!r},"
         "priority={i.priority!r})"
         .format(i=incident)
     )
示例#14
0
 def test_from_json_text(self):
     """
     Test for L{ims.data.Incident.from_json_text} with incident
     data.
     """
     self.equals_1(Incident.from_json_text(incident1_text, 1))