forked from cerc-io/ipld-eth-server
Add cast error checking to refactored transformers
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
package debt_ceiling
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/vulcanize/vulcanizedb/pkg/core"
|
||||
"github.com/vulcanize/vulcanizedb/pkg/datastore/postgres"
|
||||
)
|
||||
@@ -29,9 +30,13 @@ func (repository PitFileDebtCeilingRepository) Create(headerID int64, models []i
|
||||
return err
|
||||
}
|
||||
|
||||
var pitFileDC PitFileDebtCeilingModel
|
||||
for _, model := range models {
|
||||
pitFileDC = model.(PitFileDebtCeilingModel)
|
||||
pitFileDC, ok := model.(PitFileDebtCeilingModel)
|
||||
if !ok {
|
||||
tx.Rollback()
|
||||
return fmt.Errorf("model of type %T, not %T", model, PitFileDebtCeilingModel{})
|
||||
}
|
||||
|
||||
_, err = tx.Exec(
|
||||
`INSERT into maker.pit_file_debt_ceiling (header_id, what, data, tx_idx, raw_log)
|
||||
VALUES($1, $2, $3::NUMERIC, $4, $5)`,
|
||||
|
||||
@@ -89,6 +89,12 @@ var _ = Describe("Pit file debt ceiling repository", func() {
|
||||
Expect(err).To(HaveOccurred())
|
||||
Expect(err).To(MatchError(sql.ErrNoRows))
|
||||
})
|
||||
|
||||
It("Returns an error if model is of wrong type", func() {
|
||||
err = pitFileDebtCeilingRepository.Create(headerID, []interface{}{test_data.WrongModel{}})
|
||||
Expect(err).To(HaveOccurred())
|
||||
Expect(err.Error()).To(ContainSubstring("model of type"))
|
||||
})
|
||||
})
|
||||
|
||||
Describe("MarkHeaderChecked", func() {
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
package ilk
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/vulcanize/vulcanizedb/pkg/core"
|
||||
"github.com/vulcanize/vulcanizedb/pkg/datastore/postgres"
|
||||
)
|
||||
@@ -29,9 +30,13 @@ func (repository PitFileIlkRepository) Create(headerID int64, models []interface
|
||||
return err
|
||||
}
|
||||
|
||||
var pitFileIlk PitFileIlkModel
|
||||
for _, model := range models {
|
||||
pitFileIlk = model.(PitFileIlkModel)
|
||||
pitFileIlk, ok := model.(PitFileIlkModel)
|
||||
if !ok {
|
||||
tx.Rollback()
|
||||
return fmt.Errorf("model of type %T, not %T", model, PitFileIlkModel{})
|
||||
}
|
||||
|
||||
_, err = tx.Exec(
|
||||
`INSERT into maker.pit_file_ilk (header_id, ilk, what, data, tx_idx, raw_log)
|
||||
VALUES($1, $2, $3, $4::NUMERIC, $5, $6)`,
|
||||
|
||||
@@ -90,6 +90,12 @@ var _ = Describe("Pit file ilk repository", func() {
|
||||
Expect(err).To(HaveOccurred())
|
||||
Expect(err).To(MatchError(sql.ErrNoRows))
|
||||
})
|
||||
|
||||
It("Returns an error if model is of wrong type", func() {
|
||||
err = pitFileRepository.Create(headerID, []interface{}{test_data.WrongModel{}})
|
||||
Expect(err).To(HaveOccurred())
|
||||
Expect(err.Error()).To(ContainSubstring("model of type"))
|
||||
})
|
||||
})
|
||||
|
||||
Describe("MarkHeaderChecked", func() {
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
package stability_fee
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/vulcanize/vulcanizedb/pkg/core"
|
||||
"github.com/vulcanize/vulcanizedb/pkg/datastore/postgres"
|
||||
)
|
||||
@@ -29,9 +30,13 @@ func (repository PitFileStabilityFeeRepository) Create(headerID int64, models []
|
||||
return err
|
||||
}
|
||||
|
||||
var pitFileSF PitFileStabilityFeeModel
|
||||
for _, model := range models {
|
||||
pitFileSF = model.(PitFileStabilityFeeModel)
|
||||
pitFileSF, ok := model.(PitFileStabilityFeeModel)
|
||||
if !ok {
|
||||
tx.Rollback()
|
||||
return fmt.Errorf("model of type %T, not %T", model, PitFileStabilityFeeModel{})
|
||||
}
|
||||
|
||||
_, err = tx.Exec(
|
||||
`INSERT into maker.pit_file_stability_fee (header_id, what, data, tx_idx, raw_log)
|
||||
VALUES($1, $2, $3, $4, $5)`,
|
||||
|
||||
@@ -89,6 +89,12 @@ var _ = Describe("Pit file stability fee repository", func() {
|
||||
Expect(err).To(HaveOccurred())
|
||||
Expect(err).To(MatchError(sql.ErrNoRows))
|
||||
})
|
||||
|
||||
It("Returns an error if model is of wrong type", func() {
|
||||
err = pitFileStabilityFeeRepository.Create(headerID, []interface{}{test_data.WrongModel{}})
|
||||
Expect(err).To(HaveOccurred())
|
||||
Expect(err.Error()).To(ContainSubstring("model of type"))
|
||||
})
|
||||
})
|
||||
|
||||
Describe("MarkHeaderChecked", func() {
|
||||
|
||||
Reference in New Issue
Block a user