fixes CORE-2538
test plan
- configure statsd to use data dog
- it should work
Change-Id: Ie8428e4e99973b35506bd7a8e4d1a18f5a7875a1
Reviewed-on: https://gerrit.instructure.com/182083
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Change-Id: I4786663805d277f028531d9c4a85a147427e7c66
Reviewed-on: https://gerrit.instructure.com/173987
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
this bump includes a change to show line ending characters are treated
when processing mail. standard email line ending is \r\n and prior to
2.7.0, this was automatically converted back to \n when decoding
a message part. however, in some cases this could corrupt images, and so
that conversion is no longer happening. see:
https://github.com/mikel/mail/pull/1113
this means that message replies that become discussion or conversation
replies will have the \r\n line ending in them. we could restore the
previous behavior be manually calling `::Mail::Utilities.to_lf` in
incoming mail processor when we pull the decoded message parts, but
everything should work just fine with the different line ending.
closes COMMS-620
test plan:
- regression test incoming mail processing
- smoke test outgoing mail
Change-Id: I349c3e70b08ecb84ef92e597762c48708d52e800
Reviewed-on: https://gerrit.instructure.com/136259
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
QA-Review: Aaron Kc Hsu <ahsu@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
Change-Id: I0a0630d7dace8ec0cfc21721ccf67c0e7a7fa9b5
Reviewed-on: https://gerrit.instructure.com/92792
Tested-by: Jenkins
QA-Review: Benjamin Christian Nelson <bcnelson@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
fixes CNVS-24061
test plan
- reply to a replyable notification from canvas with an email that
lacks a Content-Type header (you'll have to use an email client
with pretty low-level email fiddling capabilities, like a rails
console)
- ensure that canvas accepts the message and posts the reply
Change-Id: Id1b4485c4adf0cb5a6f39b261d7975d1b2ef499f
Reviewed-on: https://gerrit.instructure.com/66426
Tested-by: Jenkins
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Heath Hales <hhales@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
fixes CNVS-23704
test plan
- regression test incoming sqs (see CNVS-21215)
Change-Id: I71cb0f2f49902c5d7d348da55301a129a74d0b18
Reviewed-on: https://gerrit.instructure.com/64188
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Heath Hales <hhales@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
Fixes CNVS-22630
Test Plan:
Smoke test IMP against both types of queues
Change-Id: Icb88864b600ff76b389cd3858b70ee7898ec05f8
Reviewed-on: https://gerrit.instructure.com/61442
Tested-by: Jenkins
Reviewed-by: Joel Hough <joel@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
Fixes CNVS-20436
This does two things:
1) Reports to StatsD each time a message
is processed
2) Every 5 minutes, reports the unprocessed size
of each incoming mailbox
Test Plan:
Regression test incoming mail processing. Will
want to check the basic cases of incoming messages
still being processed properly.
Smoke test the new Instrumentation delayed job.
1) Setup incoming mail processing by adding a
config/incoming_mail.yml with the right content
- Wheeler can tell you what the file
should contain. (not shown because passwords)
2) Start canvas jobs
`bundle exec script/delayed_job run`
3) Watch /error_reports for any new error reports.
You should see none.
Change-Id: Ia737906cedb67e183fec0f41571e002883c058c8
Reviewed-on: https://gerrit.instructure.com/57892
Reviewed-by: Joel Hough <joel@instructure.com>
Tested-by: Jenkins
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
Fixes CNVS-20333
Test plan:
- Test against a Canvas instance with multiple mailboxes set up
per instructions in config/incoming_mail.yml.example
- Configure per-mailbox workers by adding
`dedicated_workers_per_mailbox: true` to config/incoming_mail.yml
- Regression test incoming message processing with imap, pop, and
directory mailboxes
- Ensure that all messages are processed
- Ensure that separate jobs are queued for each mailbox
Change-Id: Ibeaef528b8deed54396d019cbb172dc0e07150fd
Reviewed-on: https://gerrit.instructure.com/53719
Reviewed-by: Joel Hough <joel@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Alex Boyd <aboyd@instructure.com>
Tested-by: Jenkins
fixes CNVS-19005
test plan
- reply to an email from canvas with an email that does not have a
text part
- ensure that the posted discussion/conversation/whatever does not
include html tags in the posted text
Change-Id: I3223f10600e84aa0fb44f13435165557aaf59603
Reviewed-on: https://gerrit.instructure.com/53071
Tested-by: Jenkins
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
fixes CNVS-19171
test plan
- configure multiple IMP workers by adding `workers: 3` to
incoming_mail.yml
- regression test incoming message processing with imap, pop, and
directory mailboxes
- ensure that all messages are processed
- ensure that three periodic IMP jobs are queued and run without
errors
Change-Id: Id7a8d2edae35f4eaafae7c616eaaaace87f67a5d
Reviewed-on: https://gerrit.instructure.com/50270
Tested-by: Jenkins
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
ruby 2.1 defaults to utf-8 for string literals, where 1.9 defaulted to
binary, so these tests need to explicitly force binary for 2.1
compatibility.
This change should only be necessary in the specs, the encoding of the
body strings coming from real data won't change with 2.1, since they
aren't string literals.
fixes CNVS-16261
Change-Id: Ifd127d077e47ab56b76620ef0974932563826cc2
Reviewed-on: https://gerrit.instructure.com/42734
Reviewed-by: Bryan Madsen <bryan@instructure.com>
Product-Review: Bryan Madsen <bryan@instructure.com>
QA-Review: Bryan Madsen <bryan@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
fixes CNVS-15232
test plan
- reply to a conversation message notification email with a
multipart message that doesn't have an html part
- ensure that the reply shows up in canvas
- ensure that no error report is generated from the incoming
message processor
Change-Id: If7b4913fe28815312360e58e50f47bf44ff2ead2
Reviewed-on: https://gerrit.instructure.com/40971
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Severson <markse@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
This fixes an issue where receiving a nested multipart message would
show some of the raw message pieces instead of the actual message. A
new test case has been added.
Fixes CNVS-5873
Test Plan:
- Set Notifications for Conversations so that you will be emailed to an email account you have set up in Outlook.
- As another user, message that student to prompt the notification to be sent
- From Outlook, reply to the Conversation Message notification and include an image somewhere in the body of your reply
- Return to the Conversations Inbox of the user that was being replied to and observe that the message displays in Canvas with all the encoding data.
Change-Id: I497cf421ee231d7e95c0bacd34cb2448fb7220ff
Reviewed-on: https://gerrit.instructure.com/38684
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joel Hough <joel@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
fixes CNVS-12182
test plan
- regression test on incoming mail
- use script/process_incoming_emails to manually trigger the processing
of incoming mail
Change-Id: Iccd74d8fe2b5af3d5eefe25a2736273e3bf559b0
Reviewed-on: https://gerrit.instructure.com/32794
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Braden Anderson <banderson@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>