MCPcopy
hub / github.com/grafana/tempo / TestStatic_AsAnyValue

Function TestStatic_AsAnyValue

pkg/traceql/engine_test.go:474–526  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

472}
473
474func TestStatic_AsAnyValue(t *testing.T) {
475 tt := []struct {
476 s Static
477 expected *v1.AnyValue
478 }{
479 {NewStaticInt(5), &v1.AnyValue{Value: &v1.AnyValue_IntValue{IntValue: 5}}},
480 {NewStaticString("foo"), &v1.AnyValue{Value: &v1.AnyValue_StringValue{StringValue: "foo"}}},
481 {NewStaticFloat(5.0), &v1.AnyValue{Value: &v1.AnyValue_DoubleValue{DoubleValue: 5.0}}},
482 {NewStaticBool(true), &v1.AnyValue{Value: &v1.AnyValue_BoolValue{BoolValue: true}}},
483 {NewStaticDuration(5 * time.Second), &v1.AnyValue{Value: &v1.AnyValue_StringValue{StringValue: "5s"}}},
484 {NewStaticStatus(StatusOk), &v1.AnyValue{Value: &v1.AnyValue_StringValue{StringValue: "ok"}}},
485 {NewStaticKind(KindInternal), &v1.AnyValue{Value: &v1.AnyValue_StringValue{StringValue: "internal"}}},
486 {NewStaticNil(), &v1.AnyValue{Value: &v1.AnyValue_StringValue{StringValue: "nil"}}},
487 // Test for arrays
488 {
489 NewStaticIntArray([]int{1, 2}),
490 &v1.AnyValue{
491 Value: &v1.AnyValue_ArrayValue{
492 ArrayValue: &v1.ArrayValue{Values: []*v1.AnyValue{{Value: &v1.AnyValue_IntValue{IntValue: 1}}, {Value: &v1.AnyValue_IntValue{IntValue: 2}}}},
493 },
494 },
495 },
496 {
497 NewStaticFloatArray([]float64{1.1, 2.2}),
498 &v1.AnyValue{
499 Value: &v1.AnyValue_ArrayValue{
500 ArrayValue: &v1.ArrayValue{Values: []*v1.AnyValue{{Value: &v1.AnyValue_DoubleValue{DoubleValue: 1.1}}, {Value: &v1.AnyValue_DoubleValue{DoubleValue: 2.2}}}},
501 },
502 },
503 },
504 {
505 NewStaticStringArray([]string{"foo", "bar"}),
506 &v1.AnyValue{
507 Value: &v1.AnyValue_ArrayValue{
508 ArrayValue: &v1.ArrayValue{Values: []*v1.AnyValue{{Value: &v1.AnyValue_StringValue{StringValue: "foo"}}, {Value: &v1.AnyValue_StringValue{StringValue: "bar"}}}},
509 },
510 },
511 },
512 {
513 NewStaticBooleanArray([]bool{true, false}),
514 &v1.AnyValue{
515 Value: &v1.AnyValue_ArrayValue{
516 ArrayValue: &v1.ArrayValue{Values: []*v1.AnyValue{{Value: &v1.AnyValue_BoolValue{BoolValue: true}}, {Value: &v1.AnyValue_BoolValue{BoolValue: false}}}},
517 },
518 },
519 },
520 }
521 for _, tc := range tt {
522 t.Run(fmt.Sprintf("%v", tc.s), func(t *testing.T) {
523 assert.Equal(t, tc.expected, tc.s.AsAnyValue())
524 })
525 }
526}
527
528func TestExamplesInEngine(t *testing.T) {
529 b, err := os.ReadFile(testExamplesFile)

Callers

nothing calls this directly

Calls 15

NewStaticIntFunction · 0.85
NewStaticStringFunction · 0.85
NewStaticFloatFunction · 0.85
NewStaticBoolFunction · 0.85
NewStaticDurationFunction · 0.85
NewStaticStatusFunction · 0.85
NewStaticKindFunction · 0.85
NewStaticNilFunction · 0.85
NewStaticIntArrayFunction · 0.85
NewStaticFloatArrayFunction · 0.85
NewStaticStringArrayFunction · 0.85
NewStaticBooleanArrayFunction · 0.85

Tested by

no test coverage detected