コード例 #1
0
ファイル: test_quart.py プロジェクト: spapadim/aiolti
    async def test_access_to_oauth_resource_post_grade2_fail(self):
        """
        Check post_grade edX LTI2 functionality
        """
        uri = (u'https://example.edu/courses/MITx/ODL_ENG/2014_T1/xblock/'
               u'i4x:;_;_MITx;_ODL_ENG;_lti;'
               u'_94173d3e79d145fd8ec2e83f15836ac8/handler_noauth'
               u'/lti_2_0_result_rest_handler/user/'
               u'008437924c9852377e8994829aaac7a1')

        def request_callback(request, cburi, headers):
            # pylint: disable=unused-argument
            """
            Mock expected response.
            """
            return 400, headers, self.expected_response

        httpretty.register_uri(httpretty.PUT, uri, body=request_callback)

        consumers = self.consumers
        url = 'http://localhost/initial?'
        new_url = self.generate_launch_request(consumers, url)

        ret = await self.app_client.get(new_url)
        self.assertFalse(self.has_exception())

        ret = await self.app_client.get("/post_grade2/1.0")
        self.assertTrue(self.has_exception())
        self.assertEqual(ret.data.decode('utf-8'), "error")
コード例 #2
0
ファイル: test_quart.py プロジェクト: spapadim/aiolti
    async def test_access_to_oauth_resource_post_grade(self):
        """
        Check post_grade functionality.
        """
        # pylint: disable=maybe-no-member
        uri = (u'https://example.edu/courses/MITx/ODL_ENG/2014_T1/xblock/'
               u'i4x:;_;_MITx;_ODL_ENG;_lti;'
               u'_94173d3e79d145fd8ec2e83f15836ac8/handler_noauth'
               u'/grade_handler')

        httpretty.register_uri(httpretty.POST, uri, body=self.request_callback)

        consumers = self.consumers
        url = 'http://localhost/initial?'
        new_url = self.generate_launch_request(consumers, url)

        ret = await self.app_client.get(new_url)
        self.assertFalse(self.has_exception())

        ret = await self.app_client.get("/post_grade/1.0")
        self.assertFalse(self.has_exception())
        self.assertEqual(ret.data.decode('utf-8'), "grade=True")

        ret = await self.app_client.get("/post_grade/2.0")
        self.assertFalse(self.has_exception())
        self.assertEqual(ret.data.decode('utf-8'), "grade=False")
コード例 #3
0
ファイル: test_quart.py プロジェクト: spapadim/aiolti
    async def test_access_to_oauth_resource_post_grade2(self):
        """
        Check post_grade edX LTI2 functionality.
        """
        uri = (u'https://example.edu/courses/MITx/ODL_ENG/2014_T1/xblock/'
               u'i4x:;_;_MITx;_ODL_ENG;_lti;'
               u'_94173d3e79d145fd8ec2e83f15836ac8/handler_noauth'
               u'/lti_2_0_result_rest_handler/user/'
               u'008437924c9852377e8994829aaac7a1')

        httpretty.register_uri(httpretty.PUT, uri, body=self.request_callback)

        consumers = self.consumers
        url = 'http://localhost/initial?'
        new_url = self.generate_launch_request(consumers, url)

        ret = await self.app_client.get(new_url)
        self.assertFalse(self.has_exception())

        ret = await self.app_client.get("/post_grade2/1.0")
        self.assertFalse(self.has_exception())
        self.assertEqual(ret.data.decode('utf-8'), "grade=True")

        ret = await self.app_client.get("/post_grade2/2.0")
        self.assertFalse(self.has_exception())
        self.assertEqual(ret.data.decode('utf-8'), "grade=False")
コード例 #4
0
ファイル: test_quart.py プロジェクト: spapadim/aiolti
    async def test_access_to_oauth_resource_post_grade_fail(self):
        """
        Check post_grade functionality fails on invalid response.
        """
        # pylint: disable=maybe-no-member
        uri = (u'https://example.edu/courses/MITx/ODL_ENG/2014_T1/xblock/'
               u'i4x:;_;_MITx;_ODL_ENG;_lti;'
               u'_94173d3e79d145fd8ec2e83f15836ac8/handler_noauth'
               u'/grade_handler')

        def request_callback(request, cburi, headers):
            # pylint: disable=unused-argument
            """
            Mock error response callback.
            """
            return 200, headers, "wrong_response"

        httpretty.register_uri(httpretty.POST, uri, body=request_callback)

        consumers = self.consumers
        url = 'http://localhost/initial?'
        new_url = self.generate_launch_request(consumers, url)
        ret = await self.app_client.get(new_url)
        self.assertFalse(self.has_exception())
        self.assertFalse(self.has_exception())

        ret = await self.app_client.get("/post_grade/1.0")
        self.assertTrue(self.has_exception())
        self.assertEqual(ret.data.decode('utf-8'), "error")
コード例 #5
0
ファイル: client_test.py プロジェクト: iCodeIN/aiobravado
    def test_get(self):
        httpretty.register_uri(httpretty.GET,
                               "http://swagger.py/swagger-test/pet",
                               body='[]')

        resp = self.uut.pet.listPets().result()
        self.assertEqual([], resp)
