Exemplo n.º 1
0
    def test_custom_session_success(self):
        """Ensure custom session is used"""
        responses.add(responses.POST,
                      re.compile(r'^https://.*$'),
                      body=tests.LOGIN_RESPONSE_SUCCESS,
                      status=http.OK)
        session_state = {
            'called': False,
        }

        # pylint: disable=unused-argument,missing-docstring
        def on_response(*args, **kwargs):
            session_state['called'] = True

        session = requests.Session()
        session.hooks = {
            'response': on_response,
        }
        client = Salesforce(session=session,
                            username='******',
                            password='******',
                            security_token='token')

        self.assertEqual(tests.SESSION_ID, client.session_id)
        self.assertEqual(session, client.session)
Exemplo n.º 2
0
 def test_proxies_inherited_set_on_session(self):
     """Test Salesforce and SFType use same custom proxies"""
     session = requests.Session()
     session.proxies = tests.PROXIES
     client = Salesforce(session_id=tests.SESSION_ID,
                         instance_url=tests.SERVER_URL,
                         session=session)
     self.assertIs(tests.PROXIES, client.session.proxies)
     self.assertIs(tests.PROXIES, client.Contact.session.proxies)
Exemplo n.º 3
0
    def test_proxies_inherited_default(self):
        """Test Salesforce and SFType use same proxies"""
        session = requests.Session()
        client = Salesforce(session_id=tests.SESSION_ID,
                            instance_url=tests.SERVER_URL,
                            session=session)

        self.assertIs(session.proxies, client.session.proxies)
        self.assertIs(session.proxies, client.Contact.session.proxies)
Exemplo n.º 4
0
    def test_shared_custom_session_to_sftype(self):
        """Test Salesforce and SFType instances share custom `Session`"""
        session = requests.Session()
        client = Salesforce(session_id=tests.SESSION_ID,
                            instance_url=tests.SERVER_URL,
                            session=session)

        self.assertIs(session, client.session)
        self.assertIs(session, client.Contact.session)
Exemplo n.º 5
0
    def test_proxies_ignored(self):
        """Test overridden proxies are ignored"""
        session = requests.Session()
        session.proxies = tests.PROXIES

        with patch('salesforce_batch.api.logger.warning') as mock_log:
            client = Salesforce(session_id=tests.SESSION_ID,
                                instance_url=tests.SERVER_URL,
                                session=session,
                                proxies={})
            self.assertIn('ignoring proxies', mock_log.call_args[0][0])
            self.assertIs(tests.PROXIES, client.session.proxies)
Exemplo n.º 6
0
    def test_api_usage_simple(self):
        """Make sure a header response is recorded"""
        responses.add(
            responses.GET,
            re.compile(r'^https://.*$'),
            body='{"example": 1}',
            adding_headers={"Sforce-Limit-Info": "api-usage=18/5000"},
            status=http.OK)

        client = Salesforce.__new__(Salesforce)
        client.request = requests.Session()
        client.headers = {}
        client.base_url = 'https://localhost'
        client.query('q')

        self.assertDictEqual(client.api_usage, {'api-usage': Usage(18, 5000)})
Exemplo n.º 7
0
    def test_custom_version_success(self):
        """Test custom version"""
        responses.add(responses.POST,
                      re.compile(r'^https://.*$'),
                      body=tests.LOGIN_RESPONSE_SUCCESS,
                      status=http.OK)

        # Use an invalid version that is guaranteed to never be used
        expected_version = '4.2'
        client = Salesforce(session=requests.Session(),
                            username='******',
                            password='******',
                            security_token='token',
                            version=expected_version)

        self.assertEqual(
            client.base_url.split('/')[-2], 'v%s' % expected_version)
Exemplo n.º 8
0
    def test_api_usage_per_app(self):
        """Make sure a header response is recorded"""

        pau = "api-usage=25/5000; per-app-api-usage=17/250(appName=sample-app)"
        responses.add(responses.GET,
                      re.compile(r'^https://.*$'),
                      body='{"example": 1}',
                      adding_headers={"Sforce-Limit-Info": pau},
                      status=http.OK)

        client = Salesforce.__new__(Salesforce)
        client.request = requests.Session()
        client.headers = {}
        client.base_url = 'https://localhost'
        client.query('q')

        self.assertDictEqual(
            client.api_usage, {
                'api-usage': Usage(25, 5000),
                'per-app-api-usage': PerAppUsage(17, 250, 'sample-app')
            })
Exemplo n.º 9
0
    def test_shared_session_to_sftype(self):
        """Test Salesforce and SFType instances share default `Session`"""
        client = Salesforce(session_id=tests.SESSION_ID,
                            instance_url=tests.SERVER_URL)

        self.assertIs(client.session, client.Contact.session)