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>
Change-Id: Ia1c3b06f8adffb822415b672912b873dd748197f
Reviewed-on: https://gerrit.instructure.com/158589
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
QA-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>
fixes CNVS-38989
Test Plan:
- Send yourself an email (one which you can reply too
aka conversation messages/discussions)
- notice you see the text:
"You can reply to this message in Canvas by replying directly
to this email, or by clicking this link: %{link}."
- stop your server and modify config/outgoing_mail.yml
under development(or whatever env you are in) add
`reply_to_disabled: true`
after ` default_name: "Instructure Canvas"` key
- resend yourself an email like above
- notice that text above no longer states you can reply to the email.
Change-Id: I2707b77d3aa296dce5f04359c8e016d805e7ecd3
Reviewed-on: https://gerrit.instructure.com/124813
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Heath Hales <hhales@instructure.com>
Product-Review: Christi Wruck
closes CNVS-34065
test plan:
- do something that sends an email
- it should work
Change-Id: I21c40bd414bd43580faf7423a829fca85c5625ad
Reviewed-on: https://gerrit.instructure.com/95345
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Pedro Fajardo <pfajardo@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
Tested-by: Jenkins
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>
as of this commit, all canvas gems should be on rspec 3.5, and pass
without deprecation warnings.
closes CNVS-34040
test plan: specs should pass without deprecation warnings
Change-Id: I556b1a4a5aeb791c6ddd50ee35b51c513e025019
Reviewed-on: https://gerrit.instructure.com/98414
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Product-Review: Landon Wilkins <lwilkins@instructure.com>
QA-Review: Landon Wilkins <lwilkins@instructure.com>
Tested-by: Jenkins
rely on test_all_gems.sh to output header and trailer,
and use `set -e` in each test.sh to simplify passing
through errors
Change-Id: I3ba724ad2539ddfe31195394c43f646acfc73920
Reviewed-on: https://gerrit.instructure.com/70469
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
closes #CNVS-26001
Change-Id: I4604992b32bdbf7bfbe34332010bac8ba5101889
Reviewed-on: https://gerrit.instructure.com/69183
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@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>
refs CNVS-21215
test plan
- setup incoming mail processing
- cause an email duplicate to be sent (Mail gem and a console are
great for this. the message id has to be the same)
- ensure that the response is not double posted in canvas
Change-Id: I2e6872fa430b38b5dd9498ce8329bf2bbeeea7ce
Reviewed-on: https://gerrit.instructure.com/57566
Tested-by: Jenkins
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Heath Hales <hhales@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>
also make it easier to find which gem failed specs
Change-Id: I4cfc6edcea1cf5d1c78043c4eda7db9998ed1f12
Reviewed-on: https://gerrit.instructure.com/56181
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@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
* add test runner for broadcast_policy and fix a couple of tests that
had been broken by accident
* add test runner for canvas_quiz_statistics and add a reference to
iconv to it's Gemfile to allow tests to run in ruby 2
* add a test runner for canvas_sanitize
* remove leftover cruft from running gem builds in both rails 2 and 3
Change-Id: Iab2a0986f277a82c096e1fff2dab1d3a55b91733
Reviewed-on: https://gerrit.instructure.com/54518
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
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>
they're likely already installed, and it will save a ton of trips
to rubygems.org
Change-Id: I9ccf2194619a6e8f97d7f21b4e232dac7ff20d3c
Reviewed-on: https://gerrit.instructure.com/35694
Reviewed-by: Bryan Madsen <bryan@instructure.com>
QA-Review: Bryan Madsen <bryan@instructure.com>
Product-Review: Bryan Madsen <bryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
fixes: CNVS-12305
test plan:
summaries email should be formatted correctly with indentations.
twitter messages should not be longer than 140 characters.
Change-Id: I912a63b03c6c14de0c1d678063bb8fa33504d843
Reviewed-on: https://gerrit.instructure.com/33171
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
Change-Id: I0dad5345aae75e552af97f5b54ded10bbfebbe37
Reviewed-on: https://gerrit.instructure.com/33925
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@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>