def test_it_cannot_set_tuples_as_metadata_value(self): domain_event = EventA("0A919B3E-5BCB-41DC-B157-8A9E2A7198B", "foo") obj = object() with self.assertRaises(DomainEventException) as ex: domain_event.add_metadata("foo", obj) self.assertEqual(str(ex.exception), "Can only set metadata with simple data types (bool, dict, int, list, string)")
def test_it_cannot_have_duplicate_metadata(self): domain_event = EventA("0A919B3E-5BCB-41DC-B157-8A9E2A7198B", "foo") domain_event.add_metadata("foo", "bar") with self.assertRaises(DomainEventException) as ex: domain_event.add_metadata("foo", "bar") self.assertEqual(str(ex.exception), 'Metadata is already set!')
def test_it_can_add_metadata_with_a_string_as_value(self): domain_event = EventA("0A919B3E-5BCB-41DC-B157-8A9E2A7198BE", "foo") domain_event.add_metadata("foo", "bar") self.assertEqual(domain_event.get_metadata(), [{"foo": "bar"}])
def test_it_can_add_metadata_with_a_list_as_value(self): domain_event = EventA("0A919B3E-5BCB-41DC-B157-8A9E2A7198BE", "foo") domain_event.add_metadata("foo", ['bar', 'baz']) self.assertEqual(domain_event.get_metadata(), [{"foo": ['bar', 'baz']}])
def test_it_can_remove_metadata(self): domain_event = EventA("0A919B3E-5BCB-41DC-B157-8A9E2A7198BE", "foo") domain_event.add_metadata("foo", "bar") self.assertEqual(domain_event.get_metadata(), [{"foo": "bar"}]) domain_event.remove_metadata("foo", "bar") self.assertEqual(domain_event.get_metadata(), [])