36 lines
981 B
Go
36 lines
981 B
Go
package graphvent
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestGQLThread(t * testing.T) {
|
|
ctx := testContext(t)
|
|
gql_thread, err := NewGQLThread(ctx, ":8080", []Lockable{}, ObjTypeMap{}, FieldMap{}, FieldMap{}, FieldMap{})
|
|
fatalErr(t, err)
|
|
|
|
test_thread_1, err := NewSimpleBaseThread(ctx, "Test thread 1", []Lockable{}, ThreadActions{}, ThreadHandlers{})
|
|
fatalErr(t, err)
|
|
|
|
test_thread_2, err := NewSimpleBaseThread(ctx, "Test thread 2", []Lockable{}, ThreadActions{}, ThreadHandlers{})
|
|
fatalErr(t, err)
|
|
|
|
i1 := NewGQLThreadInfo(true)
|
|
err = LinkThreads(ctx, gql_thread, test_thread_1, &i1)
|
|
fatalErr(t, err)
|
|
|
|
i2 := NewGQLThreadInfo(false)
|
|
err = LinkThreads(ctx, gql_thread, test_thread_2, &i2)
|
|
fatalErr(t, err)
|
|
|
|
go func(thread Thread){
|
|
time.Sleep(10*time.Millisecond)
|
|
// Check that test_thread_1 is running and test_thread_2 is not
|
|
SendUpdate(ctx, thread, CancelSignal(nil))
|
|
}(gql_thread)
|
|
|
|
err = RunThread(ctx, gql_thread)
|
|
fatalErr(t, err)
|
|
}
|