Пример #1
0
 def setUp(self):
     config = Configuration()
     config.host = HOST
     config.access_token = 'ACCESS_TOKEN'
     self.api_client = petstore_api.ApiClient(config)
     self.pet_api = petstore_api.PetApi(self.api_client)
     self.setUpModels()
     self.setUpFiles()
Пример #2
0
 def setUp(self):
     AsyncTestCase.setUp(self)
     config = Configuration()
     config.host = HOST
     self.api_client = petstore_api.ApiClient(config)
     self.pet_api = petstore_api.PetApi(self.api_client)
     self.setUpModels()
     self.setUpFiles()
Пример #3
0
    def test_create_api_instance(self):
        pet_api = petstore_api.PetApi()
        pet_api2 = petstore_api.PetApi()
        api_client3 = petstore_api.ApiClient()
        api_client3.user_agent = 'api client 3'
        api_client4 = petstore_api.ApiClient()
        api_client4.user_agent = 'api client 4'
        pet_api3 = petstore_api.PetApi(api_client3)

        # same default api client
        self.assertEqual(pet_api.api_client, pet_api2.api_client)
        # confirm using the default api client in the config module
        self.assertEqual(pet_api.api_client, petstore_api.configuration.api_client)
        # 2 different api clients are not the same
        self.assertNotEqual(api_client3, api_client4)
        # customized pet api not using the default api client
        self.assertNotEqual(pet_api3.api_client, petstore_api.configuration.api_client)
        # customized pet api not using the old pet api's api client
        self.assertNotEqual(pet_api3.api_client, pet_api2.api_client)
    async def test_proxy(self):
        config = Configuration()
        # set not-existent proxy and catch an error to verify that
        # the client library (aiohttp) tried to use it.
        config.proxy = 'http://localhost:8080/proxy'
        async with petstore_api.ApiClient(config) as client:
            pet_api = petstore_api.PetApi(client)

            with self.assertRaisesRegex(petstore_api.rest.aiohttp.client_exceptions.ClientProxyConnectionError,
                                        'Cannot connect to host localhost:8080'):
                await pet_api.get_pet_by_id(self.pet.id)
    def test_separate_config_instances(self):
        pet_api = petstore_api.PetApi()
        pet_api2 = petstore_api.PetApi()
        self.assertNotEqual(pet_api.api_client.configuration,
                            pet_api2.api_client.configuration)

        pet_api.api_client.configuration.host = 'some_host'
        pet_api2.api_client.configuration.host = 'some_other_host'
        self.assertNotEqual(pet_api.api_client.configuration.host,
                            pet_api2.api_client.configuration.host)

        pet_api.api_client.configuration.api_key['api_key'] = 'some_key'
        pet_api2.api_client.configuration.api_key['api_key'] = 'some_other_key'
        self.assertNotEqual(
            pet_api.api_client.configuration.api_key['api_key'],
            pet_api2.api_client.configuration.api_key['api_key'])

        pet_api.api_client.configuration.api_key_prefix[
            'prefix'] = 'some_prefix'
        pet_api2.api_client.configuration.api_key_prefix[
            'prefix'] = 'some_other_prefix'
        self.assertNotEqual(
            pet_api.api_client.configuration.api_key_prefix['prefix'],
            pet_api2.api_client.configuration.api_key_prefix['prefix'])
    def test_valid_http_signature(self):
        privkey_path = self.rsa_key_path
        signing_cfg = signing.HttpSigningConfiguration(
            key_id="my-key-id",
            signing_scheme=signing.SCHEME_HS2019,
            private_key_path=privkey_path,
            private_key_passphrase=self.private_key_passphrase,
            signing_algorithm=signing.ALGORITHM_RSASSA_PKCS1v15,
            signed_headers=[
                signing.HEADER_REQUEST_TARGET, signing.HEADER_CREATED,
                signing.HEADER_HOST, signing.HEADER_DATE,
                signing.HEADER_DIGEST, 'Content-Type'
            ])
        config = Configuration(host=HOST, signing_info=signing_cfg)
        # Set the OAuth2 acces_token to None. Here we are interested in testing
        # the HTTP signature scheme.
        config.access_token = None

        api_client = petstore_api.ApiClient(config)
        pet_api = petstore_api.PetApi(api_client)

        mock_pool = MockPoolManager(self)
        api_client.rest_client.pool_manager = mock_pool

        mock_pool.set_signing_config(signing_cfg)
        mock_pool.expect_request(
            'POST',
            'http://petstore.swagger.io/v2/pet',
            body=json.dumps(api_client.sanitize_for_serialization(self.pet)),
            headers={
                'Content-Type':
                r'application/json',
                'Authorization':
                r'Signature keyId="my-key-id",algorithm="hs2019",created=[0-9]+,'
                r'headers="\(request-target\) \(created\) host date digest content-type",'
                r'signature="[a-zA-Z0-9+/=]+"',
                'User-Agent':
                r'OpenAPI-Generator/1.0.0/python'
            },
            preload_content=True,
            timeout=None)

        pet_api.add_pet(self.pet)
 def setUp(self):
     self.api_client = petstore_api.ApiClient()
     self.pet_api = petstore_api.PetApi(self.api_client)
     self.setUpModels()