调参数的过程,百转千回。

还好,搞得差不多了。

确实,方便写测试用例,

也是一个开发水平高低的衡量~~~:(

为了测试这个mock,不得不改下代码~~

还要不断的将Model里允许Null的参数写完,

不然,报错呀~~~

model_mommy,哟,不错的写测试数据的东东。

class DeployFunctionTests(TestCase):
    def setUp(self):
        self.user = User.objects.create_user(
            username='test',
            email='test@example.com',
            password='test',)
        self.client.login(username='test', password='test')
        self.new_server = mommy.make(Server, env_name__name='fat',
                                     app_name__script_url="http://",
                                     app_user=self.user,
                                     app_name__name="hello",
                                     app_name__zip_package_name="heh",
                                     app_name__package_name="heh",
                                     port="3456",
                                     )
        self.new_deploy = mommy.make(DeployPool, name="2018--12-24-56XN", is_inc_tot='tot')
        DeployStatus.objects.create(name="FINISH", memo="FINISH")

    @patch('deploy.salt_cmd_views.cmd_run')
    def test_deploy_function(self, mock_cmd_run):
        mock_cmd_run.return_value = True
        self.assertEqual(deploy.salt_cmd_views.deploy(
            subserver_list=[[1, 2, 3], [4, 5, 6]],
            deploy_type="deployall",
            is_restart_server=True,
            user_name=self.user,
            deploy_version="2018--12-24-56XN",
            operation_type="deploy"
        ), True)

    @patch('deploy.salt_cmd_views.salt_run')
    def test_cmd_run_function(self, mock_salt_run):
        mock_salt_run.return_value = {'return': [{self.new_server.name: {'retcode': 0}}]}
        self.assertEqual(deploy.salt_cmd_views.cmd_run(
            server_id=self.new_server.id,
            action="deploy",
            user_name=self.user,
            percent_value="100%",
            deploy_version="2018--12-24-56XN",
            operation_type="deploy"),  True)

只想写一个真正能用的django mock的更多相关文章

  1. 利用 TypeConverter,转换字符串和各种类型只需写一个函数

    本文代码基于 .NET Framework 实现. 本来只想进行简单的配置存储的,不料发现 .NET 的基本类型多达十多种.于是,如果写成下面这样,那代码可就太多了哦: // 注:`Configura ...

  2. 我想写一个前端开发工具(三):优化!从vue-cli学了几招

    我从过年开始写自己的前端工具 coodev,目前已经写出一个基本的架子,大多数预想的功能都能跑通,还剩一些需要解决的问题也都已经列出来了.本来这一周打算解决对不同后端模板的前后端渲染支持的问题.但是看 ...

  3. 我想写一个前端开发工具(一):在npm发布模块

    有必要说说我为什么要开始写这个,正文从下面的第一条开始 我最近忙于公司的项目,一直没有抽出时间来写文章.本来想每个月写一片文章,保质保量,无奈上个月没有坚持. 这段时间有点忙,主要是由于公司业务调整, ...

  4. 想写一个 Sketch 插件 结果 一查不可收拾 ~~ 涉及到 Symbol 符号/ Layer 图层 / Overrides 可替换变量 等等

    var sketch = context.api() var document = sketch.selectedDocument; var selection = document.selected ...

  5. 写一个简易浏览器、ASP.NET核心知识(3)

    前言 先在文章前面说好了,省得大家发现我根本没有这样的头发,duang的一下一堆人骂我. 这篇文章的标题有点大,其实挺low的,我需要在开头解释一下.我这里只想写一个小的控制台,旨在模拟浏览器的htt ...

  6. 如何写一个简单的shell

    如何写一个简单的shell 看完<UNIX环境高级编程>后我就一直想写一个简单的shell来作为练习,因为有事断断续续的写了好几个月,如今写了差不多来总结一下. 源代码放在了Github: ...

  7. 怎样写一个与Win8 IE11兼容的标准BHO?

    怎样写一个与Win8 IE11兼容的标准BHO? 环境:Windows8.1 x86 IE11(其它环境未讨论) 作者:magictong 日期:2014/02/02 概述 微软在2013年6月份推出 ...

  8. 用python写一个非常简单的QQ轰炸机

    闲的没事,就想写一个QQ轰炸机,按照我最初的想法,这程序要根据我输入的QQ号进行轰炸,网上搜了一下,发现网上的案列略复杂,就想着自己写一个算了.. 思路:所谓轰炸机,就是给某个人发很多信息,一直刷屏, ...

  9. 并发编程 —— 自己写一个异步回调 API

    1. 前言 在并发编程中,异步回调的效率不言而喻,在业务开发中,如果由阻塞的任务需要执行,必然要使用异步线程.并且,如果我们想在异步执行之后,根据他的结果执行一些动作. JDK 8 之前的 Futur ...

随机推荐

  1. std::string 字符串切割

    在很多字符串类库里都实现了split函数.不过在std里没有实现.在这里拿出几个: 1. 用单字符作为分隔 #include <string> #include <vector> ...

  2. sql bak还原到新数据库

    1 创建新数据库  TestDB 2  使用语句 use master restore database [TestDB] from disk = 'D:\SqlDataBak\SanJu\SanJu ...

  3. 解题:HNOI 2013 Cards

    题面 除了不洗牌以外,每种洗牌方式的每个循环里的颜色必须一样,然后大力背包一下就好了.最后记得把不洗牌的方案也算进去 #include<cstdio> #include<cstrin ...

  4. js判断是否为空

    http://dushanggaolou.iteye.com/blog/1293803 1.<input type="hidden" id="key" n ...

  5. kubespray 一键安装k8s集群

    1. clone代码 git clone https://github.com/kubernetes-incubator/kubespray.git 2. 添加inventory/inventory ...

  6. ansible报错Aborting, target uses selinux but python bindings (libselinux-python) aren't installed【转】

    报错内容: TASK [activemq : jvm configuration] ********************************************************** ...

  7. pytho部分命令

    python --version查看版本号 pip install XXX 安装模块 pip uninstall XXX 卸载模块

  8. CSS 设置网页中选中文字的背景色

    在样式文件中增加如下代码: ::selection { background: hsla(5, 92%, 76%, 0.8); color: #fff;}

  9. android studio run的时候一直卡在waiting for debug

    原因如下: 选择ok就可以,同时我们也可以从这里找到 平常遇到跟真机有关的问题,三步大法,1,插拔手机,2.adb kill-server;adb start-server 3.重启as

  10. day63_SpringMVC学习笔记_01

    1.JAVAEE体系结构 JAVAEE体系结构图如下所示: 2.什么是springmvc? 什么是mvc? Model1 Model2 SpringMVC是什么? SpringMVC是一个web层mv ...