rspec/capybara:如何模拟传入的 POST 请求? (机架测试不起作用)

2024-03-04

我需要通过 Cloudmailin 的 POST 请求接收作为多部分表单数据传入的电子邮件。 POST 类似于以下内容:

Parameters: {"to"=>"<[email protected] /cdn-cgi/l/email-protection>", "from"=>"whomever@example", "subject"=>"my awesome subject line....

实际上,接收和解析电子邮件非常简单,因为电子邮件只是作为参数发布:params[:to]、params[:from] 等。但是,如何在 Rails 中模拟这个 POST 请求?

我构建了一个虚拟的 Rails 应用程序来测试 Cloudmailin,所以我有一个实际的请求。然而,它是一个 6k 字符的文件,所以我想加载这个文件作为 POST 请求的参数。我尝试使用内置的 Rails post 和 post_via_redirect 方法来加载文件,但它转义了所有参数(“to”),这不好。有任何想法吗?


所以,我最终做了:

@parameters = { "x_to_header"=>"<#{ @detail.info }>",
                "to"=>"<#{ @account.slug }@cloudmailin.net>",
                "from"=>"#{ @member.email }",
                "subject"=>"meeting on Monday",
                "plain"=>"here is my message\nand this is a new line\n\n\nand two new lines\n\n\n\nand a third new line"
              }

然后就:

post "/where_ever", @parameters

似乎暂时完成了工作

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

rspec/capybara:如何模拟传入的 POST 请求? (机架测试不起作用) 的相关文章

  • Rails 3 Link_to:远程未触发 RJS

    我正在使用以下代码在 Rails 3 中设置 AJAX 操作 代码的 AJAX 部分似乎可以工作 但它没有请求正确的文件 而我的 respond to 为它提供常规 HTML 路由信息 resources zones do resource
  • 当一组工作人员完成时如何执行 Sidekiq 回调

    假设我有一个 Sidekiq 任务将产品处理到我的数据库 每个产品都按商店分组 因此我的代码的一个过于简化的示例将是这样的 stores each do store store products each do product Produc
  • 获取设备中的当前用户ID

    如何使用设备获取控制器中的当前用户 ID 在我的控制器中我有这样的东西 def index me current user c User find me sheets c time sheets end 我收到一条错误消息 无法找到没有 I
  • 多态控制器和调用对象

    我的地址具有多态关系 可以由成员或依赖者拥有 一切看起来都很棒 直到我意识到除非我遗漏了一些东西 否则我不知道创建它的对象是什么类型 有没有办法告诉路由文件包含对象的类型 Models class Member lt ActiveRecor
  • 使用 Fetch 和 FormData API 上传多个文件

    我正在尝试使用本机Fetch https developer mozilla org en US docs Web API Fetch API and FormData https developer mozilla org en US d
  • 在私有控制器方法中返回redirect_to

    前言 我正在使用设备进行身份验证 我试图阻止未经授权的用户查看 编辑或更新其他用户的信息 我最关心的是用户将 DOM 中的表单修改为另一个用户的 ID 填写表单 然后单击更新 我已经专门阅读过 像下面这样的东西应该有效 但事实并非如此 SO
  • 将 Rails 变量传递给液体可以在控制台中工作,但不在视图中

    我想将哈希传递给渲染方法 当我这样做时 在我的控制台中一切正常 object Object find params id hash object object to liquid template Liquid Template parse
  • 在 ec2 上托管 Rails

    我想将 Rails 部署到亚马逊 ec2 上 我看过 poolparty 和 ec2onrails 但似乎都不再维护了 人们用什么来做到这一点 都是自制的木偶和卡皮斯特拉诺 还是有一个项目可以让我继续下去 我可以推荐两个项目 如果您有一个
  • 如何从 Rails 中的 date_select 或 select_date 获取日期?

    Using select date给我回一个params my date with year month and day属性 如何轻松获取 Date 对象 我希望有类似的事情params my date to date 我很高兴使用date
  • Rails 4:资产未在生产中加载

    我正在尝试将我的应用程序投入生产 但图像和 CSS 资源路径不起作用 这是我目前正在做的事情 图像资源位于 app assets images image jpg 样式表位于 app assets stylesheets style css
  • Rails 控制台无法运行

    rbenv 红宝石版本 2 6 6 导轨版本 5 1 4 我正在较旧的代码库中工作 ruby 2 6 6 rails 5 4 1 这是我每天使用的代码库 我必须通过 rbenv 下载一个新的 ruby 版本作为单独的存储库 这样做在我的旧代
  • Heroku 部署错误

    在 Windows 环境中 尝试部署到 Heroku 时出现以下错误 C Ruby lib ruby gems 1 8 gems heroku 1 9 13 lib heroku commands base rb 32 in 没有这样的文件
  • 如何使用 Rspec 测试具有嵌套路由的控制器?

    我有 2 个使用轨道脚手架生成器创建的控制器 我希望它们嵌套在一个名为 demo 的文件夹中 所以运行 rails g scaffold demo flows rails g scaffold demo nodes 然后我决定将节点嵌套在流
  • (Rails) Assert_Select 的烦人警告

    有谁知道如何让assert select在rake测试期间不输出所有那些讨厌的html警告 你知道 就像这样的东西 ignoring attempt to close body with div opened at byte 1036 li
  • 我在 Rails 中使用了保留字吗?

    这是我的模型 class Record lt ActiveRecord Base belongs to user belongs to directory end class Directory lt ActiveRecord Base h
  • Rails:named_scope、lambda 和块

    我认为以下两个是等效的 named scope admin lambda company id conditions gt company id company id named scope admin lambda do company
  • 即使在急切加载之后,belongs_to 关联也会单独加载

    我有以下关联 class Picture lt ActiveRecord Base belongs to user end class User lt ActiveRecord Base has many pictures end 在我的
  • 获取嵌套参数

    我有一个带有嵌套参数的表单 在下面的示例中 如何获取控制器中的 amount whole 值 Parameters utf8 gt authenticity token gt KCmBI6RLh0LdUsM2r5H1vhNykS1IXecF
  • 用户未定义的方法 attr_accessible 错误

    我正在尝试创建某种登录 我创建了一个用户脚手架并将此代码放在我的 user rb 中 class User lt ActiveRecord Base attr accessible name password digest password
  • 如何加载页面特定的rails 4 js文件?

    我正在阅读资产管道的 Rails 指南文档 它指出 CoffeeScript 页面特定生成的文件 如果清单上有 require tree 指令 则默认情况下可供用户使用 这对我不起作用我必须包括这个 在特定控制器上 我缺少什么 资产管道会将

随机推荐

  • 使用 CL 寄存器进行移位会导致部分寄存器停顿吗?

    变量移位是否会产生部分寄存器停顿 或寄存器重组微指令 ecx 如果是 在哪种微架构上 我已经在Core2 65nm 上测试过这个 它似乎是只读的cl shiftbench push rbx mov edx 10000000 mov ecx
  • 在 x64 上,每个 PUSH 指令是否推送 8 字节的倍数?

    在 x64 上 每个 PUSH 指令是否压入 8 字节的倍数 如果没有的话 推力有多大 另外 每个函数参数消耗多少堆栈空间 64 位模式下的 PUSH 操作数大小 压入堆栈的值的大小以及堆栈指针调整的量取决于 PUSH 指令的操作数大小 在
  • 创建多个小文件的性能

    我需要一个测试应用程序 它将尽可能快地在磁盘上创建大量小文件 异步操作是否有助于创建文件或只是写入文件 有没有办法加快整个过程 不可能在单个文件上写入 物理驱动器 IO 不会成为这里的瓶颈吗 如果写入 4200rpm 驱动器 10 000r
  • 将两个分支之间的差异合并到第三个分支

    假设我有两个分支 master and new feature 我应该致力于一个特定的功能 我认为这个功能将成为new feature所以 我检查了specific feature分支出new feature分支 像这样 git check
  • 如何使用 eval(UrlFetchApp.fetch()) 在我的 google apps 脚本中加载外部 javascript?

    我正在尝试使用以下代码从 Google Apps 脚本功能 使用 Amazon SES Javascript SDK 发送电子邮件 function sendemail email name code date expiry version
  • Jquery:悬停时扩展选择选项

    如何使用 jquery 展开 打开鼠标悬停时的选择选项以显示选择列表中的所有项目
  • 如何将远程图像复制到我的网站目录?

    我从其他网站发布图片 我宁愿将它们放在我的服务器上 以防他们的服务器突然死机 假设该文件位于 www www www image gif 我如何将其安全地复制到我的目录 images 我用 PHP 编写 Thanks 以下应该有效 requ
  • 如何使用 flutter_webview 插件在 Flutter 中启用位置?

    我目前正在一个项目中使用 flutter webview 插件 在其中一个页面中 我需要获取用户位置信息来计算距离 网页上运行 JavaScript 来获取位置 这是我的示例代码 WebView key key initialUrl htt
  • TFJS-Node:如何从 url 加载模型?

    我想从节点中的 url 加载模型 这在浏览器中有效 mobileNet await tf loadModel https storage googleapis com tfjs models tfjs mobilenet v1 0 25 2
  • 从大文件中检索版本信息

    我们有大型可执行文件 gt 1 2 GB 其中包含自定义版本信息 我尝试使用 FileVersionInfo 类的 GetVersionInfo 从这些文件中检索 版本信息 由于某种原因 此方法不会返回 Windows XP 中较大文件 已
  • 为什么要使用页面工厂?

    我是一名新的测试工程师 一直在阅读有关页面对象模型的内容并实现它们 并不断遇到页面工厂 据我所知 Page Factory 是一个 POM 它提供了额外的功能 例如在调用 Page Factory 时实例化所有元素以及用于测试的更可读代码
  • 我应该何时/在哪里检查最低 Python 版本?

    这个问题 https stackoverflow com questions 1093322 how do i check what version of python is running my script告诉我how检查Python的
  • 从同一本地网络上的计算机访问虚拟主机

    我正在尝试进行设置 以便可以从计算机 B 访问计算机 A 中的虚拟主机上的网站 A 和 B 都位于同一网络上 我在 Win 7 上使用 xampp 因此 问题是计算机 A 服务器 在 httpd vhosts conf 文件中具有如下虚拟主
  • 如何删除与数组任何元素匹配的子字符串

    I have str this is the string 我有一个字符串数组 array this is second element third element 我想处理该字符串 以便删除与数组的任何元素匹配的子字符串 并返回字符串的其
  • 为什么 sapply() 返回一个列表?

    我遇到了一个奇怪的行为R http en wikipedia org wiki R 28programming language 29与sapply 功能 该函数应该返回一个向量 但在给它一个空向量的特殊情况下 它会返回一个列表 向量的正确
  • eq 之间的区别?和 = 在方案中?

    gt eq 1 1 t gt eq 1 1 1 1 f gt 1 1 1 1 t 这是DrScheme 中的交互窗口 有人可以解释一下 和 eq 之间的区别吗 在计划中 比较数字 等式 测试参数是否表示内存中的同一数据对象 当量 应该在第二
  • 将JSON数组字段与mysql中的字符串字段连接起来

    我正在表 2 中查找其 id 存在于表 1 中 nums 字段 JSON 值中的记录 table1 id nums JSON 1 1 2 3 4 2 7 8 5 6 3 9 10 3 4 table2 id 1 2 53 63 我想得到下一
  • VS 2008项目每次都被重建的原因

    有没有办法找出项目失败的原因每次都被重建 a 构建选择运行是在VS 2008中发出的吗 我什至尝试删除所有依赖项构建 配置管理器 取消选中所有程序集的构建列 但有问题的程序集除外 我得到相同的结果 每次都会重建程序集 我不得不提的是 所有依
  • 开放式Android中风?

    是否可以创建一个仅在某些侧面具有描边的 Android 形状对象 例如我有
  • rspec/capybara:如何模拟传入的 POST 请求? (机架测试不起作用)

    我需要通过 Cloudmailin 的 POST 请求接收作为多部分表单数据传入的电子邮件 POST 类似于以下内容 Parameters to gt lt email protected cdn cgi l email protectio