Example #1
0
def astakos_user(user):
    """
    Context manager to mock astakos response.

    usage:
    with astakos_user("*****@*****.**"):
        .... make api calls ....

    """
    with patch("snf_django.lib.api.get_token") as get_token:
        get_token.return_value = "DummyToken"
        with patch("astakosclient.AstakosClient.authenticate") as m2:
            m2.return_value = {
                "access": {
                    "token": {
                        "expires": "2013-06-19T15:23:59.975572+00:00",
                        "id": "DummyToken",
                        "tenant": {"id": text.udec(user, "utf8"), "name": "Firstname Lastname"},
                    },
                    "serviceCatalog": [],
                    "user": {
                        "roles_links": [],
                        "id": text.udec(user, "utf8"),
                        "roles": [{"id": 1, "name": "default"}],
                        "name": "Firstname Lastname",
                    },
                }
            }

            with patch("astakosclient.AstakosClient.get_quotas") as m3:
                m3.return_value = {
                    "system": {"pithos.diskspace": {"usage": 0, "limit": 1073741824, "pending": 0}}  # 1GB
                }
                issue_fun = "astakosclient.AstakosClient.issue_one_commission"
                with patch(issue_fun) as m3:
                    serials = []
                    append = serials.append

                    def get_serial(*args, **kwargs):
                        global serial
                        serial += 1
                        append(serial)
                        return serial

                    m3.side_effect = get_serial
                    resolv_fun = "astakosclient.AstakosClient.resolve_commissions"
                    with patch(resolv_fun) as m4:
                        m4.return_value = {"accepted": serials, "rejected": [], "failed": []}
                        users_fun = "astakosclient.AstakosClient.get_usernames"
                        with patch(users_fun) as m5:

                            def get_usernames(*args, **kwargs):
                                uuids = args[-1]
                                return dict((uuid, uuid) for uuid in uuids)

                            m5.side_effect = get_usernames
                            yield
Example #2
0
    def setUp(self):
        self.client = PithosTestClient()

        # Override default block size to spead up tests
        pithos_settings.BACKEND_BLOCK_SIZE = TEST_BLOCK_SIZE
        pithos_settings.BACKEND_HASH_ALGORITHM = TEST_HASH_ALGORITHM

        self.user = '******'
        self.pithos_path = join_urls(
            get_service_path(pithos_settings.pithos_services, 'object-store'))

        # patch astakosclient.AstakosClient.validate_token
        mock_validate_token = self.create_patch(
            'astakosclient.AstakosClient.validate_token')
        mock_validate_token.return_value = {
            'access': {
                'user': {
                    'id': text.udec(self.user, 'utf8')
                }
            }
        }

        # patch astakosclient.AstakosClient.get_token
        mock_get_token = self.create_patch(
            'astakosclient.AstakosClient.get_token')
        mock_get_token.return_value = {'access_token': 'valid_token'}

        # patch astakosclient.AstakosClient.api_oa2_auth
        mock_api_oauth2_auth = self.create_patch(
            'astakosclient.AstakosClient.oauth2_url',
            new_callable=PropertyMock)
        mock_api_oauth2_auth.return_value = '/astakos/oauth2/'

        mock_service_get_quotas = self.create_patch(
            'astakosclient.AstakosClient.service_get_quotas')
        mock_service_get_quotas.return_value = {
            self.user: {
                "system": {
                    "pithos.diskspace": {
                        "usage": 0,
                        "limit": 1073741824,  # 1GB
                        "pending": 0
                    }
                }
            }
        }
Example #3
0
    def setUp(self):
        self.client = PithosTestClient()

        # Override default block size to spead up tests
        pithos_settings.BACKEND_BLOCK_SIZE = TEST_BLOCK_SIZE
        pithos_settings.BACKEND_HASH_ALGORITHM = TEST_HASH_ALGORITHM

        self.user = '******'
        self.pithos_path = join_urls(get_service_path(
            pithos_settings.pithos_services, 'object-store'))

        # patch astakosclient.AstakosClient.validate_token
        mock_validate_token = self.create_patch(
            'astakosclient.AstakosClient.validate_token')
        mock_validate_token.return_value = {
            'access': {'user': {'id': text.udec(self.user, 'utf8')}}}

        # patch astakosclient.AstakosClient.get_token
        mock_get_token = self.create_patch(
            'astakosclient.AstakosClient.get_token')
        mock_get_token.return_value = {'access_token': 'valid_token'}

        # patch astakosclient.AstakosClient.api_oa2_auth
        mock_api_oauth2_auth = self.create_patch(
            'astakosclient.AstakosClient.oauth2_url',
            new_callable=PropertyMock)
        mock_api_oauth2_auth.return_value = '/astakos/oauth2/'

        mock_service_get_quotas = self.create_patch(
            'astakosclient.AstakosClient.service_get_quotas')
        mock_service_get_quotas.return_value = {
            self.user: {
                "system": {
                    "pithos.diskspace": {
                        "usage": 0,
                        "limit": 1073741824,  # 1GB
                        "pending": 0}}}}
Example #4
0
 def stringnify(obj):
     if isinstance(obj, (unicode, str)):
         return udec(obj)
     else:
         return str(obj)
Example #5
0
def astakos_user(user):
    """
    Context manager to mock astakos response.

    usage:
    with astakos_user("*****@*****.**"):
        .... make api calls ....

    """
    with patch("snf_django.lib.api.get_token") as get_token:
        get_token.return_value = "DummyToken"
        with patch('astakosclient.AstakosClient.authenticate') as m2:
            m2.return_value = {
                "access": {
                    "token": {
                        "expires": "2013-06-19T15:23:59.975572+00:00",
                        "id": "DummyToken",
                        "tenant": {
                            "id": text.udec(user, 'utf8'),
                            "name": "Firstname Lastname"
                        }
                    },
                    "serviceCatalog": [],
                    "user": {
                        "roles_links": [],
                        "id": text.udec(user, 'utf8'),
                        "roles": [{
                            "id": 1,
                            "name": "default"
                        }],
                        "name": "Firstname Lastname"
                    }
                }
            }

            with patch('astakosclient.AstakosClient.get_quotas') as m3:
                m3.return_value = {
                    "system": {
                        "pithos.diskspace": {
                            "usage": 0,
                            "limit": 1073741824,  # 1GB
                            "pending": 0
                        }
                    }
                }
                issue_fun = \
                    "astakosclient.AstakosClient.issue_one_commission"
                with patch(issue_fun) as m3:
                    serials = []
                    append = serials.append

                    def get_serial(*args, **kwargs):
                        global serial
                        serial += 1
                        append(serial)
                        return serial

                    m3.side_effect = get_serial
                    resolv_fun = \
                        'astakosclient.AstakosClient.resolve_commissions'
                    with patch(resolv_fun) as m4:
                        m4.return_value = {
                            'accepted': serials,
                            'rejected': [],
                            'failed': []
                        }
                        users_fun = \
                            'astakosclient.AstakosClient.get_usernames'
                        with patch(users_fun) as m5:

                            def get_usernames(*args, **kwargs):
                                uuids = args[-1]
                                return dict((uuid, uuid) for uuid in uuids)

                            m5.side_effect = get_usernames
                            yield
Example #6
0
 def stringnify(obj):
     if isinstance(obj, (unicode, str)):
         return udec(obj)
     else:
         return str(obj)