MCPcopy
hub / github.com/helm/helm / TestSqlQuery

Function TestSqlQuery

pkg/storage/driver/sql_test.go:362–484  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

360}
361
362func TestSqlQuery(t *testing.T) {
363 // Reflect actual use cases in ../storage.go
364 labelSetUnknown := map[string]string{
365 "name": "smug-pigeon",
366 "owner": sqlReleaseDefaultOwner,
367 "status": "unknown",
368 }
369 labelSetDeployed := map[string]string{
370 "name": "smug-pigeon",
371 "owner": sqlReleaseDefaultOwner,
372 "status": "deployed",
373 }
374 labelSetAll := map[string]string{
375 "name": "smug-pigeon",
376 "owner": sqlReleaseDefaultOwner,
377 }
378
379 supersededRelease := releaseStub("smug-pigeon", 1, "default", common.StatusSuperseded)
380 supersededReleaseBody, _ := encodeRelease(supersededRelease)
381 deployedRelease := releaseStub("smug-pigeon", 2, "default", common.StatusDeployed)
382 deployedReleaseBody, _ := encodeRelease(deployedRelease)
383
384 // Let's actually start our test
385 sqlDriver, mock := newTestFixtureSQL(t)
386
387 query := fmt.Sprintf(
388 "SELECT %s, %s, %s FROM %s WHERE %s = $1 AND %s = $2 AND %s = $3 AND %s = $4",
389 sqlReleaseTableKeyColumn,
390 sqlReleaseTableNamespaceColumn,
391 sqlReleaseTableBodyColumn,
392 sqlReleaseTableName,
393 sqlReleaseTableNameColumn,
394 sqlReleaseTableOwnerColumn,
395 sqlReleaseTableStatusColumn,
396 sqlReleaseTableNamespaceColumn,
397 )
398
399 mock.
400 ExpectQuery(regexp.QuoteMeta(query)).
401 WithArgs("smug-pigeon", sqlReleaseDefaultOwner, "unknown", "default").
402 WillReturnRows(
403 mock.NewRows([]string{
404 sqlReleaseTableBodyColumn,
405 }),
406 ).RowsWillBeClosed()
407
408 mock.
409 ExpectQuery(regexp.QuoteMeta(query)).
410 WithArgs("smug-pigeon", sqlReleaseDefaultOwner, "deployed", "default").
411 WillReturnRows(
412 mock.NewRows([]string{
413 sqlReleaseTableBodyColumn,
414 }).AddRow(
415 deployedReleaseBody,
416 ),
417 ).RowsWillBeClosed()
418
419 mockGetReleaseCustomLabels(mock, "", deployedRelease.Namespace, deployedRelease.Labels)

Callers

nothing calls this directly

Calls 7

encodeReleaseFunction · 0.85
newTestFixtureSQLFunction · 0.85
IsMethod · 0.80
FatalfMethod · 0.80
releaseStubFunction · 0.70
QueryMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…