binwiederhier 2 лет назад
Родитель
Сommit
fc1087a42b
3 измененных файлов с 9 добавлено и 1 удалено
  1. 1 1
      server/server_middleware.go
  2. 2 0
      server/server_twilio.go
  3. 6 0
      user/manager_test.go

+ 1 - 1
server/server_middleware.go

@@ -87,7 +87,7 @@ func (s *Server) ensureAdmin(next handleFunc) handleFunc {
 
 func (s *Server) ensureCallsEnabled(next handleFunc) handleFunc {
 	return func(w http.ResponseWriter, r *http.Request, v *visitor) error {
-		if s.config.TwilioAccount == "" {
+		if s.config.TwilioAccount == "" || s.userManager == nil {
 			return errHTTPNotFound
 		}
 		return next(w, r, v)

+ 2 - 0
server/server_twilio.go

@@ -58,6 +58,8 @@ func (s *Server) convertPhoneNumber(u *user.User, phoneNumber string) (string, *
 	return "", errHTTPBadRequestPhoneNumberNotVerified
 }
 
+// callPhone calls the Twilio API to make a phone call to the given phone number, using the given message.
+// Failures will be logged, but not returned to the caller.
 func (s *Server) callPhone(v *visitor, r *http.Request, m *message, to string) {
 	u, sender := v.User(), m.Sender.String()
 	if u != nil {

+ 6 - 0
user/manager_test.go

@@ -910,6 +910,12 @@ func TestUser_PhoneNumberAddListRemove(t *testing.T) {
 	phoneNumbers, err = a.PhoneNumbers(phil.ID)
 	require.Nil(t, err)
 	require.Equal(t, 0, len(phoneNumbers))
+
+	// Paranoia check: We do NOT want to keep phone numbers in there
+	rows, err := a.db.Query(`SELECT * FROM user_phone`)
+	require.Nil(t, err)
+	require.False(t, rows.Next())
+	require.Nil(t, rows.Close())
 }
 
 func TestUser_PhoneNumberAdd_Multiple_Users_Same_Number(t *testing.T) {