about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules/moto/default.nix
blob: 04381d73834faa4256fb9e5dd9fa9d7392110a8e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
{ lib, buildPythonPackage, fetchPypi, isPy27
, aws-xray-sdk
, backports_tempfile
, boto
, boto3
, botocore
, cfn-lint
, docker
, flask
, freezegun
, jinja2
, jsondiff
, mock
, nose
, pyaml
, python-jose
, pytz
, requests
, responses
, six
, sshpubkeys
, sure
, werkzeug
, xmltodict
}:

buildPythonPackage rec {
  pname = "moto";
  version = "1.3.10";

  src = fetchPypi {
    inherit pname version;
    sha256 = "0vlq015irqqwdknk1an7qqkg1zjk18c7jd89r7zbxxfwy3bgzwwj";
  };

  postPatch = ''
    substituteInPlace setup.py \
      --replace "jsondiff==1.1.2" "jsondiff~=1.1"
    sed -i '/datetime/d' setup.py # should be taken care of by std library
  '';

  propagatedBuildInputs = [
    aws-xray-sdk
    boto
    boto3
    botocore
    cfn-lint
    docker
    flask # required for server
    jinja2
    jsondiff
    mock
    pyaml
    python-jose
    pytz
    six
    requests
    responses
    sshpubkeys
    werkzeug
    xmltodict
  ] ++ lib.optionals isPy27 [ backports_tempfile ];

  checkInputs = [ boto3 freezegun nose sure ];

  checkPhase = ''nosetests -v ./tests/ \
                  -e test_invoke_function_from_sns \
                  -e test_invoke_requestresponse_function \
                  -e test_context_manager \
                  -e test_decorator_start_and_stop'';

  meta = with lib; {
    description = "Allows your tests to easily mock out AWS Services";
    homepage = https://github.com/spulec/moto;
    license = licenses.asl20;
    maintainers = [ ];
  };
}