Author: mattchung

  • Contributing to github3.py

    sigmavirus24 tweetI’ve always been scared of open sourcing, despite wanting to get involved for a long time? Why?

    For a long time, I’ve programmed in isolation. But, I did enjoy it. Unfortunately, this leaves little (to none) opportunity for feedback and critism. Afraid of rejection? Afraid of not appearing as smart as I think I am ?

    Serepdentiosuly, I came across this post on reddit post. His comment looked warm and welcoming. Let’s give it a shot again.

    I received an e-mail from @sigmavirus24. Looks like he could use some help moving existings tests under tests/* to tests/unit and tests/integration. This is a great way to get familiar with the code base. I’m game.

    @sigmavirus24 posted this tweet. I was so happy and I hugged Jessica, who was sitting next to me when I saw it pop up on my feed. I didn’t anticipate it and it is what makes me enjoy working on F/OSS.

    I Was on IRC and dropped a note to @sigmavirus24 about implementing this new API feature. I think I’ll tackle this in parallel with migrating tests over.

  • Mocking boto exception

    I was getting so frustrated.

    I knew how to raise the exception with side_effect=. But, how do you mock the exception?

    try:
        connection = connect_to_sqs
    except BotoServerError as m:
        if m.error_code == "AlreadyExistsException"
    

    To get it to work, I inherited the exception class – BotoServerError

    from boto.exceptions import BotoServerError
    
    class MockBotoServerError(BotoServerError):
        def __init__(self, error_code)
            self.error_code = error_code
    
    @mock.patch('cloudwhale.build.connect_to_sqs', side_effect=MockBotoServerError())
    

    Order of decorator

    Also, pay attention to the order of parameters. My assertions were failing left and right.