Exemple #1
0
    def test_extract_batch_additions_and_replacements_from_query_params(self):
        request = self._create_request({
            'Item.1.ItemName': 'item1',
            'Item.1.Attribute.1.Name': 'attr1',
            'Item.1.Attribute.1.Value': 'attr1val1',
            'Item.3.ItemName': 'item3',
            'Item.3.Attribute.3.Name': 'attr3',
            'Item.3.Attribute.3.Value': 'attr3val1',
            'Item.1.Attribute.6.Name': 'attr6',
            'Item.1.Attribute.7.Name': 'attr7',
            'Item.1.Attribute.7.Value': 'attr7val1',
            'Item.1.Attribute.7.Replace': 'true',
            'Item.1.Attribute.8.Foobar': 'blah'
        })

        additions, replacements = utils.extract_batch_additions_and_replacements_from_query_params(
            request)

        self.assertEquals(
            additions, {
                'item1': {
                    'attr1': set(['attr1val1'])
                },
                'item3': {
                    'attr3': set(['attr3val1'])
                }
            })
        self.assertEquals(replacements,
                          {'item1': {
                              'attr7': set(['attr7val1'])
                          }})
Exemple #2
0
    def test_extract_batch_additions_and_replacements_from_query_params(self):
        request = self._create_request({'Item.1.ItemName': 'item1',
                                        'Item.1.Attribute.1.Name': 'attr1',
                                        'Item.1.Attribute.1.Value': 'attr1val1',
                                        'Item.3.ItemName': 'item3',
                                        'Item.3.Attribute.3.Name': 'attr3',
                                        'Item.3.Attribute.3.Value': 'attr3val1',
                                        'Item.1.Attribute.6.Name': 'attr6',
                                        'Item.1.Attribute.7.Name': 'attr7',
                                        'Item.1.Attribute.7.Value': 'attr7val1',
                                        'Item.1.Attribute.7.Replace': 'true',
                                        'Item.1.Attribute.8.Foobar': 'blah'})

        additions, replacements = utils.extract_batch_additions_and_replacements_from_query_params(request)

        self.assertEquals(additions, {'item1': {'attr1': set(['attr1val1'])},
                                      'item3': {'attr3': set(['attr3val1'])}})
        self.assertEquals(replacements, {'item1': {'attr7': set(['attr7val1'])}})
Exemple #3
0
            domain_name = req.get_param("DomainName")

            deletions = utils.extract_batch_deletions_from_query_params(req)

            try:
                backend.batch_delete_attributes(owner, domain_name, deletions)
                resp.status = falcon.HTTP_200
                dom = etree.Element("BatchDeleteAttributesResponse")
            except basicdb.exceptions.APIException, e:
                resp.status = e.http_status
                dom = etree.Element(e.root_element)

        elif action == "BatchPutAttributes":
            domain_name = req.get_param("DomainName")

            additions, replacements = utils.extract_batch_additions_and_replacements_from_query_params(req)

            try:
                backend.batch_put_attributes(owner, domain_name, additions, replacements)
                resp.status = falcon.HTTP_200
                dom = etree.Element("BatchPutAttributesResponse")
            except basicdb.exceptions.APIException, e:
                resp.status = e.http_status
                dom = etree.Element(e.root_element)

        elif action == "Select":
            sql_expr = urllib.unquote(req.get_param('SelectExpression'))
            order, results = backend.select_wrapper(owner, sql_expr)

            resp.status = falcon.HTTP_200
            dom = etree.Element("SelectResponse")