span_context_test.cc 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. // Copyright The OpenTelemetry Authors
  2. // SPDX-License-Identifier: Apache-2.0
  3. #include "opentelemetry/trace/span_context.h"
  4. #include "opentelemetry/trace/span_id.h"
  5. #include "opentelemetry/trace/trace_id.h"
  6. #include <gtest/gtest.h>
  7. #include <string>
  8. using opentelemetry::trace::SpanContext;
  9. namespace trace_api = opentelemetry::trace;
  10. TEST(SpanContextTest, IsSampled)
  11. {
  12. SpanContext s1(true, true);
  13. ASSERT_EQ(s1.IsSampled(), true);
  14. SpanContext s2(false, true);
  15. ASSERT_EQ(s2.IsSampled(), false);
  16. }
  17. TEST(SpanContextTest, IsRemote)
  18. {
  19. SpanContext s1(true, true);
  20. ASSERT_EQ(s1.IsRemote(), true);
  21. SpanContext s2(true, false);
  22. ASSERT_EQ(s2.IsRemote(), false);
  23. }
  24. TEST(SpanContextTest, TraceFlags)
  25. {
  26. SpanContext s1(true, true);
  27. ASSERT_EQ(s1.trace_flags().flags(), 1);
  28. SpanContext s2(false, true);
  29. ASSERT_EQ(s2.trace_flags().flags(), 0);
  30. }
  31. // Test that SpanContext is invalid
  32. TEST(SpanContextTest, Invalid)
  33. {
  34. SpanContext s1 = SpanContext::GetInvalid();
  35. EXPECT_FALSE(s1.IsValid());
  36. // Test that trace id and span id are invalid
  37. EXPECT_EQ(s1.trace_id(), trace_api::TraceId());
  38. EXPECT_EQ(s1.span_id(), trace_api::SpanId());
  39. }