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