summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2019-08-19 15:35:01 +0200
committerMarius Bakke <marius@gnu.org>2020-11-21 01:21:32 +0100
commitbeba9ff82123c4a82721b2ed14df2c7576e22e85 (patch)
tree97889f62c7f13df91677fc3aacf54b87acc768bc /gnu
parent160c6af5ce661bc6dcb7bf849cf8b7d95b18a594 (diff)
downloadguix-patches-beba9ff82123c4a82721b2ed14df2c7576e22e85.tar
guix-patches-beba9ff82123c4a82721b2ed14df2c7576e22e85.tar.gz
gnu: Add python-moto.
* gnu/packages/python-xyz.scm (python-moto): New public variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/python-xyz.scm68
1 files changed, 68 insertions, 0 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 718dcad8df..d50c5d57a5 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -123,6 +123,7 @@
#:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
#:use-module (gnu packages dbm)
+ #:use-module (gnu packages docker)
#:use-module (gnu packages enchant)
#:use-module (gnu packages file)
#:use-module (gnu packages fontutils)
@@ -10868,6 +10869,73 @@ text.")
(define-public python2-colorama
(package-with-python2 python-colorama))
+(define-public python-moto
+ (package
+ (name "python-moto")
+ ;; XXX: Use a pre-release for compatibility with latest botocore & friends.
+ (version "1.3.16.dev134")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "moto" version))
+ (sha256
+ (base32
+ "1pix0c7zszjwzfy88n1rpih9vkdm25nqcvz93z850xvgwb4v81bd"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'patch-hardcoded-executable-names
+ (lambda _
+ (substitute* "moto/batch/models.py"
+ (("/bin/sh")
+ (which "sh")))
+ (substitute* (find-files "tests" "\\.py$")
+ (("#!/bin/bash")
+ (string-append "#!" (which "bash"))))
+ #t))
+ (replace 'check
+ (lambda _
+ (setenv "PYTHONPATH" (string-append "./build/lib:"
+ (getenv "PYTHONPATH")))
+ (invoke "pytest" "-vv" "-m" "not network"
+ ;; These tests require Docker.
+ "-k" "not test_terminate_job \
+and not test_invoke_function_from_sqs_exception"))))))
+ (native-inputs
+ `(("python-flask" ,python-flask)
+ ("python-flask-cors" ,python-flask-cors)
+ ("python-freezegun" ,python-freezegun)
+ ("python-parameterized" ,python-parameterized)
+ ("python-pytest" ,python-pytest)
+ ("python-sure" ,python-sure)))
+ (propagated-inputs
+ `(("python-aws-xray-sdk" ,python-aws-xray-sdk)
+ ("python-boto" ,python-boto)
+ ("python-boto3" ,python-boto3)
+ ("python-botocore" ,python-botocore)
+ ("python-cfn-lint" ,python-cfn-lint)
+ ("python-cryptography" ,python-cryptography)
+ ("python-dateutil" ,python-dateutil)
+ ("python-docker" ,python-docker)
+ ("python-idna" ,python-idna)
+ ("python-jinja2" ,python-jinja2)
+ ("python-jose" ,python-jose)
+ ("python-jsondiff" ,python-jsondiff)
+ ("python-mock" ,python-mock)
+ ("python-pytz" ,python-pytz)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-requests" ,python-requests)
+ ("python-responses" ,python-responses)
+ ("python-six" ,python-six)
+ ("python-sshpubkeys" ,python-sshpubkeys)
+ ("python-werkzeug" ,python-werkzeug)
+ ("python-xmltodict" ,python-xmltodict)))
+ (home-page "https://github.com/spulec/moto")
+ (synopsis "Mock out the boto library")
+ (description
+ "@code{moto} is a library designed to easily mock out the
+@code{boto} library.")
+ (license license:asl2.0)))
+
(define-public python-rsa
(package
(name "python-rsa")