コード例 #6
0
ファイル: client_test.py プロジェクト: iCodeIN/aiobravado
    def test_delete(self):
        httpretty.register_uri(httpretty.DELETE,
                               "http://swagger.py/swagger-test/pet/1234",
                               status=204)

        resp = self.uut.pet.deletePet(petId=1234).result()
        self.assertEqual(None, resp)
コード例 #7
0
ファイル: client_test.py プロジェクト: iCodeIN/aiobravado
    def test_multiple(self):
        httpretty.register_uri(httpretty.GET,
                               "http://swagger.py/swagger-test/pet/find",
                               body='[]')

        resp = self.uut.pet.findPets(species=['cat', 'dog']).result()
        self.assertEqual([], resp)
        self.assertEqual({'species': ['cat', 'dog']},
                         httpretty.last_request().querystring)
コード例 #8
0
 def test_post_check_headers(self):
     body = {"id": "test_id"}
     httpretty.register_uri(httpretty.POST,
                            "http://localhost/test_http?",
                            body='[]',
                            content_type='text/json')
     resp = self.client.simple1.createAsterikInfoHttp(body=body).result()
     self.assertEqual('application/json',
                      httpretty.last_request().headers['content-type'])
     self.assertEqual('{"id": "test_id"}', httpretty.last_request().body)
     self.assertEqual([], resp)
コード例 #9
0
ファイル: client_test.py プロジェクト: iCodeIN/aiobravado
    def test_response_body_is_shown_in_error_message(self):
        httpretty.register_uri(httpretty.GET,
                               "http://swagger.py/swagger-test/pet",
                               body='{"success": false}',
                               status=500)
        msg = '500 Server Error: Internal Server Error'

        try:
            self.uut.pet.listPets().result()
        except IOError as e:
            self.assertEqual(msg + ' : {"success": false}', e.args[0])
コード例 #10
0
ファイル: client_test.py プロジェクト: iCodeIN/aiobravado
    def test_headers(self):
        self.uut = SwaggerClient.from_resource_listing(self.resource_listing)
        httpretty.register_uri(httpretty.GET,
                               "http://swagger.py/swagger-test/pet",
                               body='[]')

        self.uut.pet.listPets(_request_options={
            'headers': {
                'foo': 'bar'
            }
        }).result()
        self.assertEqual('bar', httpretty.last_request().headers['foo'])
コード例 #11
0
ファイル: client_test.py プロジェクト: iCodeIN/aiobravado
    def test_post_binary_data(self):
        httpretty.register_uri(
            httpretty.POST,
            'http://swagger.py/swagger-test/pet/1234/vaccine',
            status=204)

        temporary_file = tempfile.TemporaryFile()
        temporary_file.write('\xff\xd8')
        temporary_file.seek(0)

        resp = self.uut.pet.postVaccine(vaccineFile=temporary_file,
                                        petId=1234).result()
        self.assertEqual(None, resp)
コード例 #12
0
ファイル: client_test.py プロジェクト: iCodeIN/aiobravado
    def test_post_and_optional_params(self):
        httpretty.register_uri(httpretty.POST,
                               "http://swagger.py/swagger-test/pet",
                               status=200,
                               body='"Spark is born"')

        resp = self.uut.pet.createPet(name='Sparky',
                                      birthday=datetime.date(2014, 1,
                                                             2)).result()
        self.assertEqual('Spark is born', resp)
        self.assertEqual({
            'name': ['Sparky'],
            'birthday': ['2014-01-02']
        },
                         httpretty.last_request().querystring)
        resp = self.uut.pet.createPet(name='Sparky').result()
        self.assertEqual('Spark is born', resp)
        self.assertEqual({'name': ['Sparky']},
                         httpretty.last_request().querystring)
コード例 #13
0
ファイル: test_quart.py プロジェクト: spapadim/aiolti
    async def test_access_to_oauth_resource_post_grade_fix_url(self):
        """
        Make sure URL remap works for edX vagrant stack.
        """
        # pylint: disable=maybe-no-member
        uri = 'https://localhost:8000/dev_stack'

        httpretty.register_uri(httpretty.POST, uri, body=self.request_callback)

        url = 'http://localhost/initial?'
        new_url = self.generate_launch_request(
            self.consumers, url, lit_outcome_service_url=uri
        )
        ret = await self.app_client.get(new_url)
        self.assertFalse(self.has_exception())

        ret = await self.app_client.get("/post_grade/1.0")
        self.assertFalse(self.has_exception())
        self.assertEqual(ret.data.decode('utf-8'), "grade=True")

        ret = await self.app_client.get("/post_grade/2.0")
        self.assertFalse(self.has_exception())
        self.assertEqual(ret.data.decode('utf-8'), "grade=False")
コード例 #14
0
    def setUp(self):
        httpretty.register_uri(httpretty.GET,
                               "http://localhost/api-docs",
                               body=open('test-data/1.2/simple/resources.json',
                                         'r').read())

        httpretty.register_uri(httpretty.GET,
                               "http://localhost/api-docs/simple",
                               body=open('test-data/1.2/simple/simple.json',
                                         'r').read())

        httpretty.register_uri(httpretty.GET,
                               "http://localhost/api-docs/simple1",
                               body=open('test-data/1.2/simple/simple1.json',
                                         'r').read())

        # Default handlers for all swagger.py access
        self.client = SwaggerClient.from_url(u'http://localhost/api-docs')