(t *testing.T)
| 172 | } |
| 173 | |
| 174 | func Test_PushQuery_UTF8(t *testing.T) { |
| 175 | s, err := e2e.NewScenario(networkName) |
| 176 | require.NoError(t, err) |
| 177 | defer s.Close() |
| 178 | |
| 179 | // Start dependencies. |
| 180 | minio := e2edb.NewMinio(9000, bucketName) |
| 181 | require.NoError(t, s.StartAndWaitReady(minio)) |
| 182 | |
| 183 | // Start Cortex components. |
| 184 | require.NoError(t, copyFileToSharedDir(s, "docs/configuration/single-process-config-blocks.yaml", cortexConfigFile)) |
| 185 | |
| 186 | flags := map[string]string{ |
| 187 | "-auth.enabled": "true", |
| 188 | "-name-validation-scheme": "utf8", |
| 189 | // ingester |
| 190 | "-blocks-storage.s3.access-key-id": e2edb.MinioAccessKey, |
| 191 | "-blocks-storage.s3.secret-access-key": e2edb.MinioSecretKey, |
| 192 | "-blocks-storage.s3.bucket-name": bucketName, |
| 193 | "-blocks-storage.s3.endpoint": fmt.Sprintf("%s-minio-9000:9000", networkName), |
| 194 | "-blocks-storage.s3.insecure": "true", |
| 195 | // alert manager |
| 196 | "-alertmanager.web.external-url": "http://localhost/alertmanager", |
| 197 | "-alertmanager-storage.backend": "local", |
| 198 | "-alertmanager-storage.local.path": filepath.Join(e2e.ContainerSharedDir, "alertmanager_configs"), |
| 199 | } |
| 200 | // make alert manager config dir |
| 201 | require.NoError(t, writeFileToSharedDir(s, "alertmanager_configs", []byte{})) |
| 202 | |
| 203 | cortex := e2ecortex.NewSingleBinaryWithConfigFile("cortex-1", cortexConfigFile, flags, "", 9009, 9095) |
| 204 | require.NoError(t, s.StartAndWaitReady(cortex)) |
| 205 | |
| 206 | c, err := e2ecortex.NewClient(cortex.HTTPEndpoint(), cortex.HTTPEndpoint(), "", "", "user-1") |
| 207 | require.NoError(t, err) |
| 208 | |
| 209 | now := time.Now() |
| 210 | |
| 211 | utf8Series, _ := generateSeries("series.1", now, prompb.Label{Name: "test.utf8.metric", Value: "😄"}) |
| 212 | legacySeries, _ := generateSeries("series_2", now, prompb.Label{Name: "job", Value: "test"}) |
| 213 | |
| 214 | metadata := []prompb.MetricMetadata{ |
| 215 | { |
| 216 | MetricFamilyName: "metadata.name", |
| 217 | Help: "metadata.help", |
| 218 | Unit: "metadata.unit", |
| 219 | }, |
| 220 | } |
| 221 | |
| 222 | res, err := c.Push(legacySeries, metadata...) |
| 223 | require.NoError(t, err) |
| 224 | require.Equal(t, 200, res.StatusCode) |
| 225 | |
| 226 | // utf8Series push should be success |
| 227 | res, err = c.Push(utf8Series) |
| 228 | require.NoError(t, err) |
| 229 | require.Equal(t, 200, res.StatusCode) |
| 230 | |
| 231 | // utf8 querying |
nothing calls this directly
no test coverage detected