MCPcopy
hub / github.com/helm/helm / TestSqlCreate

Function TestSqlCreate

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

Source from the content-addressed store, hash-verified

205}
206
207func TestSqlCreate(t *testing.T) {
208 vers := 1
209 name := "smug-pigeon"
210 namespace := "default"
211 key := testKey(name, vers)
212 rel := releaseStub(name, vers, namespace, common.StatusDeployed)
213
214 sqlDriver, mock := newTestFixtureSQL(t)
215 body, _ := encodeRelease(rel)
216
217 query := fmt.Sprintf(
218 "INSERT INTO %s (%s,%s,%s,%s,%s,%s,%s,%s,%s) VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9)",
219 sqlReleaseTableName,
220 sqlReleaseTableKeyColumn,
221 sqlReleaseTableTypeColumn,
222 sqlReleaseTableBodyColumn,
223 sqlReleaseTableNameColumn,
224 sqlReleaseTableNamespaceColumn,
225 sqlReleaseTableVersionColumn,
226 sqlReleaseTableStatusColumn,
227 sqlReleaseTableOwnerColumn,
228 sqlReleaseTableCreatedAtColumn,
229 )
230
231 mock.ExpectBegin()
232 mock.
233 ExpectExec(regexp.QuoteMeta(query)).
234 WithArgs(key, sqlReleaseDefaultType, body, rel.Name, rel.Namespace, int(rel.Version), rel.Info.Status.String(), sqlReleaseDefaultOwner, recentUnixTimestamp()).
235 WillReturnResult(sqlmock.NewResult(1, 1))
236
237 labelsQuery := fmt.Sprintf(
238 "INSERT INTO %s (%s,%s,%s,%s) VALUES ($1,$2,$3,$4)",
239 sqlCustomLabelsTableName,
240 sqlCustomLabelsTableReleaseKeyColumn,
241 sqlCustomLabelsTableReleaseNamespaceColumn,
242 sqlCustomLabelsTableKeyColumn,
243 sqlCustomLabelsTableValueColumn,
244 )
245
246 mock.MatchExpectationsInOrder(false)
247 for k, v := range filterSystemLabels(rel.Labels) {
248 mock.
249 ExpectExec(regexp.QuoteMeta(labelsQuery)).
250 WithArgs(key, rel.Namespace, k, v).
251 WillReturnResult(sqlmock.NewResult(1, 1))
252 }
253 mock.ExpectCommit()
254
255 if err := sqlDriver.Create(key, rel); err != nil {
256 t.Fatalf("failed to create release with key %s: %v", key, err)
257 }
258
259 if err := mock.ExpectationsWereMet(); err != nil {
260 t.Errorf("sql expectations weren't met: %v", err)
261 }
262}
263
264func TestSqlCreateAlreadyExists(t *testing.T) {

Callers

nothing calls this directly

Calls 9

newTestFixtureSQLFunction · 0.85
encodeReleaseFunction · 0.85
recentUnixTimestampFunction · 0.85
filterSystemLabelsFunction · 0.85
FatalfMethod · 0.80
testKeyFunction · 0.70
releaseStubFunction · 0.70
CreateMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…