예제 #1
0
    def test_responses(self):
        # We're going to mock the Apple's response and put 21007 status
        with patch.object(requests, 'post') as mock_post:
            iap_status_21007 = self.iap_response.copy()
            iap_status_21007['status'] = 21007
            mock_post.return_value.content = json.dumps(iap_status_21007)
            mock_post.return_value.status_code = 200
            set_verification_mode('production')
            request = Request('DummyReceipt')
            try:
                receipt = request.validate()
            except exceptions.InvalidReceipt as e:
                assert e.status == 21007
                assert e.description == e._descriptions[21007]

        # We're going to return an invalid http status code
        with patch.object(requests, 'post') as mock_post:
            mock_post.return_value.content = 'Not avaliable'
            mock_post.return_value.status_code = 500
            set_verification_mode('production')
            request = Request('DummyReceipt')
            try:
                receipt = request.validate()
            except exceptions.ItunesServerNotAvailable as e:
                assert e[0] == 500
                assert e[1] == 'Not avaliable'
예제 #2
0
    def test_responses(self):
        # We're going to mock the Apple's response and put 21007 status
        with patch.object(requests, 'post') as mock_post:
            iap_status_21007 = self.iap_response.copy()
            iap_status_21007['status'] = 21007
            mock_post.return_value.content = json.dumps(iap_status_21007)
            mock_post.return_value.status_code = 200
            set_verification_mode('production')
            request = Request('DummyReceipt')
            try:
                receipt = request.validate()
            except exceptions.InvalidReceipt as e:
                assert e.status == 21007
                assert e.description == e._descriptions[21007]

        # We're going to return an invalid http status code
        with patch.object(requests, 'post') as mock_post:
            mock_post.return_value.content = 'Not avaliable'
            mock_post.return_value.status_code = 500
            set_verification_mode('production')
            request = Request('DummyReceipt')
            try:
                receipt = request.validate()
            except exceptions.ItunesServerNotAvailable as e:
                assert e[0] == 500
                assert e[1] == 'Not avaliable'
예제 #3
0
 def test_shortcut(self):
     try:
         from testdata import sandbox_receipt
     except ImportError:
         print('No receipt data to test')
         return
     mode = itunesiap.get_verification_mode()
     itunesiap.set_verification_mode('sandbox')
     itunesiap.verify(sandbox_receipt)
     itunesiap.set_verification_mode(mode)
예제 #4
0
 def test_shortcut(self):
     try:
         from testdata import sandbox_receipt
     except ImportError:
         print('No receipt data to test')
         return
     mode = itunesiap.get_verification_mode()
     itunesiap.set_verification_mode('sandbox')
     itunesiap.verify(sandbox_receipt)
     itunesiap.set_verification_mode(mode)
예제 #5
0
 def test_request(self):
     set_verification_mode('production')
     request = Request(sandbox_receipt)
     try:
         receipt = request.validate()
         assert False
     except exceptions.InvalidReceipt as e:
         assert e.status == 21007
         assert e.description == e._descriptions[21007]
     set_verification_mode('review')
     request = Request(sandbox_receipt)
     receipt = request.validate()
     assert receipt
예제 #6
0
def test_request():
    try:
        from testdata import sandbox_receipt
    except ImportError:
        print 'No receipt data to test'
        return

    set_verification_mode('production')
    request = Request(sandbox_receipt)
    try:
        receipt = request.validate()
        assert False
    except exceptions.InvalidReceipt, e:
        assert e.status == 21007
        assert e.description == e._descriptions[21007]
예제 #7
0
    def test_request(self):
        try:
            from testdata import sandbox_receipt
        except ImportError:
            print('No receipt data to test')
            return

        set_verification_mode('production')
        request = Request(sandbox_receipt)
        try:
            receipt = request.validate()
            assert False
        except exceptions.InvalidReceipt as e:
            assert e.status == 21007
            assert e.description == e._descriptions[21007]
        set_verification_mode('review')
        request = Request(sandbox_receipt)
        receipt = request.validate()
        assert receipt
예제 #8
0
 def test_global_mode(self):
     set_verification_mode('production')
     assert Request('').use_production is True
     assert Request('').use_sandbox is False
     set_verification_mode('sandbox')
     assert Request('').use_production is False
     assert Request('').use_sandbox is True
     set_verification_mode('reject')
     assert Request('').use_production is False
     assert Request('').use_sandbox is False
     set_verification_mode('review')
     assert Request('').use_production is True
     assert Request('').use_sandbox is True
예제 #9
0
 def test_global_mode(self):
     set_verification_mode('production')
     assert Request('').use_production is True
     assert Request('').use_sandbox is False
     set_verification_mode('sandbox')
     assert Request('').use_production is False
     assert Request('').use_sandbox is True
     set_verification_mode('reject')
     assert Request('').use_production is False
     assert Request('').use_sandbox is False
     set_verification_mode('review')
     assert Request('').use_production is True
     assert Request('').use_sandbox is True
예제 #10
0
def test_mode():
    set_verification_mode('production')
    assert Request('').use_production == True
    assert Request('').use_sandbox == False
    set_verification_mode('sandbox')
    assert Request('').use_production == False
    assert Request('').use_sandbox == True
    set_verification_mode('reject')
    assert Request('').use_production == False
    assert Request('').use_sandbox == False
    set_verification_mode('review')
    assert Request('').use_production == True
    assert Request('').use_sandbox == True
예제 #11
0
def test_request():
    try:
        from testdata import sandbox_receipt
    except ImportError:
        print 'No receipt data to test'
        return

    set_verification_mode('production')
    request = Request(sandbox_receipt)
    try:
        receipt = request.validate()
        assert False
    except exceptions.InvalidReceipt, e:
        assert e.status == 21007
        assert e.description == e._descriptions[21007]
    set_verification_mode('review')
    request = Request(sandbox_receipt)
    receipt = request.validate()
    assert receipt

def test_context():
    try:
        from testdata import sandbox_receipt
    except ImportError:
        print 'No receipt data to test'
        return
    request = Request(sandbox_receipt)
    configs = request.use_production, request.use_sandbox
    with request.verification_mode('production'):
        try:
            request.verify()
예제 #12
0
 def test_shortcut(self):
     mode = itunesiap.get_verification_mode()
     itunesiap.set_verification_mode('sandbox')
     itunesiap.verify(sandbox_receipt)
     itunesiap.set_verification_mode(mode)