MCPcopy Create free account
hub / github.com/devaccuracy/ledgerforge / TestUpdateMetadata_Error

Function TestUpdateMetadata_Error

database/metadata_test.go:100–124  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

98}
99
100func TestUpdateMetadata_Error(t *testing.T) {
101 db, mock, err := sqlmock.New()
102 assert.NoError(t, err)
103 defer func() { _ = db.Close() }()
104
105 ds := Datasource{Conn: db}
106 metadata := map[string]interface{}{
107 "invalid": make(chan int), // This will cause json.Marshal to fail
108 }
109
110 // Test for marshal error
111 err = ds.UpdateLedgerMetadata("ldg_123", metadata)
112 assert.Error(t, err)
113
114 // Test for database error
115 validMetadata := map[string]interface{}{"key": "value"}
116 metadataJSON, _ := json.Marshal(validMetadata)
117 mock.ExpectExec("UPDATE ledgerforge.ledgers").
118 WithArgs(metadataJSON, "ldg_123").
119 WillReturnError(sqlmock.ErrCancelled)
120
121 err = ds.UpdateLedgerMetadata("ldg_123", validMetadata)
122 assert.Error(t, err)
123 assert.NoError(t, mock.ExpectationsWereMet())
124}

Callers

nothing calls this directly

Calls 3

UpdateLedgerMetadataMethod · 0.95
CloseMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected