zv_test.go 993 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package example_chat_test
  2. import (
  3. "testing"
  4. "time"
  5. "git.ali33.ru/fcg-xvii/go-tools/json"
  6. "git.ali33.ru/fcg-xvii/rest"
  7. "git.ali33.ru/fcg-xvii/rest/example_chat/chat"
  8. "git.ali33.ru/fcg-xvii/rest/rest_websocket"
  9. )
  10. func TestChat(t *testing.T) {
  11. addr := "127.0.0.1:40000"
  12. clAddr := "ws://127.0.0.1:40000/ws"
  13. core := chat.New()
  14. server := rest.NewServer(addr, []byte("top-secret"))
  15. if err := server.Listen(time.Second); err != nil {
  16. t.Fatal(err)
  17. }
  18. app := NewApplication(server.Context())
  19. restEngine := rest_websocket.New(app, core)
  20. restEngine.Prepare(server, "/ws")
  21. //ch := make(chan struct{})
  22. //<-ch
  23. cl, err := rest_websocket.NewClient(clAddr)
  24. if err != nil {
  25. t.Fatal(err)
  26. }
  27. t.Log(cl)
  28. mes := rest_websocket.NewMessage(
  29. "/users/register",
  30. json.Map{
  31. "name": "LETO",
  32. "password": "my-pass-99",
  33. },
  34. nil,
  35. time.Second*10,
  36. rest.RequestTypeMessage,
  37. )
  38. if err := cl.SendMessage(mes); err != nil {
  39. t.Fatal(err)
  40. }
  41. time.Sleep(time.Second * 5)
  42. }