tedivm/dovecottesting

IMAP 测试套件

支持包维护!
tedivm

安装量: 2 183

依赖项: 7

建议者: 0

安全性: 0

星级: 30

关注者: 5

分支: 5

公开问题: 1

语言:Shell

v1.2.3 2014-05-20 04:24 UTC

This package is auto-updated.

Last update: 2024-08-26 06:34:01 UTC


README

此包用于通过提供一致的邮箱来测试 IMAP 和 POP 客户端库。这个易于使用的库允许开发者使用 Vagrant 和 Travis-CI 本地运行测试套件,而无需进行任何修改。

此包可用于测试任何语言的库。它最初是为了支持一个 PHP 库 Fetch 而构建的,因此已经内置了一些针对 PHP 开发者的额外支持。我鼓励大家提交功能请求,甚至更好的,提交拉取请求,以帮助使此包对其他语言更具可消费性。

用法

SetupEnvironment.sh

SetupEnvironment.sh 文件作为一系列不同脚本的包装器。它确定它被要求控制以下哪个系统,然后采取适当的步骤来设置测试环境。

使用此脚本的最佳方式是将它直接集成到您的测试套件中,通常是作为引导程序或预测试操作。这样,您可以像平常一样调用测试套件,并确保环境完全一致。

服务器设置

  • 用户名: testuser
  • 密码: applesauce
  • IMAP: 143
  • IMAPS: 993
  • POP: 110
  • POPS: 995
  • Vagrant IP 地址: 172.31.1.2
  • Travis IP 地址: 127.0.0.1

PHP

此包通过 Composer 提供,这使得将其集成到 Travis-CI 非常简单。

首先,将相关行添加到您的 composer 配置中

"require-dev": {
      "tedivm/dovecottesting": "~1"
  },

然后修改您的 Travis 配置

before_script:
    - composer install --dev
    - vendor/tedivm/dovecottesting/SetupEnvironment.sh

Vagrant 注意事项

您需要安装 VagrantVirtualBox 以进行本地开发。一旦安装了这些包,剩下的只是按照上述方法调用 SetupEnvironment.sh。

您第一次使用 Vagrant 启动环境时,可能需要下载模板箱。这可能会增加脚本启动时间几分钟,但只需发生一次。

如果环境已经存在,则此脚本将简单地将其电子邮件重置为原始状态,以便可以再次运行测试。这个过程只需几秒钟。

虚拟机将在 SetupEnvironment.sh 上次运行后的 30 分钟自动关闭,这应该在每次运行测试套件之前发生。这保持了机器在测试期间运行,以便您可以快速切换,但同时也确保当未使用时不会留下运行中的机器。

Travis CI 注意事项

与 Vagrant 一样,您只需要在运行测试之前运行 SetupEnvironment.sh 脚本。将包添加到 Travis CI 可以通过包管理器直接完成,就像上面的 composer 示例一样,或者通过从 git 直接拉取的包装脚本。

添加更多电子邮件

此软件包通过存储一个正在运行的Dovecot邮件目录的副本,然后将该目录复制到测试环境中来工作。添加新电子邮件意味着将其发送到正在运行的Dovecot实例,然后更新资源目录以确保这些更改在多次使用之间保持不变。这可以通过多种方式完成。

首选方式是将邮件客户端连接到正在运行的Dovecot实例,然后使用它来传输电子邮件。大多数邮件客户端,如Mail.app,允许在账户之间拖放传输电子邮件。这种方法最简单,因为它不需要设置SMTP服务器,因为它只是重新使用现有的“真实”账户来创建消息,然后将其传输。这是创建初始电子邮件集的方法。

另一种选择是在Vagrant实例上直接启用Postfix,并使用它来接收消息。这稍微复杂一些,因为它确实需要设置邮件服务器并将其与Dovecot集成。

最后一种方法是向[email protected]发送包含所需消息的电子邮件,然后在此处打开一个问题请求将其包含在内。显然,这里会有一些周转时间,所以请尝试自己添加它,并随时提出拉取请求以将其包含在此处。