This repository was archived by the owner on Aug 31, 2021. It is now read-only.
File tree Expand file tree Collapse file tree 3 files changed +20
-5
lines changed Expand file tree Collapse file tree 3 files changed +20
-5
lines changed Original file line number Diff line number Diff line change @@ -78,11 +78,10 @@ var _ = Describe("contractWatcher headerSync transformer", func() {
78
78
Expect (c .Address ).To (Equal (tusdAddr ))
79
79
})
80
80
81
- It ("Fails to initialize if first and block cannot be fetched from vDB headers table " , func () {
81
+ It ("initializes when no headers available in db " , func () {
82
82
t := transformer .NewTransformer (test_helpers .TusdConfig , blockChain , db )
83
83
err = t .Init ()
84
- Expect (err ).To (HaveOccurred ())
85
- Expect (err .Error ()).To (ContainSubstring ("no rows in result set" ))
84
+ Expect (err ).ToNot (HaveOccurred ())
86
85
})
87
86
88
87
It ("Does nothing if nothing if no addresses are configured" , func () {
Original file line number Diff line number Diff line change 17
17
package transformer
18
18
19
19
import (
20
+ "database/sql"
20
21
"errors"
21
22
"fmt"
22
23
"strings"
@@ -124,7 +125,11 @@ func (tr *Transformer) Init() error {
124
125
// Get first block and most recent block number in the header repo
125
126
firstBlock , retrieveErr := tr .Retriever .RetrieveFirstBlock ()
126
127
if retrieveErr != nil {
127
- return fmt .Errorf ("error retrieving first block: %s" , retrieveErr .Error ())
128
+ if retrieveErr == sql .ErrNoRows {
129
+ firstBlock = 0
130
+ } else {
131
+ return fmt .Errorf ("error retrieving first block: %s" , retrieveErr .Error ())
132
+ }
128
133
}
129
134
130
135
// Set to specified range if it falls within the bounds
Original file line number Diff line number Diff line change 17
17
package transformer_test
18
18
19
19
import (
20
+ "database/sql"
20
21
. "github.com/onsi/ginkgo"
21
22
. "github.com/onsi/gomega"
22
23
@@ -101,7 +102,17 @@ var _ = Describe("Transformer", func() {
101
102
Expect (c .Address ).To (Equal (fakeAddress ))
102
103
})
103
104
104
- It ("Fails to initialize if first block cannot be fetched from vDB headers table" , func () {
105
+ It ("uses first block from config if vDB headers table has no rows" , func () {
106
+ blockRetriever := & fakes.MockHeaderSyncBlockRetriever {}
107
+ blockRetriever .FirstBlockErr = sql .ErrNoRows
108
+ t := getFakeTransformer (blockRetriever , & fakes.MockParser {}, & fakes.MockPoller {})
109
+
110
+ err := t .Init ()
111
+
112
+ Expect (err ).ToNot (HaveOccurred ())
113
+ })
114
+
115
+ It ("returns error if fetching first block fails for other reason" , func () {
105
116
blockRetriever := & fakes.MockHeaderSyncBlockRetriever {}
106
117
blockRetriever .FirstBlockErr = fakes .FakeError
107
118
t := getFakeTransformer (blockRetriever , & fakes.MockParser {}, & fakes.MockPoller {})
You can’t perform that action at this time.
0 commit comments