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  }