跳转到主要内容

在VirtualBox虚拟机上测试Fabric脚本

项目描述

Fabtest是一组工具和基本测试用例,有助于测试Fabric脚本与VirtualBox虚拟机的兼容性。许可证是MIT。

每次测试前都将虚拟机回滚到初始状态,以便测试可以对目标系统进行任何操作;可以从Python运行Fabric命令。

安装

pip install fabtest

虚拟机

为了运行测试,您需要VirtualBox 4.x和操作系统镜像。镜像应该已经安装了ssh服务器。

示例虚拟机(可以通过File->导入虚拟设备导入VirtualBox)

由于VirtualBox中的错误,最好将导入的.vmdk磁盘镜像转换为.vdi镜像,例如。

VBoxManage clonehd Ubuntu-10.10-disk1.vmdk Ubuntu-10.10-disk.vdi --format VDI

然后从虚拟机中分离(并删除)vmdk磁盘,并附加vdi镜像。

获取镜像后,请确保它没有运行,并执行fabtest-preparevm脚本(向其中传递虚拟机名称或uid)

fabtest-preparevm Lenny

此命令配置端口转发(127.0.0.1:2222到客户端22端口,127.0.0.1:8888到客户端80端口),并使用用于测试回滚的fabtest-initial快照(从启动的机器中获取以加快测试速度)。

编写测试

fabtest.VirtualBoxTestfabtest.FabTest中继承并使用fabtest.fab执行fabric命令

from fabric.api import run
from fabtest import FabTest, fab

def whoami():
    return run('whoami')

class MyTestCase(FabTest):
    def test_root_login(self):
        output = fab(whoami)
        self.assertEqual(output, 'root')

更多信息请查看源代码(和示例/runtests.py)。

变更日志

0.1.5 (2012-04-19)

  • 改进了针对VirtualBox错误的解决方案。

0.1.4 (2012-04-19)

  • 针对Windows下VirtualBox错误的解决方案。

0.1.3 (2012-04-14)

  • 打包修复。

0.1.1 (2012-03-02)

  • 更好的异常处理(保留原始跟踪信息)。

0.1 (2012-03-01)

  • 支持并需要Fabric >= 1.4;

  • 更可靠的VirtualBox快照处理;

  • fab函数现在包装fabric的execute并返回单个值,而不是值列表。

0.0.8 (2011-03-22)

  • 许多调整和错误修复。

0.0.1 (2011-02-16)

初始实验性发布版(从 django-fab-deploy 中提取)。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分发

fabtest-0.1.5.tar.gz (6.4 kB 查看哈希值)

上传时间