de38c531d5
* Allow the application to process events in parallel there is a main thread that tracks incoming messages, but then it spawns goroutines to actually process each slot so that they can happen concurrently. * Control knownGaps in existing test * Use Interfaces for different fork version Use interfaces for `SignedBeaconBlock` and `BeaconState`, this allows the application to determine the correct forked struct. In the test we also use a switch condition to properly serve the correct mimics. * Utilize new ipld-ethcl-db repository * Add final tests * Update timeout and secret * Update token * Update docker compose * Update expected inserts
59 lines
2.3 KiB
Go
59 lines
2.3 KiB
Go
package boot_test
|
|
|
|
import (
|
|
"context"
|
|
|
|
. "github.com/onsi/ginkgo/v2"
|
|
. "github.com/onsi/gomega"
|
|
"github.com/vulcanize/ipld-ethcl-indexer/internal/boot"
|
|
)
|
|
|
|
var _ = Describe("Boot", func() {
|
|
var (
|
|
dbAddress string = "localhost"
|
|
dbPort int = 8076
|
|
dbName string = "vulcanize_testing"
|
|
dbUsername string = "vdbm"
|
|
dbPassword string = "password"
|
|
dbDriver string = "PGX"
|
|
bcAddress string = "localhost"
|
|
bcPort int = 5052
|
|
bcConnectionProtocol string = "http"
|
|
)
|
|
Describe("Booting the application", Label("integration"), func() {
|
|
Context("When the DB and BC are both up and running, and we skip checking for a synced head", func() {
|
|
It("Should connect successfully", func() {
|
|
_, db, err := boot.BootApplicationWithRetry(context.Background(), dbAddress, dbPort, dbName, dbUsername, dbPassword, dbDriver, bcAddress, bcPort, bcConnectionProtocol, true)
|
|
defer db.Close()
|
|
Expect(err).ToNot(HaveOccurred())
|
|
})
|
|
})
|
|
Context("When the DB and BC are both up and running, and we check for a synced head", func() {
|
|
It("Should not connect successfully", func() {
|
|
_, db, err := boot.BootApplicationWithRetry(context.Background(), dbAddress, dbPort, dbName, dbUsername, dbPassword, dbDriver, bcAddress, bcPort, bcConnectionProtocol, false)
|
|
defer db.Close()
|
|
Expect(err).To(HaveOccurred())
|
|
})
|
|
})
|
|
Context("When the DB is running but not the BC", func() {
|
|
It("Should not connect successfully", func() {
|
|
_, _, err := boot.BootApplication(context.Background(), dbAddress, dbPort, dbName, dbUsername, dbPassword, dbDriver, "hi", 100, bcConnectionProtocol, true)
|
|
Expect(err).To(HaveOccurred())
|
|
})
|
|
})
|
|
Context("When the BC is running but not the DB", func() {
|
|
It("Should not connect successfully", func() {
|
|
_, _, err := boot.BootApplication(context.Background(), "hi", 10, dbName, dbUsername, dbPassword, dbDriver, bcAddress, bcPort, bcConnectionProtocol, true)
|
|
Expect(err).To(HaveOccurred())
|
|
})
|
|
})
|
|
Context("When neither the BC or DB are running", func() {
|
|
It("Should not connect successfully", func() {
|
|
_, _, err := boot.BootApplication(context.Background(), "hi", 10, dbName, dbUsername, dbPassword, dbDriver, "hi", 100, bcConnectionProtocol, true)
|
|
Expect(err).To(HaveOccurred())
|
|
})
|
|
})
|
|
})
|
|
|
|
})
|