cloudflare/pint

Public

mirrored from https://github.com/cloudflare/pintAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
v0.18.0

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

internal/parser/utils/conditions_test.go

63lines · modecode

1package utils_test
2
3import (
4 "testing"
5
6 "github.com/stretchr/testify/assert"
7
8 "github.com/cloudflare/pint/internal/parser/utils"
9)
10
11func TestRemoveConditions(t *testing.T) {
12 type testCaseT struct {
13 input string
14 output string
15 }
16
17 testCases := []testCaseT{
18 {
19 input: "100",
20 output: "100",
21 },
22 {
23 input: "(100)",
24 output: "100",
25 },
26 {
27 input: "100 ^ 2",
28 output: "",
29 },
30 {
31 input: "(1024 ^ 2)",
32 output: "",
33 },
34 {
35 input: "(100*(1024^2))",
36 output: "",
37 },
38 {
39 input: "min_over_time((foo_with_notfound > 0)[30m:1m]) / bar",
40 output: "min_over_time(foo_with_notfound[30m:1m]) / bar",
41 },
42 {
43 input: "min_over_time(rate(http_requests_total[5m])[30m:1m])",
44 output: "min_over_time(rate(http_requests_total[5m])[30m:1m])",
45 },
46 {
47 input: "(memory_bytes / ignoring(job) (memory_limit > 0)) * on(app_name) group_left(a,b,c) app_registry",
48 output: "(memory_bytes / ignoring(job) memory_limit) * on(app_name) group_left(a, b, c) app_registry",
49 },
50 {
51 input: `(quantile_over_time(0.9, (rate(container_cpu_system_seconds_total{app_name="foo"}[5m]) + rate(container_cpu_user_seconds_total{app_name="foo"}[5m]))[5m:]) / on(instance) bar) > 0.65`,
52 output: `(quantile_over_time(0.9, (rate(container_cpu_system_seconds_total{app_name="foo"}[5m]) + rate(container_cpu_user_seconds_total{app_name="foo"}[5m]))[5m:]) / on(instance) bar)`,
53 },
54 }
55
56 for _, tc := range testCases {
57 t.Run(tc.input, func(t *testing.T) {
58 assert := assert.New(t)
59 output := utils.RemoveConditions(tc.input)
60 assert.Equalf(tc.output, output.String(), "input: %q", tc.input)
61 })
62 }
63}
64