Example #1
0
 def test_service_account_info(self):
     http_request = request_mock(http_client.OK, 'application/json',
                                 json.dumps(DATA))
     info = _metadata.get_service_account_info(http_request)
     self.assertEqual(info, DATA)
     http_request.assert_called_once_with(EXPECTED_URL + '/?recursive=True',
                                          **EXPECTED_KWARGS)
 def test_service_account_info(self):
     http_request = request_mock(
         http_client.OK, 'application/json', json.dumps(DATA))
     info = _metadata.get_service_account_info(http_request)
     self.assertEqual(info, DATA)
     http_request.assert_called_once_with(
         EXPECTED_URL + '/?recursive=True',
         **EXPECTED_KWARGS
     )
Example #3
0
 def test_service_account_info(self):
     http = request_mock(http_client.OK, "application/json", json.dumps(DATA))
     info = _metadata.get_service_account_info(http)
     self.assertEqual(info, DATA)
     # Verify mock.
     self.assertEqual(http.requests, 1)
     self.assertEqual(http.uri, EXPECTED_URL + "/?recursive=True")
     self.assertEqual(http.method, "GET")
     self.assertIsNone(http.body)
     self.assertEqual(http.headers, _metadata.METADATA_HEADERS)
Example #4
0
 def test_service_account_info(self):
     http = request_mock(http_client.OK, 'application/json',
                         json.dumps(DATA))
     info = _metadata.get_service_account_info(http)
     self.assertEqual(info, DATA)
     # Verify mock.
     self.assertEqual(http.requests, 1)
     self.assertEqual(http.uri, EXPECTED_URL + '/?recursive=True')
     self.assertEqual(http.method, 'GET')
     self.assertIsNone(http.body)
     self.assertEqual(http.headers, _metadata.METADATA_HEADERS)
Example #5
0
    def _retrieve_info(self, http):
        """Retrieves service account info for invalid credentials.

        Args:
            http: an object to be used to make HTTP requests.
        """
        if self.invalid:
            info = _metadata.get_service_account_info(
                http, service_account=self.service_account_email or 'default')
            self.invalid = False
            self.service_account_email = info['email']
            self.scopes = info['scopes']
Example #6
0
    def _retrieve_info(self, http):
        """Retrieves service account info for invalid credentials.

        Args:
            http: an object to be used to make HTTP requests.
        """
        if self.invalid:
            info = _metadata.get_service_account_info(
                http,
                service_account=self.service_account_email or 'default')
            self.invalid = False
            self.service_account_email = info['email']
            self.scopes = info['scopes']
Example #7
0
    def _retrieve_info(self, http_request):
        """Validates invalid service accounts by retrieving service account info.

        Args:
            http_request: callable, a callable that matches the method
                          signature of httplib2.Http.request, used to make the
                          request to the metadata server
        """
        if self.invalid:
            info = _metadata.get_service_account_info(
                http_request, service_account=self.service_account_email or 'default')
            self.invalid = False
            self.service_account_email = info['email']
            self.scopes = info['scopes']
Example #8
0
    def _retrieve_info(self, http_request):
        """Validates invalid service accounts by retrieving service account info.

        Args:
            http_request: callable, a callable that matches the method
                          signature of httplib2.Http.request, used to make the
                          request to the metadata server
        """
        if self.invalid:
            info = _metadata.get_service_account_info(
                http_request,
                service_account=self.service_account_email or 'default')
            self.invalid = False
            self.service_account_email = info['email']
            self.scopes = info['scopes']
Example #9
0
    def service_account_email(self):
        """Get the email for the current service account.

        Uses the Google Compute Engine metadata service to retrieve the email
        of the default service account.

        Returns:
            string, The email associated with the Google Compute Engine
            service account.

        Raises:
            AttributeError, if the email can not be retrieved from the Google
            Compute Engine metadata service.
        """
        if self._service_account_email is None:
            self._service_account_email = (
                _metadata.get_service_account_info()['email'])
        return self._service_account_email