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  })