MCPcopy Create free account
hub / github.com/cortexproject/cortex / TestAPIResponseSerialization

Function TestAPIResponseSerialization

pkg/ruler/api_test.go:25–107  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

23)
24
25func TestAPIResponseSerialization(t *testing.T) {
26 lastEvalTime := time.Now()
27 responseTime := lastEvalTime.Format(time.RFC3339Nano)
28 testCases := map[string]struct {
29 rules RuleDiscovery
30 expectedJSON string
31 }{
32 "No rules": {
33 rules: RuleDiscovery{
34 RuleGroups: make([]*RuleGroup, 0),
35 },
36 expectedJSON: `{
37 "groups":[]
38 }`,
39 },
40 "Rules with no next token": {
41 rules: RuleDiscovery{
42 RuleGroups: []*RuleGroup{
43 {
44 Name: "Test",
45 File: "/rules/Test",
46 Rules: make([]rule, 0),
47 Interval: 60,
48 LastEvaluation: lastEvalTime,
49 EvaluationTime: 10,
50 Limit: 0,
51 },
52 },
53 },
54 expectedJSON: fmt.Sprintf(`{
55 "groups": [
56 {
57 "evaluationTime": 10,
58 "limit": 0,
59 "name": "Test",
60 "file": "/rules/Test",
61 "interval": 60,
62 "rules": [],
63 "lastEvaluation": "%s"
64 }
65 ]
66 }`, responseTime),
67 },
68 "Rules with next token": {
69 rules: RuleDiscovery{
70 RuleGroups: []*RuleGroup{
71 {
72 Name: "Test",
73 File: "/rules/Test",
74 Rules: make([]rule, 0),
75 Interval: 60,
76 LastEvaluation: lastEvalTime,
77 EvaluationTime: 10,
78 Limit: 0,
79 },
80 },
81 GroupNextToken: "abcdef",
82 },

Callers

nothing calls this directly

Calls 2

RunMethod · 0.65
MarshalMethod · 0.45

Tested by

no test coverage detected