Encrypted messaging app
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
2.1 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. package Auth_test
  2. import (
  3. "bytes"
  4. "encoding/json"
  5. "net/http"
  6. "testing"
  7. "git.tovijaeschke.xyz/tovi/Capsule/Backend/Database"
  8. "git.tovijaeschke.xyz/tovi/Capsule/Backend/Tests"
  9. )
  10. func Test_ChangeUserMessageExpiry(t *testing.T) {
  11. client, ts, err := Tests.InitTestEnv()
  12. defer ts.Close()
  13. if err != nil {
  14. t.Errorf("Expected nil, recieved %s", err.Error())
  15. return
  16. }
  17. d := struct {
  18. MessageExpiry string `json:"message_expiry"`
  19. }{
  20. MessageExpiry: "fifteen_min",
  21. }
  22. jsonStr, _ := json.Marshal(d)
  23. req, _ := http.NewRequest("POST", ts.URL+"/api/v1/auth/message_expiry", bytes.NewBuffer(jsonStr))
  24. req.Header.Set("Content-Type", "application/json")
  25. resp, err := client.Do(req)
  26. if err != nil {
  27. t.Errorf("Expected nil, recieved %s", err.Error())
  28. return
  29. }
  30. if resp.StatusCode != http.StatusNoContent {
  31. t.Errorf("Expected %d, recieved %d", http.StatusNoContent, resp.StatusCode)
  32. }
  33. u, err := Database.GetUserByUsername("test")
  34. if err != nil {
  35. t.Errorf("Expected nil, recieved %s", err.Error())
  36. return
  37. }
  38. if u.MessageExpiryDefault.String() != "fifteen_min" {
  39. t.Errorf("Failed to verify the MessageExpiryDefault has been changed")
  40. }
  41. }
  42. func Test_ChangeMessageExpiryInvalidData(t *testing.T) {
  43. client, ts, err := Tests.InitTestEnv()
  44. defer ts.Close()
  45. if err != nil {
  46. t.Errorf("Expected nil, recieved %s", err.Error())
  47. return
  48. }
  49. d := struct {
  50. MessageExpiry string `json:"message_expiry"`
  51. }{
  52. MessageExpiry: "invalid_message_expiry",
  53. }
  54. jsonStr, _ := json.Marshal(d)
  55. req, _ := http.NewRequest("POST", ts.URL+"/api/v1/auth/message_expiry", bytes.NewBuffer(jsonStr))
  56. req.Header.Set("Content-Type", "application/json")
  57. resp, err := client.Do(req)
  58. if err != nil {
  59. t.Errorf("Expected nil, recieved %s", err.Error())
  60. return
  61. }
  62. if resp.StatusCode != http.StatusUnprocessableEntity {
  63. t.Errorf("Expected %d, recieved %d", http.StatusUnprocessableEntity, resp.StatusCode)
  64. }
  65. u, err := Database.GetUserByUsername("test")
  66. if err != nil {
  67. t.Errorf("Expected nil, recieved %s", err.Error())
  68. return
  69. }
  70. if u.MessageExpiryDefault.String() != "no_expiry" {
  71. t.Errorf("Failed to verify the MessageExpiryDefault has not been changed")
  72. }
  73. }