]> git.giacomolli.uk - onechat/blobdiff - whatsapp_send_test.go
Check the width of comment lines
[onechat] / whatsapp_send_test.go
index 65c2fc6f1993b2877b0c47e1ff756f76e32b6e25..85b7d15b6f82535f2909c950bb1b9f536848c272 100644 (file)
@@ -88,6 +88,37 @@ func TestWhatsAppSendThatFails(t *testing.T) {
        require.Len(t, fake.Sent(), 1)
 }
 
+func TestWhatsAppSendLogsEachSendWithoutTextOrNumbers(t *testing.T) {
+       dir := t.TempDir()
+       whatsappTestSession(t, dir, true)
+
+       whatsapp, fake, logs := whatsappStartTest(t, dir, newTestClock())
+       daemonStartTestWithWhatsApp(t, newModelFake(t), nil, whatsapp)
+       whatsappTestConnect(t, fake)
+
+       name, err := whatsapp.inbox.images.Save(imageTestPNG(t, 4, 3))
+       require.NoError(t, err)
+
+       _, err = whatsapp.Send(t.Context(), "keys", whatsappTestAna.String(), "The keys are under the mat.", "")
+       require.NoError(t, err)
+
+       _, err = whatsapp.Send(t.Context(), "plan", whatsappTestAna.String(), "The plan.", name)
+       require.NoError(t, err)
+
+       fake.sendErr = errors.New("server error for " + whatsappTestNumber)
+       _, err = whatsapp.Send(t.Context(), "late", whatsappTestAna.String(), "Late.", "")
+       require.NoError(t, err)
+
+       chat := whatsappChatHash(whatsappTestAna)
+       require.Contains(t, logs.String(), "<6>message sent chat="+chat+" image=false\n")
+       require.Contains(t, logs.String(), "<6>message sent chat="+chat+" image=true\n")
+       require.Contains(t, logs.String(), "<4>message send failed chat="+chat+" image=false: server error for OWN\n")
+
+       for _, secret := range []string{"keys", "plan", "Late", whatsappTestNumber, whatsappTestAna.User} {
+               require.NotContains(t, logs.String(), secret)
+       }
+}
+
 func TestWhatsAppSendCutByAStop(t *testing.T) {
        whatsapp, fake := whatsappStartTestLinked(t)
        daemonStartTestWithWhatsApp(t, newModelFake(t), nil, whatsapp)
@@ -254,7 +285,7 @@ func TestWhatsAppImageSendUploadsOnceAndKeepsCaption(t *testing.T) {
        require.Equal(t, name, record.Image)
        require.Equal(t, whatsappSent, record.State)
 
-       again, err := whatsappSend(t.Context(), whatsapp.link(), whatsapp.groups, state, whatsapp.inbox.images, whatsapp.clock, "photo", whatsappTestAna.String(), "The plan.", name)
+       again, err := whatsappSend(t.Context(), whatsapp.link(), whatsapp.groups, state, whatsapp.inbox.images, discardLog(), whatsapp.clock, "photo", whatsappTestAna.String(), "The plan.", name)
        require.NoError(t, err)
        require.Contains(t, again, "nothing was sent again")
        require.Len(t, fake.Uploads(), 1)
@@ -409,7 +440,7 @@ func TestTelegramReceivedPhotoCanBeShownAndSentToWhatsApp(t *testing.T) {
        calls := telegram.Calls()
        require.Equal(t, "sendPhoto", calls[len(calls)-1].method)
        require.Equal(t, picture, calls[len(calls)-1].params["photo"])
-       require.Empty(t, logs.String())
+       require.Equal(t, "<6>image sent\n", logs.String())
 }
 
 func TestWhatsAppImageUploadEndsWithItsCallerOrTimeout(t *testing.T) {