From: Patrick McLean Date: Wed, 29 Apr 2020 23:10:40 +0000 (-0700) Subject: dev-python/moto-1.3.14: Version bump, add py38 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=cefee5c029474bc6ab3161b10992c8821a8d4d8c;p=gentoo.git dev-python/moto-1.3.14: Version bump, add py38 Copyright: Sony Interactive Entertainment Inc. Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Patrick McLean --- diff --git a/dev-python/moto/Manifest b/dev-python/moto/Manifest index f637ff3b1899..f46269349819 100644 --- a/dev-python/moto/Manifest +++ b/dev-python/moto/Manifest @@ -1 +1,2 @@ +DIST moto-1.3.14.tar.gz 1829165 BLAKE2B 2ec30c4cc571492a9d2c08f66a39ad04cfc0baa7864db8a5be4ea9af24ecb59bad3e85c44fa8a7babc16bf66188cb6bef89484f1f302a11e6eec1f8dbf516492 SHA512 1fe7e9d49dadada82f24d6bef1c21419c414e027c21ed1099bd1eab7c269ac5638ed44a29d1557b37562a44b22a7c7251fc1ca8ba88cde6b82d39dbc620aa6a6 DIST moto-1.3.8.tar.gz 1571716 BLAKE2B 8e79808d8488bcf8c15e8b5a55e93392ceb5f642f1f52c0af441cecb7adfe23a718f6d283e473e5dab82ddd21bcbed36ecb52b444cbd933405d13c8818e4f74d SHA512 901556249a2a28885b7f77e9f2c209b06391efcea66b78ce3c16edec14bcd03b251c37ef5d800d8f7a35180d59ce7568a68bcebf18e25b092eb5de801db6c587 diff --git a/dev-python/moto/files/moto-1.3.14-newer-botocore.patch b/dev-python/moto/files/moto-1.3.14-newer-botocore.patch new file mode 100644 index 000000000000..a12e38483362 --- /dev/null +++ b/dev-python/moto/files/moto-1.3.14-newer-botocore.patch @@ -0,0 +1,53 @@ +commit ef7fce5a4fcd951a6c2bd1b9c6d21e6cf6a711e2 +Author: gruebel +Date: Thu Nov 21 22:35:20 2019 +0100 + + Fixed failing tests, due to a new required parameter StreamEnabled + +diff --git a/tests/test_dynamodbstreams/test_dynamodbstreams.py b/tests/test_dynamodbstreams/test_dynamodbstreams.py +index 01cf915a..a98f97bf 100644 +--- a/tests/test_dynamodbstreams/test_dynamodbstreams.py ++++ b/tests/test_dynamodbstreams/test_dynamodbstreams.py +@@ -213,7 +213,7 @@ class TestEdges: + + resp = conn.update_table( + TableName="test-streams", +- StreamSpecification={"StreamViewType": "KEYS_ONLY"}, ++ StreamSpecification={"StreamEnabled": True, "StreamViewType": "KEYS_ONLY"}, + ) + assert "StreamSpecification" in resp["TableDescription"] + assert resp["TableDescription"]["StreamSpecification"] == { +@@ -226,7 +226,10 @@ class TestEdges: + with assert_raises(conn.exceptions.ResourceInUseException): + resp = conn.update_table( + TableName="test-streams", +- StreamSpecification={"StreamViewType": "OLD_IMAGES"}, ++ StreamSpecification={ ++ "StreamEnabled": True, ++ "StreamViewType": "OLD_IMAGES", ++ }, + ) + + def test_stream_with_range_key(self): +@@ -243,7 +246,7 @@ class TestEdges: + {"AttributeName": "color", "AttributeType": "S"}, + ], + ProvisionedThroughput={"ReadCapacityUnits": 1, "WriteCapacityUnits": 1}, +- StreamSpecification={"StreamViewType": "NEW_IMAGES"}, ++ StreamSpecification={"StreamEnabled": True, "StreamViewType": "NEW_IMAGES"}, + ) + stream_arn = resp["TableDescription"]["LatestStreamArn"] + +diff --git a/moto/core/responses.py b/moto/core/responses.py +index bf4af902..c708edb8 100644 +--- a/moto/core/responses.py ++++ b/moto/core/responses.py +@@ -307,7 +307,7 @@ class BaseResponse(_TemplateEnvironmentMixin, ActionAuthenticatorMixin): + def _convert(elem, is_last): + if not re.match("^{.*}$", elem): + return elem +- name = elem.replace("{", "").replace("}", "") ++ name = elem.replace("{", "").replace("}", "").replace("+", "") + if is_last: + return "(?P<%s>[^/]*)" % name + return "(?P<%s>.*)" % name diff --git a/dev-python/moto/files/moto-1.3.14-tests.patch b/dev-python/moto/files/moto-1.3.14-tests.patch new file mode 100644 index 000000000000..4fdbf801eec3 --- /dev/null +++ b/dev-python/moto/files/moto-1.3.14-tests.patch @@ -0,0 +1,82 @@ +diff --git a/tests/test_awslambda/test_lambda.py b/tests/test_awslambda/test_lambda.py +index 306deeea..7b8937ab 100644 +--- a/tests/test_awslambda/test_lambda.py ++++ b/tests/test_awslambda/test_lambda.py +@@ -22,6 +22,7 @@ from moto import ( + settings, + mock_sqs, + ) ++from unittest import skip + from nose.tools import assert_raises + from botocore.exceptions import ClientError + +@@ -1024,6 +1025,7 @@ def test_create_event_source_mapping(): + assert response["State"] == "Enabled" + + ++@skip("fails in sandbox") + @mock_logs + @mock_lambda + @mock_sqs +@@ -1075,6 +1077,7 @@ def test_invoke_function_from_sqs(): + assert False, "Test Failed" + + ++@skip("fails in sandbox") + @mock_logs + @mock_lambda + @mock_dynamodb2 +@@ -1135,6 +1138,7 @@ def test_invoke_function_from_dynamodb(): + assert False, "Test Failed" + + ++@skip("fails in sandbox") + @mock_logs + @mock_lambda + @mock_sqs +diff --git a/tests/test_cloudformation/test_validate.py b/tests/test_cloudformation/test_validate.py +index 4dd4d7e0..3d1608e7 100644 +--- a/tests/test_cloudformation/test_validate.py ++++ b/tests/test_cloudformation/test_validate.py +@@ -2,6 +2,7 @@ from collections import OrderedDict + import json + import yaml + import os ++from unittest import skip + import boto3 + from nose.tools import raises + import botocore +@@ -46,6 +47,7 @@ dummy_template_json = json.dumps(json_template) + dummy_bad_template_json = json.dumps(json_bad_template) + + ++@skip("needs network access") + @mock_cloudformation + def test_boto3_json_validate_successful(): + cf_conn = boto3.client("cloudformation", region_name="us-east-1") +@@ -87,6 +89,7 @@ yaml_bad_template = """ + """ + + ++@skip("needs network access") + @mock_cloudformation + def test_boto3_yaml_validate_successful(): + cf_conn = boto3.client("cloudformation", region_name="us-east-1") +diff --git a/tests/test_core/test_request_mocking.py b/tests/test_core/test_request_mocking.py +index 2c44d52c..38c3a08d 100644 +--- a/tests/test_core/test_request_mocking.py ++++ b/tests/test_core/test_request_mocking.py +@@ -1,10 +1,13 @@ + import requests + import sure # noqa + ++from unittest import skip ++ + import boto3 + from moto import mock_sqs, settings + + ++@skip("Needs network access") + @mock_sqs + def test_passthrough_requests(): + conn = boto3.client("sqs", region_name="us-west-1") diff --git a/dev-python/moto/moto-1.3.14.ebuild b/dev-python/moto/moto-1.3.14.ebuild new file mode 100644 index 000000000000..3e3d07f6fb83 --- /dev/null +++ b/dev-python/moto/moto-1.3.14.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python3_{6,7,8} ) +DISTUTILS_USE_SETUPTOOLS=rdepend +inherit distutils-r1 + +DESCRIPTION="Mock library for boto" +HOMEPAGE="https://github.com/spulec/moto" +SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" + +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/aws-xray-sdk-python-0.93[${PYTHON_USEDEP}] + $(python_gen_cond_dep 'dev-python/backports-tempfile[${PYTHON_USEDEP}]' python3_{6,7}) + dev-python/cfn-python-lint[${PYTHON_USEDEP}] + >=dev-python/cryptography-2.3.0[${PYTHON_USEDEP}] + dev-python/cookies[${PYTHON_USEDEP}] + dev-python/dicttoxml[${PYTHON_USEDEP}] + >=dev-python/docker-py-2.5.1[${PYTHON_USEDEP}] + >=dev-python/idna-2.5[${PYTHON_USEDEP}] + >=dev-python/jinja-2.10.1[${PYTHON_USEDEP}] + >=dev-python/jsondiff-1.1.2[${PYTHON_USEDEP}] + >=dev-python/boto-2.36.0[${PYTHON_USEDEP}] + >=dev-python/boto3-1.9.201[${PYTHON_USEDEP}] + >=dev-python/botocore-1.12.201[${PYTHON_USEDEP}] + dev-python/flask[${PYTHON_USEDEP}] + dev-python/pretty-yaml[${PYTHON_USEDEP}] + >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + dev-python/python-jose[${PYTHON_USEDEP}] + >=dev-python/responses-0.9.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.5[${PYTHON_USEDEP}] + dev-python/xmltodict[${PYTHON_USEDEP}] + >=dev-python/six-1.9[${PYTHON_USEDEP}] + dev-python/werkzeug[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( ${RDEPEND} + dev-python/freezegun[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + dev-python/nose[${PYTHON_USEDEP}] + dev-python/responses[${PYTHON_USEDEP}] + >=dev-python/sure-1.4.11[${PYTHON_USEDEP}] + ) +" + +PATCHES=( + "${FILESDIR}/moto-1.3.14-newer-botocore.patch" + "${FILESDIR}/moto-1.3.14-tests.patch" +) + +distutils_enable_tests nose + +python_prepare_all() { + sed -e 's|==|>=|' \ + -e '/cfn-lint/ d' \ + -i setup.py moto.egg-info/requires.txt || die + + # Disable tests that fail with network-sandbox. + sed -e 's|^\(def \)\(test_context_manager()\)|\1_\2|' \ + -e 's|^\(def \)\(test_decorator_start_and_stop()\)|\1_\2|' \ + -i tests/test_core/test_decorator_calls.py || die + + # Disable tests that fail with userpriv. + sed -e 's|^\(def \)\(test_invoke_function_from_sns()\)|\1_\2|' \ + -e 's|^\(def \)\(test_invoke_requestresponse_function()\)|\1_\2|' \ + -i tests/test_awslambda/test_lambda.py || die + + # these tests crash nose + rm tests/test_xray/test_xray_client.py || die + + distutils-r1_python_prepare_all +}