summaryrefslogtreecommitdiff
path: root/plugins/rpc/tests
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/rpc/tests')
-rw-r--r--plugins/rpc/tests/.rr-rpc-disabled.yaml6
-rw-r--r--plugins/rpc/tests/.rr.yaml6
-rw-r--r--plugins/rpc/tests/plugin1.go42
-rw-r--r--plugins/rpc/tests/plugin2.go54
-rw-r--r--plugins/rpc/tests/rpc_test.go169
5 files changed, 0 insertions, 277 deletions
diff --git a/plugins/rpc/tests/.rr-rpc-disabled.yaml b/plugins/rpc/tests/.rr-rpc-disabled.yaml
deleted file mode 100644
index d5c185e7..00000000
--- a/plugins/rpc/tests/.rr-rpc-disabled.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
-rpc:
- listen: tcp://127.0.0.1:6001
- disabled: true
-logs:
- mode: development
- level: error \ No newline at end of file
diff --git a/plugins/rpc/tests/.rr.yaml b/plugins/rpc/tests/.rr.yaml
deleted file mode 100644
index d2cb6c70..00000000
--- a/plugins/rpc/tests/.rr.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
-rpc:
- listen: tcp://127.0.0.1:6001
- disabled: false
-logs:
- mode: development
- level: error \ No newline at end of file
diff --git a/plugins/rpc/tests/plugin1.go b/plugins/rpc/tests/plugin1.go
deleted file mode 100644
index 797f821a..00000000
--- a/plugins/rpc/tests/plugin1.go
+++ /dev/null
@@ -1,42 +0,0 @@
-package tests
-
-import (
- "fmt"
-
- "github.com/spiral/roadrunner/v2/interfaces/config"
-)
-
-type Plugin1 struct {
- config config.Configurer
-}
-
-func (p1 *Plugin1) Init(cfg config.Configurer) error {
- p1.config = cfg
- return nil
-}
-
-func (p1 *Plugin1) Serve() chan error {
- errCh := make(chan error, 1)
- return errCh
-}
-
-func (p1 *Plugin1) Stop() error {
- return nil
-}
-
-func (p1 *Plugin1) Name() string {
- return "rpc_test.plugin1"
-}
-
-func (p1 *Plugin1) RPC() interface{} {
- return &PluginRPC{srv: p1}
-}
-
-type PluginRPC struct {
- srv *Plugin1
-}
-
-func (r *PluginRPC) Hello(in string, out *string) error {
- *out = fmt.Sprintf("Hello, username: %s", in)
- return nil
-}
diff --git a/plugins/rpc/tests/plugin2.go b/plugins/rpc/tests/plugin2.go
deleted file mode 100644
index 411b9c54..00000000
--- a/plugins/rpc/tests/plugin2.go
+++ /dev/null
@@ -1,54 +0,0 @@
-package tests
-
-import (
- "net"
- "net/rpc"
- "time"
-
- "github.com/spiral/errors"
- goridgeRpc "github.com/spiral/goridge/v3/pkg/rpc"
-)
-
-// plugin2 makes a call to the plugin1 via RPC
-// this is just a simulation of external call FOR TEST
-// you don't need to do such things :)
-type Plugin2 struct {
-}
-
-func (p2 *Plugin2) Init() error {
- return nil
-}
-
-func (p2 *Plugin2) Serve() chan error {
- errCh := make(chan error, 1)
-
- go func() {
- time.Sleep(time.Second * 3)
-
- conn, err := net.Dial("tcp", "127.0.0.1:6001")
- if err != nil {
- errCh <- errors.E(errors.Serve, err)
- return
- }
- client := rpc.NewClientWithCodec(goridgeRpc.NewClientCodec(conn))
- var ret string
- err = client.Call("rpc_test.plugin1.Hello", "Valery", &ret)
- if err != nil {
- errCh <- err
- return
- }
- if ret != "Hello, username: Valery" {
- errCh <- errors.E("wrong response")
- return
- }
- // to stop exec
- errCh <- errors.E(errors.Disabled)
- return
- }()
-
- return errCh
-}
-
-func (p2 *Plugin2) Stop() error {
- return nil
-}
diff --git a/plugins/rpc/tests/rpc_test.go b/plugins/rpc/tests/rpc_test.go
deleted file mode 100644
index 0344da6b..00000000
--- a/plugins/rpc/tests/rpc_test.go
+++ /dev/null
@@ -1,169 +0,0 @@
-package tests
-
-import (
- "os"
- "os/signal"
- "syscall"
- "testing"
- "time"
-
- "github.com/spiral/endure"
- "github.com/spiral/errors"
- "github.com/spiral/roadrunner/v2/plugins/config"
- "github.com/spiral/roadrunner/v2/plugins/logger"
- "github.com/spiral/roadrunner/v2/plugins/rpc"
- "github.com/stretchr/testify/assert"
-)
-
-// graph https://bit.ly/3ensdNb
-func TestRpcInit(t *testing.T) {
- cont, err := endure.NewContainer(nil, endure.SetLogLevel(endure.ErrorLevel))
- if err != nil {
- t.Fatal(err)
- }
-
- err = cont.Register(&Plugin1{})
- if err != nil {
- t.Fatal(err)
- }
-
- err = cont.Register(&Plugin2{})
- if err != nil {
- t.Fatal(err)
- }
-
- v := &config.Viper{}
- v.Path = ".rr.yaml"
- v.Prefix = "rr"
- err = cont.Register(v)
- if err != nil {
- t.Fatal(err)
- }
-
- err = cont.Register(&rpc.Plugin{})
- if err != nil {
- t.Fatal(err)
- }
-
- err = cont.Register(&logger.ZapLogger{})
- if err != nil {
- t.Fatal(err)
- }
-
- err = cont.Init()
- if err != nil {
- t.Fatal(err)
- }
-
- ch, err := cont.Serve()
- if err != nil {
- t.Fatal(err)
- }
-
- sig := make(chan os.Signal, 1)
-
- signal.Notify(sig, os.Interrupt, syscall.SIGINT, syscall.SIGTERM)
- tt := time.NewTimer(time.Second * 10)
-
- for {
- select {
- case e := <-ch:
- // just stop, this is ok
- if errors.Is(errors.Disabled, e.Error) {
- return
- }
- assert.Fail(t, "error", e.Error.Error())
- err = cont.Stop()
- if err != nil {
- assert.FailNow(t, "error", err.Error())
- }
- case <-sig:
- err = cont.Stop()
- if err != nil {
- assert.FailNow(t, "error", err.Error())
- }
- return
- case <-tt.C:
- // timeout
- err = cont.Stop()
- if err != nil {
- assert.FailNow(t, "error", err.Error())
- }
- assert.Fail(t, "timeout")
- }
- }
-}
-
-// graph https://bit.ly/3ensdNb
-func TestRpcDisabled(t *testing.T) {
- cont, err := endure.NewContainer(nil, endure.SetLogLevel(endure.ErrorLevel))
- if err != nil {
- t.Fatal(err)
- }
-
- err = cont.Register(&Plugin1{})
- if err != nil {
- t.Fatal(err)
- }
-
- err = cont.Register(&Plugin2{})
- if err != nil {
- t.Fatal(err)
- }
-
- v := &config.Viper{}
- v.Path = ".rr-rpc-disabled.yaml"
- v.Prefix = "rr"
- err = cont.Register(v)
- if err != nil {
- t.Fatal(err)
- }
-
- err = cont.Register(&rpc.Plugin{})
- if err != nil {
- t.Fatal(err)
- }
-
- err = cont.Register(&logger.ZapLogger{})
- if err != nil {
- t.Fatal(err)
- }
-
- err = cont.Init()
- if err != nil {
- t.Fatal(err)
- }
-
- ch, err := cont.Serve()
- if err != nil {
- t.Fatal(err)
- }
-
- sig := make(chan os.Signal, 1)
-
- signal.Notify(sig, os.Interrupt, syscall.SIGINT, syscall.SIGTERM)
- tt := time.NewTimer(time.Second * 20)
-
- for {
- select {
- case e := <-ch:
- // RPC is turned off, should be and dial error
- if errors.Is(errors.Disabled, e.Error) {
- assert.FailNow(t, "should not be disabled error")
- }
- assert.Error(t, e.Error)
- err = cont.Stop()
- assert.Error(t, err)
- return
- case <-sig:
- err = cont.Stop()
- if err != nil {
- assert.FailNow(t, "error", err.Error())
- }
- return
- case <-tt.C:
- // timeout
- return
- }
- }
-}