Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-aioresponses for 
openSUSE:Factory checked in at 2022-01-15 20:05:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-aioresponses (Old)
 and      /work/SRC/openSUSE:Factory/.python-aioresponses.new.1892 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-aioresponses"

Sat Jan 15 20:05:25 2022 rev:11 rq:946669 version:0.7.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-aioresponses/python-aioresponses.changes  
2021-01-18 14:46:06.862046545 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-aioresponses.new.1892/python-aioresponses.changes
        2022-01-15 20:05:46.753786105 +0100
@@ -1,0 +2,18 @@
+Sat Jan 15 16:37:25 UTC 2022 - Dirk M??ller <dmuel...@suse.com>
+
+- update to 0.7.3:
+  * Support binary bodies in responses
+  * fix flake8
+  * move RequestInfo to compat
+  * drop \`.travis.yml\`
+  * basic CI using github actions
+  * (feat) add unit tests
+  * (feat) allow for callbacks to be called before raising of exception
+  * add \`py.typed\` (PEP 561)
+  * Fix setuptools warnings by replacing dashes in keys with underscores
+  * fix version parsing
+  * version 0.7.2
+  * Update aioresponses/core.py
+  * adding catch to ignore ValueError when deepcopy is unsuccessful
+
+-------------------------------------------------------------------

Old:
----
  aioresponses-0.7.1.tar.gz

New:
----
  aioresponses-0.7.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-aioresponses.spec ++++++
--- /var/tmp/diff_new_pack.hEEISq/_old  2022-01-15 20:05:47.217786466 +0100
+++ /var/tmp/diff_new_pack.hEEISq/_new  2022-01-15 20:05:47.221786469 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-aioresponses
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %{?!python_module:%define python_module() python3-%{**}}
 %define skip_python2 1
 Name:           python-aioresponses
-Version:        0.7.1
+Version:        0.7.3
 Release:        0
 Summary:        Python module for mocking out requests made by ClientSession 
from aiohttp
 License:        MIT

++++++ aioresponses-0.7.1.tar.gz -> aioresponses-0.7.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aioresponses-0.7.1/.github/workflows/ci.yml 
new/aioresponses-0.7.3/.github/workflows/ci.yml
--- old/aioresponses-0.7.1/.github/workflows/ci.yml     1970-01-01 
01:00:00.000000000 +0100
+++ new/aioresponses-0.7.3/.github/workflows/ci.yml     2021-10-28 
22:55:04.000000000 +0200
@@ -0,0 +1,83 @@
+name: CI
+
+on:
+  push:
+    branches: [ master ]
+  pull_request:
+    branches: [ master ]
+
+concurrency:
+  group: ci-${{ github.ref }}-${{ github.actor }}
+  cancel-in-progress: true
+
+jobs:
+  build:
+    env:
+      PYTEST_ADDOPTS: "--cov --cov-report=xml"
+    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
+          - python-version: 3.6
+            aiohttp-version: aiohttp30
+          - python-version: 3.6
+            aiohttp-version: aiohttp31
+          - python-version: 3.6
+            aiohttp-version: aiohttp32
+          - python-version: 3.6
+            aiohttp-version: aiohttp33
+          - python-version: 3.6
+            aiohttp-version: aiohttp34
+          - python-version: 3.6
+            aiohttp-version: aiohttp35
+          - python-version: 3.6
+            aiohttp-version: aiohttp36
+          - python-version: 3.6
+            aiohttp-version: aiohttp37
+
+          - python-version: 3.7
+            aiohttp-version: aiohttp33
+          - python-version: 3.7
+            aiohttp-version: aiohttp34
+          - python-version: 3.7
+            aiohttp-version: aiohttp35
+          - python-version: 3.7
+            aiohttp-version: aiohttp36
+          - python-version: 3.7
+            aiohttp-version: aiohttp37
+
+          - python-version: 3.8
+            aiohttp-version: aiohttp33
+          - python-version: 3.8
+            aiohttp-version: aiohttp34
+          - python-version: 3.8
+            aiohttp-version: aiohttp35
+          - python-version: 3.8
+            aiohttp-version: aiohttp36
+          - python-version: 3.8
+            aiohttp-version: aiohttp37
+
+          - python-version: 3.9
+            aiohttp-version: aiohttp35
+          - python-version: 3.9
+            aiohttp-version: aiohttp36
+          - python-version: 3.9
+            aiohttp-version: aiohttp37
+
+    steps:
+    - uses: actions/checkout@v2
+    - name: Set up Python ${{ matrix.python-version }}
+      uses: actions/setup-python@v2
+      with:
+        python-version: ${{ matrix.python-version }}
+    - name: Install Dependencies
+      run: |
+        python -m pip install --upgrade pip
+        pip install tox
+    - name: Run Tests
+      run: |
+        tox -e py${{ matrix.python-version }}-${{ matrix.aiohttp-version }}
+    - uses: codecov/codecov-action@v2
+      with:
+        file: coverage.xml
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aioresponses-0.7.1/.github/workflows/flake8.yml 
new/aioresponses-0.7.3/.github/workflows/flake8.yml
--- old/aioresponses-0.7.1/.github/workflows/flake8.yml 1970-01-01 
01:00:00.000000000 +0100
+++ new/aioresponses-0.7.3/.github/workflows/flake8.yml 2021-10-28 
22:55:04.000000000 +0200
@@ -0,0 +1,23 @@
+name: flake8
+
+on:
+  push:
+    branches: [ master ]
+  pull_request:
+    branches: [ master ]
+
+jobs:
+  flake8:
+    runs-on: ubuntu-latest
+    name: run flake8
+    steps:
+      - name: Check out source repository
+        uses: actions/checkout@v2
+      - name: Set up Python environment
+        uses: actions/setup-python@v2
+        with:
+          python-version: "3.9"
+      - name: flake8 Lint
+        uses: reviewdog/action-flake8@v3
+        with:
+          github_token: ${{ secrets.GITHUB_TOKEN }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aioresponses-0.7.1/.travis.yml 
new/aioresponses-0.7.3/.travis.yml
--- old/aioresponses-0.7.1/.travis.yml  2020-10-29 14:49:21.000000000 +0100
+++ new/aioresponses-0.7.3/.travis.yml  1970-01-01 01:00:00.000000000 +0100
@@ -1,77 +0,0 @@
-# Config file for automatic testing at travis-ci.org
-# This file will be regenerated if you run travis_pypi_setup.py
-
-language: python
-
-matrix:
-  include:
-  - python: 3.6
-    env: TOXENV=py36-aiohttp30
-  - python: 3.6
-    env: TOXENV=py36-aiohttp31
-  - python: 3.6
-    env: TOXENV=py36-aiohttp32
-  - python: 3.6
-    env: TOXENV=py36-aiohttp33
-  - python: 3.6
-    env: TOXENV=py36-aiohttp34
-  - python: 3.6
-    env: TOXENV=py36-aiohttp35
-  - python: 3.6
-    env: TOXENV=py36-aiohttp36
-  - python: 3.6
-    env: TOXENV=py36-aiohttp37
-
-  - python: 3.7
-    dist: xenial
-    env: TOXENV=py37-aiohttp33
-  - python: 3.7
-    dist: xenial
-    env: TOXENV=py37-aiohttp34
-  - python: 3.7
-    dist: xenial
-    env: TOXENV=py37-aiohttp35
-  - python: 3.7
-    dist: xenial
-    env: TOXENV=py37-aiohttp36
-  - python: 3.7
-    dist: xenial
-    env: TOXENV=py37-aiohttp37
-
-  - python: 3.8
-    dist: xenial
-    env: TOXENV=py38-aiohttp33
-  - python: 3.8
-    dist: xenial
-    env: TOXENV=py38-aiohttp34
-  - python: 3.8
-    dist: xenial
-    env: TOXENV=py38-aiohttp35
-  - python: 3.8
-    dist: xenial
-    env: TOXENV=py38-aiohttp36
-  - python: 3.8
-    dist: xenial
-    env: TOXENV=py38-aiohttp37
-
-  - python: 3.9
-    dist: focal
-    env: TOXENV=py39-aiohttp37
-#  - python: 3.8
-#    dist: xenial
-#    env: TOXENV=py38-aiohttp-master
-
-  - python: 3.8
-    dist: xenial
-    env: TOXENV=flake8
-
-env:
-  global:
-    - PYTEST_ADDOPTS="--cov --cov-report=xml"
-
-install: pip install -U tox
-
-after_success:
-  - bash <(curl -s https://codecov.io/bash) -Z -X coveragepy -X gcov -X xcode 
-f coverage.xml
-
-script: tox -e ${TOXENV}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aioresponses-0.7.1/AUTHORS 
new/aioresponses-0.7.3/AUTHORS
--- old/aioresponses-0.7.1/AUTHORS      2020-10-29 14:51:38.000000000 +0100
+++ new/aioresponses-0.7.3/AUTHORS      2022-01-10 23:39:35.000000000 +0100
@@ -10,19 +10,25 @@
 Bryce Drennan <git...@accounts.brycedrennan.com>
 Colin-b <coli...@users.noreply.github.com>
 Daniel Hahler <g...@thequod.de>
+Daniel Tan <danieltanjiaw...@gmail.com>
 David Buxton <da...@gasmark6.com>
+Gordon Rogers <gordonrog...@skyscanner.net>
 Hadrien David <hadrien.da...@dialogue.co>
+Hadrien David <hadr...@ectobal.com>
 Ila?? Deutel <ilai-deu...@users.noreply.github.com>
 Joongi Kim <m...@daybreaker.info>
 Jordi Soucheiron <jo...@soucheiron.cat>
 Jordi Soucheiron <jsouchei...@users.noreply.github.com>
 Joshua Coats <jo...@fearchar.net>
 Lee Treveil <leetrev...@gmail.com>
+Louis Sautier <sautier.lo...@gmail.com>
 Lukasz Jernas <lukasz.jer...@allegrogroup.com>
 Marat Sharafutdinov <deca...@gmail.com>
+Marcin Sulikowski <marcin.k.sulikow...@gmail.com>
 Marek Kowalski <kowalski0...@gmail.com>
 Pavel Savchenko <asfalt...@gmail.com>
 Pawel Nuckowski <p.nuckow...@gmail.com>
+Petr Belskiy <petr.bels...@gmail.com>
 R??my HUBSCHER <rhubsc...@mozilla.com>
 TyVik <tyv...@gmail.com>
 Ulrik Johansson <ulrik.johans...@blocket.se>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aioresponses-0.7.1/ChangeLog 
new/aioresponses-0.7.3/ChangeLog
--- old/aioresponses-0.7.1/ChangeLog    2020-10-29 14:51:38.000000000 +0100
+++ new/aioresponses-0.7.3/ChangeLog    2022-01-10 23:39:35.000000000 +0100
@@ -1,6 +1,32 @@
 CHANGES
 =======
 
+0.7.3
+-----
+
+* Support binary bodies in responses
+* fix flake8
+* move RequestInfo to compat
+* drop \`.travis.yml\`
+* basic CI using github actions add codecov and add flake8
+* basic CI using github actions
+* basic CI using github actions
+* basic CI using github actions
+* basic CI using github actions
+* basic CI using github actions
+* (feat) add unit tests
+* (feat) allow for callbacks to be called before raising of exception
+* add \`py.typed\` (PEP 561)
+* Fix setuptools warnings by replacing dashes in keys with underscores
+
+0.7.2
+-----
+
+* fix version parsing
+* version 0.7.2
+* Update aioresponses/core.py
+* adding catch to ignore ValueError when deepcopy is unsuccessful
+
 0.7.1
 -----
 
@@ -25,6 +51,7 @@
 * fixing   - BaseException handling(in Pyhton 3.8 asyncio.CancelError, 
asyncio.TimeoutError are subclass of BaseException) extend exception attribute 
for RequestMatch   - exception can be as class or as object of 
exception(Exception or Exception())
 * Load response cookies from headers
 * changed variable names
+* fix: set request\_info on response rather than mock
 
 0.6.3
 -----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aioresponses-0.7.1/PKG-INFO 
new/aioresponses-0.7.3/PKG-INFO
--- old/aioresponses-0.7.1/PKG-INFO     2020-10-29 14:51:59.000000000 +0100
+++ new/aioresponses-0.7.3/PKG-INFO     2022-01-10 23:39:36.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: aioresponses
-Version: 0.7.1
+Version: 0.7.3
 Summary: Mock out requests made by ClientSession from aiohttp package
 Home-page: https://github.com/pnuckowski/aioresponses
 Author: Pawel Nuckowski
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aioresponses-0.7.1/aioresponses/__init__.py 
new/aioresponses-0.7.3/aioresponses/__init__.py
--- old/aioresponses-0.7.1/aioresponses/__init__.py     2020-10-29 
14:49:21.000000000 +0100
+++ new/aioresponses-0.7.3/aioresponses/__init__.py     2021-03-08 
09:35:50.000000000 +0100
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 from .core import CallbackResult, aioresponses
 
-__version__ = '0.7.1'
+__version__ = '0.7.2'
 
 __all__ = [
     'CallbackResult',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aioresponses-0.7.1/aioresponses/compat.py 
new/aioresponses-0.7.3/aioresponses/compat.py
--- old/aioresponses-0.7.1/aioresponses/compat.py       2020-10-29 
14:49:21.000000000 +0100
+++ new/aioresponses-0.7.3/aioresponses/compat.py       2022-01-10 
23:36:41.000000000 +0100
@@ -1,12 +1,12 @@
 # -*- coding: utf-8 -*-
 import asyncio  # noqa: F401
 import sys
-from distutils.version import StrictVersion
 from typing import Dict, Optional, Tuple, Union  # noqa
 from urllib.parse import parse_qsl, urlencode
 
 from aiohttp import __version__ as aiohttp_version, StreamReader
 from multidict import MultiDict
+from pkg_resources import parse_version
 from yarl import URL
 
 if sys.version_info < (3, 7):
@@ -14,9 +14,9 @@
 else:
     from re import Pattern
 
-AIOHTTP_VERSION = StrictVersion(aiohttp_version)
+AIOHTTP_VERSION = parse_version(aiohttp_version)
 
-if AIOHTTP_VERSION >= StrictVersion('3.0.0'):
+if AIOHTTP_VERSION >= parse_version('3.0.0'):
     from aiohttp.client_proto import ResponseHandler
 
 
@@ -47,9 +47,24 @@
     return url.with_query(urlencode(sorted(parse_qsl(url.query_string))))
 
 
+try:
+    from aiohttp import RequestInfo
+except ImportError:
+    class RequestInfo(object):
+        __slots__ = ('url', 'method', 'headers', 'real_url')
+
+        def __init__(
+            self, url: URL, method: str, headers: Dict, real_url: str
+        ):
+            self.url = url
+            self.method = method
+            self.headers = headers
+            self.real_url = real_url
+
 __all__ = [
     'URL',
     'Pattern',
+    'RequestInfo',
     'AIOHTTP_VERSION',
     'merge_params',
     'stream_reader_factory',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aioresponses-0.7.1/aioresponses/core.py 
new/aioresponses-0.7.3/aioresponses/core.py
--- old/aioresponses-0.7.1/aioresponses/core.py 2020-08-23 00:00:53.000000000 
+0200
+++ new/aioresponses-0.7.3/aioresponses/core.py 2022-01-10 23:36:41.000000000 
+0100
@@ -4,7 +4,6 @@
 import inspect
 import json
 from collections import namedtuple
-from distutils.version import StrictVersion
 from functools import wraps
 from typing import Callable, Dict, Tuple, Union, Optional, List  # noqa
 from unittest.mock import Mock, patch
@@ -19,6 +18,7 @@
 )
 from aiohttp.helpers import TimerNoop
 from multidict import CIMultiDict, CIMultiDictProxy
+from pkg_resources import parse_version
 
 from .compat import (
     AIOHTTP_VERSION,
@@ -27,6 +27,7 @@
     stream_reader_factory,
     merge_params,
     normalize_url,
+    RequestInfo,
 )
 
 
@@ -34,7 +35,7 @@
 
     def __init__(self, method: str = hdrs.METH_GET,
                  status: int = 200,
-                 body: str = '',
+                 body: Union[str, bytes] = '',
                  content_type: str = 'application/json',
                  payload: Dict = None,
                  headers: Dict = None,
@@ -56,7 +57,7 @@
     def __init__(self, url: Union[URL, str, Pattern],
                  method: str = hdrs.METH_GET,
                  status: int = 200,
-                 body: str = '',
+                 body: Union[str, bytes] = '',
                  payload: Dict = None,
                  exception: 'Exception' = None,
                  headers: Dict = None,
@@ -117,7 +118,7 @@
                         method: str = hdrs.METH_GET,
                         request_headers: Dict = None,
                         status: int = 200,
-                        body: str = '',
+                        body: Union[str, bytes] = '',
                         content_type: str = 'application/json',
                         payload: Dict = None,
                         headers: Dict = None,
@@ -132,11 +133,11 @@
         if request_headers is None:
             request_headers = {}
         kwargs = {}
-        if AIOHTTP_VERSION >= StrictVersion('3.1.0'):
+        if AIOHTTP_VERSION >= parse_version('3.1.0'):
             loop = Mock()
             loop.get_debug = Mock()
             loop.get_debug.return_value = True
-            kwargs['request_info'] = Mock(
+            kwargs['request_info'] = RequestInfo(
                 url=url,
                 method=method,
                 headers=CIMultiDictProxy(CIMultiDict(**request_headers)),
@@ -144,7 +145,7 @@
             kwargs['writer'] = Mock()
             kwargs['continue100'] = None
             kwargs['timer'] = TimerNoop()
-            if AIOHTTP_VERSION < StrictVersion('3.3.0'):
+            if AIOHTTP_VERSION < parse_version('3.3.0'):
                 kwargs['auto_decompress'] = True
             kwargs['traces'] = []
             kwargs['loop'] = loop
@@ -161,7 +162,7 @@
         for hdr in _headers.getall(hdrs.SET_COOKIE, ()):
             resp.cookies.load(hdr)
 
-        if AIOHTTP_VERSION >= StrictVersion('3.3.0'):
+        if AIOHTTP_VERSION >= parse_version('3.3.0'):
             # Reified attributes
             resp._headers = _headers
             resp._raw_headers = raw_headers
@@ -178,9 +179,6 @@
     async def build_response(
         self, url: URL, **kwargs
     ) -> 'Union[ClientResponse, Exception]':
-        if self.exception is not None:
-            return self.exception
-
         if callable(self.callback):
             if asyncio.iscoroutinefunction(self.callback):
                 result = await self.callback(url, **kwargs)
@@ -188,6 +186,10 @@
                 result = self.callback(url, **kwargs)
         else:
             result = None
+
+        if self.exception is not None:
+            return self.exception
+
         result = self if result is None else result
         resp = self._build_response(
             url=url,
@@ -288,7 +290,7 @@
 
     def add(self, url: 'Union[URL, str, Pattern]', method: str = hdrs.METH_GET,
             status: int = 200,
-            body: str = '',
+            body: Union[str, bytes] = '',
             exception: 'Exception' = None,
             content_type: str = 'application/json',
             payload: Dict = None,
@@ -382,7 +384,7 @@
         self.requests.setdefault(key, [])
         try:
             kwargs_copy = copy.deepcopy(kwargs)
-        except TypeError:
+        except (TypeError, ValueError):
             # Handle the fact that some values cannot be deep copied
             kwargs_copy = kwargs
         self.requests[key].append(RequestCall(args, kwargs_copy))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aioresponses-0.7.1/aioresponses.egg-info/PKG-INFO 
new/aioresponses-0.7.3/aioresponses.egg-info/PKG-INFO
--- old/aioresponses-0.7.1/aioresponses.egg-info/PKG-INFO       2020-10-29 
14:51:38.000000000 +0100
+++ new/aioresponses-0.7.3/aioresponses.egg-info/PKG-INFO       2022-01-10 
23:39:35.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: aioresponses
-Version: 0.7.1
+Version: 0.7.3
 Summary: Mock out requests made by ClientSession from aiohttp package
 Home-page: https://github.com/pnuckowski/aioresponses
 Author: Pawel Nuckowski
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aioresponses-0.7.1/aioresponses.egg-info/SOURCES.txt 
new/aioresponses-0.7.3/aioresponses.egg-info/SOURCES.txt
--- old/aioresponses-0.7.1/aioresponses.egg-info/SOURCES.txt    2020-10-29 
14:51:59.000000000 +0100
+++ new/aioresponses-0.7.3/aioresponses.egg-info/SOURCES.txt    2022-01-10 
23:39:36.000000000 +0100
@@ -1,7 +1,6 @@
 .coveragerc
 .landscape.yml
 .pyup.yml
-.travis.yml
 AUTHORS
 AUTHORS.rst
 CONTRIBUTING.rst
@@ -17,14 +16,16 @@
 setup.py
 tox.ini
 unittest.cfg
+.github/workflows/ci.yml
+.github/workflows/flake8.yml
 aioresponses/__init__.py
 aioresponses/compat.py
 aioresponses/core.py
+aioresponses/py.typed
 aioresponses.egg-info/PKG-INFO
 aioresponses.egg-info/SOURCES.txt
 aioresponses.egg-info/dependency_links.txt
 aioresponses.egg-info/not-zip-safe
-aioresponses.egg-info/pbr.json
 aioresponses.egg-info/requires.txt
 aioresponses.egg-info/top_level.txt
 docs/Makefile
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aioresponses-0.7.1/aioresponses.egg-info/pbr.json 
new/aioresponses-0.7.3/aioresponses.egg-info/pbr.json
--- old/aioresponses-0.7.1/aioresponses.egg-info/pbr.json       2020-10-29 
14:51:38.000000000 +0100
+++ new/aioresponses-0.7.3/aioresponses.egg-info/pbr.json       1970-01-01 
01:00:00.000000000 +0100
@@ -1 +0,0 @@
-{"git_version": "d09592f", "is_release": false}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aioresponses-0.7.1/setup.cfg 
new/aioresponses-0.7.3/setup.cfg
--- old/aioresponses-0.7.1/setup.cfg    2020-10-29 14:51:59.000000000 +0100
+++ new/aioresponses-0.7.3/setup.cfg    2022-01-10 23:39:36.000000000 +0100
@@ -1,10 +1,10 @@
 [metadata]
 name = aioresponses
 author = Pawel Nuckowski
-author-email = p.nuckow...@gmail.com
+author_email = p.nuckow...@gmail.com
 summary = Mock out requests made by ClientSession from aiohttp package
-description-file = README.rst
-home-page = https://github.com/pnuckowski/aioresponses
+description_file = README.rst
+home_page = https://github.com/pnuckowski/aioresponses
 classifier = 
        Development Status :: 4 - Beta
        Intended Audience :: Developers
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aioresponses-0.7.1/tests/test_aioresponses.py 
new/aioresponses-0.7.3/tests/test_aioresponses.py
--- old/aioresponses-0.7.1/tests/test_aioresponses.py   2020-10-29 
14:49:21.000000000 +0100
+++ new/aioresponses-0.7.3/tests/test_aioresponses.py   2022-01-10 
23:36:41.000000000 +0100
@@ -11,6 +11,7 @@
 from aiohttp.client import ClientSession
 from aiohttp.client_reqrep import ClientResponse
 from ddt import ddt, data
+from pkg_resources import parse_version
 
 try:
     from aiohttp.errors import (
@@ -117,7 +118,7 @@
         self.assertEqual(cm.exception.message, http.RESPONSES[400][0])
 
     @aioresponses()
-    @skipIf(condition=AIOHTTP_VERSION < '3.4.0',
+    @skipIf(condition=AIOHTTP_VERSION < parse_version('3.4.0'),
             reason='aiohttp<3.4.0 does not support raise_for_status '
                    'arguments for requests')
     async def test_request_raise_for_status(self, m):
@@ -165,6 +166,26 @@
         content = await resp.content.read(2)
         self.assertEqual(content, b'st')
 
+    @aioresponses()
+    async def test_binary_body(self, m):
+        body = b'Invalid utf-8: \x95\x00\x85'
+        m.get(self.url, body=body)
+        resp = await self.session.get(self.url)
+        content = await resp.read()
+        self.assertEqual(content, body)
+
+    @aioresponses()
+    async def test_binary_body_via_callback(self, m):
+        body = b'\x00\x01\x02\x80\x81\x82\x83\x84\x85'
+
+        def callback(url, **kwargs):
+            return CallbackResult(body=body)
+
+        m.get(self.url, callback=callback)
+        resp = await self.session.get(self.url)
+        content = await resp.read()
+        self.assertEqual(content, body)
+
     async def test_mocking_as_context_manager(self):
         with aioresponses() as aiomock:
             aiomock.add(self.url, payload={'foo': 'bar'})
@@ -250,6 +271,15 @@
             with self.assertRaises(HttpProcessingError):
                 await self.session.get(url)
 
+            callback_called = asyncio.Event()
+            url = 'http://example.com/HttpProcessingError'
+            aiomock.get(url, exception=HttpProcessingError(message='foo'),
+                        callback=lambda *_, **__: callback_called.set())
+            with self.assertRaises(HttpProcessingError):
+                await self.session.get(url)
+            
+            await callback_called.wait()
+
     async def test_multiple_requests(self):
         """Ensure that requests are saved the way they would have been sent."""
         with aioresponses() as m:
@@ -524,7 +554,7 @@
         self.assertEqual(cm.exception.message, http.RESPONSES[400][0])
 
     @aioresponses()
-    @skipIf(condition=AIOHTTP_VERSION < '3.4.0',
+    @skipIf(condition=AIOHTTP_VERSION < parse_version('3.4.0'),
             reason='aiohttp<3.4.0 does not support raise_for_status '
                    'arguments for requests')
     async def test_do_not_raise_for_status(self, m):
@@ -602,7 +632,7 @@
         self.assertEqual(str(response.url), self.url)
 
     @aioresponses()
-    @skipIf(condition=AIOHTTP_VERSION < '3.1.0',
+    @skipIf(condition=AIOHTTP_VERSION < parse_version('3.1.0'),
             reason='aiohttp<3.1.0 does not add request info on response')
     async def test_request_info(self, rsps):
         rsps.get(self.url, status=200)
@@ -614,7 +644,7 @@
         assert request_info.headers == {}
 
     @aioresponses()
-    @skipIf(condition=AIOHTTP_VERSION < '3.1.0',
+    @skipIf(condition=AIOHTTP_VERSION < parse_version('3.1.0'),
             reason='aiohttp<3.1.0 does not add request info on response')
     async def test_request_info_with_original_request_headers(self, rsps):
         headers = {"Authorization": "Bearer access-token"}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aioresponses-0.7.1/tox.ini 
new/aioresponses-0.7.3/tox.ini
--- old/aioresponses-0.7.1/tox.ini      2020-10-29 14:49:21.000000000 +0100
+++ new/aioresponses-0.7.3/tox.ini      2021-10-28 22:55:04.000000000 +0200
@@ -2,10 +2,10 @@
 envlist =
     flake8,
     coverage,
-    py36-aiohttp{30,31,32,33,34,35,36,37}
-    py37-aiohttp{33,34,35,36,37}
-    py38-aiohttp{33,34,35,36,37}
-    py39-aiohttp{37}
+    py3.6-aiohttp{30,31,32,33,34,35,36,37}
+    py3.7-aiohttp{33,34,35,36,37}
+    py3.8-aiohttp{33,34,35,36,37}
+    py3.9-aiohttp{37}
 skipsdist = True
 
 [testenv:flake8]
@@ -35,7 +35,6 @@
     aiohttp35: aiohttp>=3.5,<3.6
     aiohttp36: aiohttp>=3.6,<3.7
     aiohttp37: aiohttp>=3.7,<3.8
-    aiohttp-master: https://github.com/aio-libs/aiohttp/archive/master.tar.gz
     -r{toxinidir}/requirements-dev.txt
 
 commands = python -m pytest {posargs}

Reply via email to