(t *testing.T)
| 98 | } |
| 99 | |
| 100 | func 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 | } |
nothing calls this directly
no test coverage detected