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']) }})
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'])}})
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")