(t *testing.T, q storage.SampleAndChunkQueryable, overrideErrorCode OverrideErrorCode)
| 122 | } |
| 123 | |
| 124 | func createPrometheusAPI(t *testing.T, q storage.SampleAndChunkQueryable, overrideErrorCode OverrideErrorCode) *route.Router { |
| 125 | t.Helper() |
| 126 | |
| 127 | engine := promqltest.NewTestEngineWithOpts(t, promql.EngineOpts{ |
| 128 | Logger: promslog.NewNopLogger(), |
| 129 | Reg: nil, |
| 130 | ActiveQueryTracker: nil, |
| 131 | MaxSamples: 100, |
| 132 | Timeout: 5 * time.Second, |
| 133 | }) |
| 134 | |
| 135 | api := NewAPI( |
| 136 | engine, |
| 137 | q, |
| 138 | nil, nil, |
| 139 | nil, |
| 140 | func(context.Context) ScrapePoolsRetriever { return &DummyScrapePoolsRetriever{} }, |
| 141 | func(context.Context) TargetRetriever { return &DummyTargetRetriever{} }, |
| 142 | func(context.Context) AlertmanagerRetriever { return &DummyAlertmanagerRetriever{} }, |
| 143 | func() config.Config { return config.Config{} }, |
| 144 | map[string]string{}, // TODO: include configuration flags |
| 145 | GlobalURLOptions{}, |
| 146 | func(f http.HandlerFunc) http.HandlerFunc { return f }, |
| 147 | nil, // Only needed for admin APIs. |
| 148 | "", // This is for snapshots, which is disabled when admin APIs are disabled. Hence empty. |
| 149 | false, // Disable admin APIs. |
| 150 | false, // Disable search API. |
| 151 | 0, // Default search max-limit. |
| 152 | promslog.NewNopLogger(), |
| 153 | func(context.Context) RulesRetriever { return &DummyRulesRetriever{} }, |
| 154 | 0, 0, 0, // Remote read samples and concurrency limit. |
| 155 | false, // Not an agent. |
| 156 | regexp.MustCompile(".*"), |
| 157 | func() (RuntimeInfo, error) { return RuntimeInfo{}, errors.New("not implemented") }, |
| 158 | &PrometheusVersion{}, |
| 159 | nil, |
| 160 | nil, |
| 161 | prometheus.DefaultGatherer, |
| 162 | nil, |
| 163 | nil, |
| 164 | false, |
| 165 | remoteapi.MessageTypes{remoteapi.WriteV1MessageType, remoteapi.WriteV2MessageType}, |
| 166 | false, |
| 167 | false, |
| 168 | false, |
| 169 | false, |
| 170 | 5*time.Minute, |
| 171 | false, |
| 172 | false, |
| 173 | overrideErrorCode, |
| 174 | nil, |
| 175 | OpenAPIOptions{}, |
| 176 | parser.NewParser(parser.Options{}), |
| 177 | ) |
| 178 | |
| 179 | promRouter := route.New().WithPrefix("/api/v1") |
| 180 | api.Register(promRouter) |
| 181 |
no test coverage detected
searching dependent graphs…