github.com/Laplace-Game-Development/Laplace-Entangled-Environment@v0.0.3/internal/event/event_test.go (about) 1 package event 2 3 import ( 4 "flag" 5 "fmt" 6 "os" 7 "testing" 8 9 "github.com/Laplace-Game-Development/Laplace-Entangled-Environment/internal/redis" 10 "github.com/mediocregopher/radix/v3" 11 ) 12 13 var ( 14 cwd_arg = flag.String("cwd", "", "set cwd") 15 ) 16 17 func TestMain(m *testing.M) { 18 flag.Parse() 19 if *cwd_arg != "" { 20 if err := os.Chdir(*cwd_arg); err != nil { 21 fmt.Println("Chdir error:", err) 22 } 23 } 24 25 os.Exit(m.Run()) 26 } 27 28 func TestEvent(t *testing.T) { 29 cleanup, err := redis.StartDatabase() 30 if err != nil { 31 t.Errorf("Error starting redis connection! Err: %v\n", err) 32 } 33 defer cleanup() 34 35 expected := "DERPDERP" 36 err = SubmitGameForHealthCheck(expected) 37 if err != nil { 38 t.Errorf("An Error Occurred when adding to Queue! Err: %v\n", err) 39 } 40 41 var actual string 42 err = redis.MainRedis.Do(radix.Cmd(&actual, "LINDEX", HealthTaskQueue, "-1")) 43 if err != nil { 44 t.Errorf("An Error Occurred When Reading From Redis! Err: %v\n", err) 45 } 46 47 if actual != expected { 48 t.Errorf("Expected '%s' but got '%s'!\n", expected, actual) 49 } 50 51 err = redis.MainRedis.Do(radix.Cmd(&actual, "RPOP", HealthTaskQueue)) 52 if err != nil { 53 t.Errorf("An Error Occurred When Reading From Redis! Err: %v\n", err) 54 } 55 }