aboutsummaryrefslogtreecommitdiff
path: root/tests/functional/new-instance-takeover
diff options
context:
space:
mode:
Diffstat (limited to 'tests/functional/new-instance-takeover')
-rw-r--r--tests/functional/new-instance-takeover/fiinha.go109
l---------tests/functional/new-instance-takeover/main.go1
2 files changed, 0 insertions, 110 deletions
diff --git a/tests/functional/new-instance-takeover/fiinha.go b/tests/functional/new-instance-takeover/fiinha.go
deleted file mode 100644
index 5e6ad4b..0000000
--- a/tests/functional/new-instance-takeover/fiinha.go
+++ /dev/null
@@ -1,109 +0,0 @@
-package fiinha
-
-import (
- "runtime"
- "os"
-
- "uuid"
- g "gobang"
-)
-
-
-
-const topic = "topic"
-
-
-
-func pub(queue IQueue, topic string, flowID uuid.UUID) {
- unsent := UnsentMessage{
- Topic: topic,
- FlowID: flowID,
- Payload: []byte{},
- }
- _, err := queue.Publish(unsent)
- g.TErrorIf(err)
-}
-
-func handlerFn(publish func(uuid.UUID)) func(Message) error {
- return func(message Message) error {
- publish(message.FlowID)
- return nil
- }
-}
-
-func startInstance(
- dbpath string,
- instanceID int,
- name string,
-) (IQueue, error) {
- iqueue, err := New(dbpath)
- g.TErrorIf(err)
- queue := iqueue.(queueT)
-
- notifyFn := makeNotifyFn(queue.subscriptions.read, queue.pinger)
- queries, err := initDB(dbpath, defaultPrefix, notifyFn, instanceID)
- g.TErrorIf(err)
-
- err = queue.queries.close()
- g.TErrorIf(err)
-
- queue.queries = queries
-
- pub_ := func(topic string) func(uuid.UUID) {
- return func(flowID uuid.UUID) {
- pub(queue, topic, flowID)
- }
- }
-
- individual := "individual-" + name
- shared := "shared"
-
- queue.Subscribe(topic, individual, handlerFn(pub_(individual)))
- queue.Subscribe(topic, shared, handlerFn(pub_(shared + "-" + name)))
-
- return queue, nil
-}
-
-
-
-func MainTest() {
- g.Init()
-
- _, file, _, ok := runtime.Caller(0)
- g.TAssertEqualS(ok, true, "can't get filename")
-
- dbpath := file + ".db"
- instanceID1 := os.Getpid()
- instanceID2 := instanceID1 + 1
-
- flowID1 := uuid.New()
- flowID2 := uuid.New()
-
- g.Testing("new instances take ownership of topic+name combo", func() {
- q1, err := startInstance(dbpath, instanceID1, "first")
- g.TErrorIf(err)
- defer q1.Close()
-
- pub(q1, topic, uuid.New())
- pub(q1, topic, uuid.New())
- pub(q1, topic, flowID1)
-
- <- q1.WaitFor("individual-first", flowID1, "w").Channel
- <- q1.WaitFor( "shared-first", flowID1, "w").Channel
-
- q2, err := startInstance(dbpath, instanceID2, "second")
- g.TErrorIf(err)
- defer q2.Close()
-
- <- q2.WaitFor("individual-second", flowID1, "w").Channel
-
- pub(q2, topic, uuid.New())
- pub(q2, topic, uuid.New())
- pub(q2, topic, flowID2)
-
- // FIXME: notify multiple instances so we can add this:
- // <- q2.WaitFor("individual-first", flowID2, "w").Channel
- <- q2.WaitFor("individual-second", flowID2, "w").Channel
- <- q2.WaitFor( "shared-second", flowID2, "w").Channel
- })
-}
diff --git a/tests/functional/new-instance-takeover/main.go b/tests/functional/new-instance-takeover/main.go
deleted file mode 120000
index f67563d..0000000
--- a/tests/functional/new-instance-takeover/main.go
+++ /dev/null
@@ -1 +0,0 @@
-../../main.go \ No newline at end of file