public void EncodeBinaryModeEventData_TextType_NotStringOrBytes() { var cloudEvent = new CloudEvent().PopulateRequiredAttributes(); cloudEvent.Data = new object(); cloudEvent.DataContentType = "text/anything"; var formatter = new JsonEventFormatter(); Assert.Throws <ArgumentException>(() => formatter.EncodeBinaryModeEventData(cloudEvent)); }
public void EncodeBinaryModeEventData_ArbitraryType_NotBytes() { var cloudEvent = new CloudEvent().PopulateRequiredAttributes(); cloudEvent.Data = new object(); cloudEvent.DataContentType = "not_text/or_json"; var formatter = new JsonEventFormatter(); Assert.Throws <ArgumentException>(() => formatter.EncodeBinaryModeEventData(cloudEvent)); }
public void EncodeBinaryModeEventData_JsonDataType_CustomSerializer() { var cloudEvent = new CloudEvent().PopulateRequiredAttributes(); cloudEvent.Data = new { DateValue = new DateTime(2021, 2, 19, 12, 49, 34, DateTimeKind.Utc) }; cloudEvent.DataContentType = "application/json"; var serializer = new JsonSerializer { DateFormatString = "yyyy-MM-dd" }; var formatter = new JsonEventFormatter(serializer); var bytes = formatter.EncodeBinaryModeEventData(cloudEvent); JObject data = ParseJson(bytes); var asserter = new JTokenAsserter { { "DateValue", JTokenType.String, "2021-02-19" } }; asserter.AssertProperties(data, assertCount: true); }