github.com/kotalco/kotal@v0.3.0/apis/ethereum2/v1alpha1/beacon_node_defaulting_webhook_test.go (about) 1 package v1alpha1 2 3 import ( 4 "github.com/kotalco/kotal/apis/shared" 5 . "github.com/onsi/ginkgo/v2" 6 . "github.com/onsi/gomega" 7 ) 8 9 var _ = Describe("Ethereum 2.0 beacon node defaulting", func() { 10 11 It("Should default beacon node with missing fee recipient and p2p port and logging", func() { 12 node := BeaconNode{ 13 Spec: BeaconNodeSpec{ 14 Network: "mainnet", 15 Client: TekuClient, 16 }, 17 } 18 node.Default() 19 Expect(node.Spec.Image).To(Equal(DefaultTekuBeaconNodeImage)) 20 Expect(*node.Spec.Replicas).To(Equal(DefaltReplicas)) 21 Expect(node.Spec.P2PPort).To(Equal(DefaultP2PPort)) 22 Expect(node.Spec.Logging).To(Equal(DefaultLogging)) 23 Expect(node.Spec.FeeRecipient).To(Equal(shared.EthereumAddress(ZeroAddress))) 24 }) 25 26 It("Should default beacon node with missing node resources", func() { 27 node := BeaconNode{ 28 Spec: BeaconNodeSpec{ 29 Network: "mainnet", 30 Client: LighthouseClient, 31 }, 32 } 33 node.Default() 34 Expect(node.Spec.Image).To(Equal(DefaultLighthouseBeaconNodeImage)) 35 Expect(*node.Spec.Replicas).To(Equal(DefaltReplicas)) 36 Expect(node.Spec.Resources.CPU).To(Equal(DefaultCPURequest)) 37 Expect(node.Spec.Resources.CPULimit).To(Equal(DefaultCPULimit)) 38 Expect(node.Spec.Resources.Memory).To(Equal(DefaultMemoryRequest)) 39 Expect(node.Spec.Resources.MemoryLimit).To(Equal(DefaultMemoryLimit)) 40 Expect(node.Spec.Resources.Storage).To(Equal(DefaultStorage)) 41 }) 42 43 It("Should default beacon node with missing client and rest port/host", func() { 44 node := BeaconNode{ 45 Spec: BeaconNodeSpec{ 46 Network: "mainnet", 47 Client: TekuClient, 48 REST: true, 49 }, 50 } 51 node.Default() 52 Expect(node.Spec.RESTPort).To(Equal(DefaultRestPort)) 53 Expect(node.Spec.CORSDomains).To(ConsistOf(DefaultOrigins)) 54 Expect(node.Spec.Hosts).To(ConsistOf(DefaultOrigins)) 55 }) 56 57 It("Should default beacon node with missing rpc port and host", func() { 58 node := BeaconNode{ 59 Spec: BeaconNodeSpec{ 60 Network: "mainnet", 61 Client: NimbusClient, 62 RPC: true, 63 }, 64 } 65 node.Default() 66 Expect(node.Spec.Image).To(Equal(DefaultNimbusBeaconNodeImage)) 67 Expect(*node.Spec.Replicas).To(Equal(DefaltReplicas)) 68 Expect(node.Spec.RPCPort).To(Equal(DefaultRPCPort)) 69 Expect(node.Spec.CORSDomains).To(ConsistOf(DefaultOrigins)) 70 Expect(node.Spec.Hosts).To(ConsistOf(DefaultOrigins)) 71 }) 72 73 It("Should default beacon node with missing grpc port", func() { 74 node := BeaconNode{ 75 Spec: BeaconNodeSpec{ 76 Client: PrysmClient, 77 Network: "mainnet", 78 GRPC: true, 79 }, 80 } 81 node.Default() 82 Expect(node.Spec.Image).To(Equal(DefaultPrysmBeaconNodeImage)) 83 Expect(*node.Spec.Replicas).To(Equal(DefaltReplicas)) 84 Expect(node.Spec.GRPCPort).To(Equal(DefaultGRPCPort)) 85 Expect(node.Spec.CORSDomains).To(ConsistOf(DefaultOrigins)) 86 Expect(node.Spec.Hosts).To(ConsistOf(DefaultOrigins)) 87 }) 88 89 It("Should default beacon node with missing grpc host", func() { 90 node := BeaconNode{ 91 Spec: BeaconNodeSpec{ 92 Client: PrysmClient, 93 Network: "mainnet", 94 GRPC: true, 95 }, 96 } 97 node.Default() 98 Expect(node.Spec.CORSDomains).To(ConsistOf(DefaultOrigins)) 99 Expect(node.Spec.Hosts).To(ConsistOf(DefaultOrigins)) 100 }) 101 102 It("Should default beacon node with missing cors domains", func() { 103 node := BeaconNode{ 104 Spec: BeaconNodeSpec{ 105 Client: TekuClient, 106 REST: true, 107 }, 108 } 109 node.Default() 110 Expect(node.Spec.CORSDomains).To(ConsistOf(DefaultOrigins)) 111 Expect(node.Spec.Hosts).To(ConsistOf(DefaultOrigins)) 112 }) 113 114 })