Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Patchett
@Patchett
but no yaml file or anything shows up anywhere
Владимир
@VovanOfficial_twitter
Hello! Can someone advise me how to work with multiple requests - for example i have a method that make two requests, does vcr supports writitng couple of requests in one file?
with vcr.use_cassette('fixtures/vcr_cassettes/synopsis.yaml'):
data = method_that_makes_couple_of_requests()
self.assertEqual(data,'expected_result')
With code write like this it's seems that vcr record only one request
Can some one advise a way to work with couple requests at once with vcr?
Владимир
@VovanOfficial_twitter
Solve this - vcr doesnt save multiple requests if they work assync - in this situation only one of them is saved
Thomas Grainger
@graingert
Yo
Kenneth Reitz
@kennethreitz
yo!
@kevin1024
Meet Mangukiya
@meetmangukiya
I am looking for a way to use a cassetted response to instantiate a github3 object in the setUp method of testCase and then use it
I tried
class Github(unittest.TestCase):
    @vcr.use_cassette('github.yaml')
    def setUp(self):
        self.gh = github3.GitHub(token=os.environ.get('GH_TOKEN', ''))

    @vcr.use_cassette('test_organization.yaml')
    def test_organizatiton(self):
        assert self.gh.organization('coala').name == 'name'
but it seems that self.gh turns out as a NoneType object
when called the test suite without the env var
Meet Mangukiya
@meetmangukiya
I think vcr doesn't hijeck requests session of github3 ?
Liam
@liamhession
Does anyone know if there is a practical limit to the size of cassettes?
I'm trying to determine if the extremely slow loading time on my call to vcr.use_cassette(path...) is due to the cassette file being 70 MB
Or maybe i have some other problem
Liam
@liamhession
@graingert do you have any idea about cassette size limits? Have not found anything in the docs
Thomas Grainger
@graingert
liamhession: probably about 4GiB
liamhession: depends on your filesystem thoug
liamhession: I'm going to point my finger at yaml
or pyaml
liamhession: and it's going to continue pointing in that vague direction until you can prove it's not them ;)
Liam
@liamhession
Yeah, would those be the slowest portion?
Thomas Grainger
@graingert
🤷
they've got to parse the damn thing
Liam
@liamhession
That is where the code seemed to be whenever I Ctrl-C'd the slow-loading attempts to use a cassette
Thomas Grainger
@graingert
liamhession: how did it blow up to that size?
Liam
@liamhession
Requests with large responses. This is for a scraper of restaurant menu information
Thomas Grainger
@graingert
liamhession: don't test at that level then
liamhession: pyvcr is a cruise missile for http tests
liamhession: you should create a function that parses the bit you want out of some web content
then test assert parses_the_bit_you_want_out_of_some_web_content(some_web_content) == the_bit_you_want
liamhession: it's always best to separate all of your IO code from the rest of your code
Liam
@liamhession
Thanks for the responses, @graingert. I'll have to tweak how i'm using vcr definitely
Meet Mangukiya
@meetmangukiya
even though a request is recorded, it says it isn't recorded and raises cannot overwrite error
Error:
vcr.errors.CannotOverwriteExistingCassetteException: No match for the request (<Request (GET) http://webservices.coala.io/list/bears>) was found. Can't overwrite existing cassette ('tests/cassettes/coatils_list_bears.yaml') in your current record mode ('once').
one can see it is the first interaction
what is the problem here :/
Tomasz Kontusz
@ktosiek
Hi! I'm the maintainer of a pytest plugin for VCR.py: https://github.com/ktosiek/pytest-vcr/ - I wanted to ask if it's common to operate on an active cassette directly?
is there anything interesting that can be done with an open cassette object except for closing it?
Tomasz Kontusz
@ktosiek
I have to go to sleep now, but if anyone has an opinion on that (or uses self.cassette with vcrpy-unittest for anything) please either ping me or comment on ktosiek/pytest-vcr#5
Reece Hart
@reece
Anyone have an example of using vcrpy with doctests and pytest?
Tomasz Kontusz
@ktosiek
@reece you can use https://pypi.python.org/pypi/pytest-vcr and getfixture('vcr_cassette')
see also https://docs.pytest.org/en/latest/doctest.html for more info on using doctests with pytest
(disclaimer: I've made that plugin)
Reece Hart
@reece
Thanks @ktosiek. Following up 1-1 with another question.
Ivan Malison
@IvanMalison
@ktosiek yes
but only if you want to do really shady stuff. It's actually available mostly for testing
I'm pretty sure that I added that a while back
Gavin Schneider
@gschneider-r7
Hi there - I just started using vcrpy and pytest-vcr on an inherited project that is py2/3 compatible using the future package, and I am wondering if there is a trick to getting this to work correctly on py2 in this case. The short story is that I am getting urlopen error [Errno 61] Connection refused exceptions in py2 while py3 correctly replays the cassette (I did generate the cassette in py3 if that matters). The project is using urllib, and future was added to support py2/3 compatibility. It seems like in py2 vcr isn't wrapping/patching correctly. Anyone have experience with that or suggestions on how to deal with that? I am basically using defaults for everything here. Here is an extraction of the code (not from the test itself) that throws the exception (trimmed for brevity and relevance):
from __future__ import (absolute_import, division, print_function, unicode_literals)
from builtins import object
from future import standard_library
standard_library.install_aliases()
import urllib.request

request = urllib.request.Request(uri, post_data, headers)
response = urllib.request.urlopen(request)
Gavin Schneider
@gschneider-r7
If it helps, you can see the travis-ci results here https://travis-ci.org/rapid7/nexpose-client-python/builds/292372011 but you'll probably need to look into the project code to see more useful details, and it's ... not very pretty :neutral_face: