public void SetExtra(string key, object?value) { var serialized = value is null ? null : SafeSerializer.SerializeSafely(value); if (value is not null && serialized is null) { _options.DiagnosticLogger?.Log(SentryLevel.Warning, "{0} Scope Sync - SetExtra k:\"{1}\" v:\"{2}\" - value was serialized as null", null, _name, key, value); }
public void SerializeExtraValue_NumericValueType_ReturnsValueAsToString(object valueType) { var testLogger = new TestLogger(); var actualValue = SafeSerializer.SerializeSafely(valueType, testLogger); Assert.NotNull(actualValue); Assert.AreEqual(valueType.ToString(), actualValue); Assert.IsEmpty(testLogger.Logs); }
public void SerializeExtraValue_ValueSerializable_ReturnsSerializedValue() { var testLogger = new TestLogger(); var actualValue = SafeSerializer.SerializeSafely(new { Member = "testString" }, testLogger); Assert.NotNull(actualValue); Assert.AreEqual("{\"Member\":\"testString\"}", actualValue); Assert.IsEmpty(testLogger.Logs); }
public void SerializeExtraValue_ValueIsString_ReturnsSameString() { var testLogger = new TestLogger(); var expectedValue = "testString"; var actualValue = SafeSerializer.SerializeSafely(expectedValue, testLogger); Assert.NotNull(actualValue); Assert.AreEqual(expectedValue, actualValue); Assert.IsEmpty(testLogger.Logs); }
public void SerializeExtraValue_ValueNotSerializable_ReturnsNull() { var testLogger = new TestLogger(); var actualValue = SafeSerializer.SerializeSafely(new SerializationTestClass(), testLogger); Assert.IsNull(actualValue); Assert.AreEqual(1, testLogger.Logs.Count); var(_, _, exception) = testLogger.Logs.Single(); Assert.NotNull(exception); Assert.IsAssignableFrom <DivideByZeroException>(exception !.InnerException); }