summaryrefslogtreecommitdiff
path: root/tests/plugins/temporal/disaster_test.go
diff options
context:
space:
mode:
authorValery Piashchynski <[email protected]>2021-01-27 14:36:00 +0300
committerGitHub <[email protected]>2021-01-27 14:36:00 +0300
commitb65bd870e2dfa1cb06d8cf8f142c34a418e9ae56 (patch)
tree5cb263c5f231ab1683010adda5a2f116da1d2815 /tests/plugins/temporal/disaster_test.go
parent7ac2fe05d1d460e9a7f92e8838ac1670743bc2d8 (diff)
parent6dd131497808f414ac1cb952d4b0b89b9e0689f8 (diff)
Merge branch 'master' into dependabot/go_modules/github.com/go-redis/redis/v8-8.4.11
Diffstat (limited to 'tests/plugins/temporal/disaster_test.go')
-rw-r--r--tests/plugins/temporal/disaster_test.go114
1 files changed, 0 insertions, 114 deletions
diff --git a/tests/plugins/temporal/disaster_test.go b/tests/plugins/temporal/disaster_test.go
deleted file mode 100644
index 9ca4d018..00000000
--- a/tests/plugins/temporal/disaster_test.go
+++ /dev/null
@@ -1,114 +0,0 @@
-package tests
-
-import (
- "context"
- "os"
- "testing"
- "time"
-
- "github.com/stretchr/testify/assert"
- "go.temporal.io/sdk/client"
-)
-
-func Test_WorkerError_DisasterRecovery(t *testing.T) {
- s := NewTestServer()
- defer s.MustClose()
-
- p, err := os.FindProcess(int(s.workflows.Workers()[0].Pid()))
- assert.NoError(t, err)
-
- w, err := s.Client().ExecuteWorkflow(
- context.Background(),
- client.StartWorkflowOptions{
- TaskQueue: "default",
- },
- "TimerWorkflow",
- "Hello World",
- )
- assert.NoError(t, err)
-
- time.Sleep(time.Millisecond * 750)
-
- // must fully recover with new worker
- assert.NoError(t, p.Kill())
-
- var result string
- assert.NoError(t, w.Get(context.Background(), &result))
- assert.Equal(t, "hello world", result)
-}
-
-func Test_WorkerError_DisasterRecovery_Heavy(t *testing.T) {
- s := NewTestServer()
- defer s.MustClose()
-
- defer func() {
- // always restore script
- _ = os.Rename("worker.bak", "worker.php")
- }()
-
- // Makes worker pool unable to recover for some time
- _ = os.Rename("worker.php", "worker.bak")
-
- p, err := os.FindProcess(int(s.workflows.Workers()[0].Pid()))
- assert.NoError(t, err)
-
- // must fully recover with new worker
- assert.NoError(t, p.Kill())
-
- w, err := s.Client().ExecuteWorkflow(
- context.Background(),
- client.StartWorkflowOptions{
- TaskQueue: "default",
- },
- "TimerWorkflow",
- "Hello World",
- )
- assert.NoError(t, err)
-
- time.Sleep(time.Millisecond * 750)
-
- // restore the script and recover activity pool
- _ = os.Rename("worker.bak", "worker.php")
-
- var result string
- assert.NoError(t, w.Get(context.Background(), &result))
- assert.Equal(t, "hello world", result)
-}
-
-func Test_ActivityError_DisasterRecovery(t *testing.T) {
- s := NewTestServer()
- defer s.MustClose()
-
- defer func() {
- // always restore script
- _ = os.Rename("worker.bak", "worker.php")
- }()
-
- // Makes worker pool unable to recover for some time
- _ = os.Rename("worker.php", "worker.bak")
-
- // destroys all workers in activities
- for _, wrk := range s.activities.Workers() {
- assert.NoError(t, wrk.Kill())
- }
-
- w, err := s.Client().ExecuteWorkflow(
- context.Background(),
- client.StartWorkflowOptions{
- TaskQueue: "default",
- },
- "SimpleWorkflow",
- "Hello World",
- )
- assert.NoError(t, err)
-
- // activity can't complete at this moment
- time.Sleep(time.Millisecond * 750)
-
- // restore the script and recover activity pool
- _ = os.Rename("worker.bak", "worker.php")
-
- var result string
- assert.NoError(t, w.Get(context.Background(), &result))
- assert.Equal(t, "HELLO WORLD", result)
-}