public void Equals_WorksCorrectlyBetween64And128BitIds()
        {
            var traceId1 = TraceId.CreateRandomDataDogCompatible();
            var traceId2 = TraceId.CreateFromString(TraceId.Zero.Lower.ToString("x16") + traceId1.Lower.ToString("x16"));

            using (new AssertionScope())
            {
                traceId1.Lower.Should().Be(traceId2.Lower);
                traceId1.Should().NotBe(TraceId.CreateFromString(traceId2.ToString()));
                traceId2.Should().NotBe(TraceId.CreateDataDogCompatibleFromDecimalString(traceId1.ToString()));
                traceId1.GetHashCode().Should().NotBe(traceId2.GetHashCode());
            }
        }
        public void Equals_WorksCorrectlyFor64BitId()
        {
            var traceId1 = TraceId.CreateRandomDataDogCompatible();
            var traceId2 = TraceId.CreateRandomDataDogCompatible();

            using (new AssertionScope())
            {
                traceId1.Should().Be(TraceId.CreateDataDogCompatibleFromDecimalString(traceId1.ToString()));
                traceId1.GetHashCode().Should().Be(TraceId.CreateDataDogCompatibleFromDecimalString(traceId1.ToString()).GetHashCode());
                traceId2.Should().Be(TraceId.CreateDataDogCompatibleFromDecimalString(traceId2.ToString()));
                traceId2.GetHashCode().Should().Be(TraceId.CreateDataDogCompatibleFromDecimalString(traceId2.ToString()).GetHashCode());
                traceId1.Should().NotBe(TraceId.CreateDataDogCompatibleFromDecimalString(traceId2.ToString()));
                traceId2.Should().NotBe(TraceId.CreateDataDogCompatibleFromDecimalString(traceId1.ToString()));
            }
        }
        internal static void LogEventContains(log4net.Core.LoggingEvent logEvent, string service, string version, string env, TraceId traceId, ulong spanId)
        {
            Assert.Contains(CorrelationIdentifier.ServiceKey, logEvent.Properties.GetKeys());
            Assert.Equal(service, logEvent.Properties[CorrelationIdentifier.ServiceKey].ToString());

            Assert.Contains(CorrelationIdentifier.VersionKey, logEvent.Properties.GetKeys());
            Assert.Equal(version, logEvent.Properties[CorrelationIdentifier.VersionKey].ToString());

            Assert.Contains(CorrelationIdentifier.EnvKey, logEvent.Properties.GetKeys());
            Assert.Equal(env, logEvent.Properties[CorrelationIdentifier.EnvKey].ToString());

            Assert.Contains(CorrelationIdentifier.TraceIdKey, logEvent.Properties.GetKeys());
            Assert.Equal(traceId, TraceId.CreateDataDogCompatibleFromDecimalString(logEvent.Properties[CorrelationIdentifier.TraceIdKey].ToString()));

            Assert.Contains(CorrelationIdentifier.SpanIdKey, logEvent.Properties.GetKeys());
            Assert.Equal(spanId, ulong.Parse(logEvent.Properties[CorrelationIdentifier.SpanIdKey].ToString()));
        }
Esempio n. 4
0
        internal static void Contains(Serilog.Events.LogEvent logEvent, string service, string version, string env, TraceId traceId, ulong spanId)
        {
            Assert.True(logEvent.Properties.ContainsKey(CorrelationIdentifier.SerilogServiceKey));
            Assert.Equal(service, logEvent.Properties[CorrelationIdentifier.SerilogServiceKey].ToString().Trim(new[] { '\"' }), ignoreCase: true);

            Assert.True(logEvent.Properties.ContainsKey(CorrelationIdentifier.SerilogVersionKey));
            Assert.Equal(version, logEvent.Properties[CorrelationIdentifier.SerilogVersionKey].ToString().Trim(new[] { '\"' }), ignoreCase: true);

            Assert.True(logEvent.Properties.ContainsKey(CorrelationIdentifier.SerilogEnvKey));
            Assert.Equal(env, logEvent.Properties[CorrelationIdentifier.SerilogEnvKey].ToString().Trim(new[] { '\"' }), ignoreCase: true);

            Assert.True(logEvent.Properties.ContainsKey(CorrelationIdentifier.SerilogTraceIdKey));
            Assert.Equal(traceId, TraceId.CreateDataDogCompatibleFromDecimalString(logEvent.Properties[CorrelationIdentifier.SerilogTraceIdKey].ToString().Trim(new[] { '\"' })));

            Assert.True(logEvent.Properties.ContainsKey(CorrelationIdentifier.SerilogSpanIdKey));
            Assert.Equal(spanId, ulong.Parse(logEvent.Properties[CorrelationIdentifier.SerilogSpanIdKey].ToString().Trim(new[] { '\"' })));
        }
Esempio n. 5
0
 public TraceId CreateFromString(string id) => TraceId.CreateDataDogCompatibleFromDecimalString(id);