mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-06-04 11:25:52 +08:00
105 lines
2.9 KiB
Go
105 lines
2.9 KiB
Go
package utils
|
|
|
|
import (
|
|
"reflect"
|
|
"testing"
|
|
|
|
v3 "go.signoz.io/signoz/pkg/query-service/model/v3"
|
|
)
|
|
|
|
func TestListTsRange(t *testing.T) {
|
|
startEndData := []struct {
|
|
name string
|
|
start int64
|
|
end int64
|
|
res []LogsListTsRange
|
|
}{
|
|
{
|
|
name: "testing for less then one hour",
|
|
start: 1722262800000000000, // July 29, 2024 7:50:00 PM
|
|
end: 1722263800000000000, // July 29, 2024 8:06:40 PM
|
|
res: []LogsListTsRange{{1722262800000000000, 1722263800000000000}},
|
|
},
|
|
{
|
|
name: "testing for more than one hour",
|
|
start: 1722255800000000000, // July 29, 2024 5:53:20 PM
|
|
end: 1722262800000000000, // July 29, 2024 8:06:40 PM
|
|
res: []LogsListTsRange{
|
|
{1722259200000000000, 1722262800000000000}, // July 29, 2024 6:50:00 PM - July 29, 2024 7:50:00 PM
|
|
{1722255800000000000, 1722259200000000000}, // July 29, 2024 5:53:20 PM - July 29, 2024 6:50:00 PM
|
|
},
|
|
},
|
|
{
|
|
name: "testing for 1 day",
|
|
start: 1722171576000000000,
|
|
end: 1722262800000000000,
|
|
res: []LogsListTsRange{
|
|
{1722259200000000000, 1722262800000000000}, // July 29, 2024 6:50:00 PM - July 29, 2024 7:50:00 PM
|
|
{1722252000000000000, 1722259200000000000}, // July 29, 2024 4:50:00 PM - July 29, 2024 6:50:00 PM
|
|
{1722237600000000000, 1722252000000000000}, // July 29, 2024 12:50:00 PM - July 29, 2024 4:50:00 PM
|
|
{1722208800000000000, 1722237600000000000}, // July 29, 2024 4:50:00 AM - July 29, 2024 12:50:00 PM
|
|
{1722171576000000000, 1722208800000000000}, // July 28, 2024 6:29:36 PM - July 29, 2024 4:50:00 AM
|
|
},
|
|
},
|
|
}
|
|
|
|
for _, test := range startEndData {
|
|
res := GetListTsRanges(test.start, test.end)
|
|
for i, v := range res {
|
|
if test.res[i].Start != v.Start || test.res[i].End != v.End {
|
|
t.Errorf("expected range was %v - %v, got %v - %v", v.Start, v.End, test.res[i].Start, test.res[i].End)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
func Test_GenerateEnrichmentKeys(t *testing.T) {
|
|
type args struct {
|
|
field v3.AttributeKey
|
|
}
|
|
tests := []struct {
|
|
name string
|
|
args args
|
|
want []string
|
|
}{
|
|
{
|
|
name: "all are present",
|
|
args: args{
|
|
field: v3.AttributeKey{
|
|
Key: "data",
|
|
DataType: v3.AttributeKeyDataTypeString,
|
|
Type: v3.AttributeKeyTypeTag,
|
|
},
|
|
},
|
|
want: []string{"data##tag##string"},
|
|
},
|
|
{
|
|
name: "type present",
|
|
args: args{
|
|
field: v3.AttributeKey{
|
|
Key: "data",
|
|
Type: v3.AttributeKeyTypeTag,
|
|
},
|
|
},
|
|
want: []string{"data##tag##float64", "data##tag##int64", "data##tag##string", "data##tag##bool"},
|
|
},
|
|
{
|
|
name: "dataType present",
|
|
args: args{
|
|
field: v3.AttributeKey{
|
|
Key: "data",
|
|
DataType: v3.AttributeKeyDataTypeString,
|
|
},
|
|
},
|
|
want: []string{"data##tag##string", "data##resource##string"},
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
if got := GenerateEnrichmentKeys(tt.args.field); !reflect.DeepEqual(got, tt.want) {
|
|
t.Errorf("GenerateEnrichmentKeys() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|