github.com/kotalco/kotal@v0.3.0/clients/polkadot/polkadot_client_test.go (about)

     1  package polkadot
     2  
     3  import (
     4  	"fmt"
     5  
     6  	polkadotv1alpha1 "github.com/kotalco/kotal/apis/polkadot/v1alpha1"
     7  	sharedAPI "github.com/kotalco/kotal/apis/shared"
     8  	"github.com/kotalco/kotal/controllers/shared"
     9  	. "github.com/onsi/ginkgo/v2"
    10  	. "github.com/onsi/gomega"
    11  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    12  )
    13  
    14  var _ = Describe("Polkadot client", func() {
    15  
    16  	t := false
    17  	node := &polkadotv1alpha1.Node{
    18  		ObjectMeta: metav1.ObjectMeta{
    19  			Name:      "kusama-node",
    20  			Namespace: "default",
    21  		},
    22  		Spec: polkadotv1alpha1.NodeSpec{
    23  			Network:                  "kusama",
    24  			P2PPort:                  4444,
    25  			NodePrivateKeySecretName: "kusama-node-key",
    26  			Validator:                true,
    27  			SyncMode:                 "fast",
    28  			Logging:                  "warn",
    29  			RPC:                      true,
    30  			RPCPort:                  6789,
    31  			WS:                       true,
    32  			WSPort:                   3456,
    33  			Telemetry:                true,
    34  			TelemetryURL:             "wss://telemetry.kotal.io/submit/ 0",
    35  			Prometheus:               true,
    36  			PrometheusPort:           5432,
    37  			Pruning:                  &t,
    38  			CORSDomains:              []string{"kotal.com"},
    39  			Database:                 polkadotv1alpha1.ParityDB,
    40  			// TODO: create test for node with telemetry disabled
    41  			// TODO: create test for node with prometheus disabled
    42  			// TODO: create test for node with pruning true
    43  		},
    44  	}
    45  
    46  	node.Default()
    47  	client := NewClient(node)
    48  
    49  	It("Should get correct command", func() {
    50  		Expect(client.Command()).To(BeNil())
    51  	})
    52  
    53  	It("Should get correct env", func() {
    54  		Expect(client.Env()).To(BeNil())
    55  	})
    56  
    57  	It("Should get correct home directory", func() {
    58  		Expect(client.HomeDir()).To(Equal(PolkadotHomeDir))
    59  	})
    60  
    61  	It("Should generate correct client arguments", func() {
    62  
    63  		args := client.Args()
    64  
    65  		Expect(args).To(ContainElements([]string{
    66  			PolkadotArgBasePath,
    67  			shared.PathData(client.HomeDir()),
    68  			PolkadotArgChain,
    69  			"kusama",
    70  			PolkadotArgName,
    71  			"kusama-node",
    72  			PolkadotArgPort,
    73  			"4444",
    74  			PolkadotArgValidator,
    75  			PolkadotArgLogging,
    76  			string(sharedAPI.WarnLogs),
    77  			PolkadotArgRPCExternal,
    78  			PolkadotArgRPCPort,
    79  			"6789",
    80  			PolkadotArgNodeKeyType,
    81  			"Ed25519",
    82  			PolkadotArgNodeKeyFile,
    83  			fmt.Sprintf("%s/kotal_nodekey", shared.PathData(client.HomeDir())),
    84  			PolkadotArgTelemetryURL,
    85  			"wss://telemetry.kotal.io/submit/ 0",
    86  			PolkadotArgPrometheusExternal,
    87  			PolkadotArgPrometheusPort,
    88  			"5432",
    89  			PolkadotArgPruning,
    90  			"archive",
    91  			PolkadotArgRPCCors,
    92  			"kotal.com",
    93  			PolkadotArgDatabase,
    94  			string(polkadotv1alpha1.ParityDB),
    95  		}))
    96  
    97  	})
    98  
    99  })