Esempio n. 1
0
 def test_total_consumed_capacity(self):
     """ ConsumedCapacity can parse results with only Total """
     response = {
         'TableName': 'foobar',
         'CapacityUnits': 4,
     }
     cap = ConsumedCapacity.from_response(response, True)
     self.assertEqual(cap.total.read, 4)
     self.assertIsNone(cap.table_capacity)
Esempio n. 2
0
 def test_total_consumed_capacity(self):
     """ ConsumedCapacity can parse results with only Total """
     response = {
         'TableName': 'foobar',
         'CapacityUnits': 4,
     }
     cap = ConsumedCapacity.from_response(response, True)
     self.assertEqual(cap.total.read, 4)
     self.assertIsNone(cap.table_capacity)
Esempio n. 3
0
 def test_total_consumed_capacity(self):
     """ConsumedCapacity can parse results with only Total"""
     response = {
         "TableName": "foobar",
         "ReadCapacityUnits": 4,
         "WriteCapacityUnits": 5,
     }
     cap = ConsumedCapacity.from_response(response)
     self.assertEqual(cap.total, (4, 5))
     self.assertIsNone(cap.table_capacity)
Esempio n. 4
0
 def test_capacity(self):
     """Can return consumed capacity"""
     conn = MagicMock()
     response_cap = {
         "TableName": "foobar",
         "ReadCapacityUnits": 6,
         "WriteCapacityUnits": 7,
         "Table": {
             "ReadCapacityUnits": 1,
             "WriteCapacityUnits": 2,
         },
         "LocalSecondaryIndexes": {
             "l-index": {
                 "ReadCapacityUnits": 2,
                 "WriteCapacityUnits": 3,
             },
         },
         "GlobalSecondaryIndexes": {
             "g-index": {
                 "ReadCapacityUnits": 3,
                 "WriteCapacityUnits": 4,
             },
         },
     }
     response = {
         "Responses": [],
         "ConsumedCapacity": [response_cap],
     }
     capacity = ConsumedCapacity.from_response(response_cap)
     response["consumed_capacity"] = [capacity]
     with patch.object(self.dynamo, "client") as client:
         client.transact_get_items.return_value = response
         ret = self.dynamo.txn_get("foobar", [{"id": "a"}])
         list(ret)
     assert ret.consumed_capacity is not None
     cap = ret.consumed_capacity["foobar"]
     assert cap is not None
     assert cap.table_capacity is not None
     assert cap.local_index_capacity is not None
     assert cap.global_index_capacity is not None
     self.assertEqual(cap.total, Throughput(6, 7))
     self.assertEqual(cap.table_capacity, Throughput(1, 2))
     self.assertEqual(cap.local_index_capacity["l-index"], Throughput(2, 3))
     self.assertEqual(cap.global_index_capacity["g-index"],
                      Throughput(3, 4))
Esempio n. 5
0
 def test_capacity(self):
     """Can return consumed capacity"""
     conn = MagicMock()
     response_cap = {
         "TableName": "foobar",
         "CapacityUnits": 6,
         "Table": {
             "CapacityUnits": 1,
         },
         "LocalSecondaryIndexes": {
             "l-index": {
                 "CapacityUnits": 2,
             },
         },
         "GlobalSecondaryIndexes": {
             "g-index": {
                 "CapacityUnits": 3,
             },
         },
     }
     response = {
         "Responses": {
             "foo": [],
         },
         "ConsumedCapacity": [response_cap],
     }
     capacity = ConsumedCapacity.from_response(response_cap, True)
     response["consumed_capacity"] = [capacity]
     conn.call.return_value = response
     rs = GetResultSet(conn, {"foobar": [{"id": "a"}]})
     list(rs)
     assert rs.consumed_capacity is not None
     cap = rs.consumed_capacity["foobar"]
     assert cap is not None
     assert cap.table_capacity is not None
     assert cap.local_index_capacity is not None
     assert cap.global_index_capacity is not None
     self.assertEqual(cap.total, (6, 0))
     self.assertEqual(cap.table_capacity, (1, 0))
     self.assertEqual(cap.local_index_capacity["l-index"], (2, 0))
     self.assertEqual(cap.global_index_capacity["g-index"], (3, 0))
Esempio n. 6
0
 def test_capacity(self):
     """ Can return consumed capacity """
     conn = MagicMock()
     response = {
         'Responses': {
             'foo': [],
         },
         'ConsumedCapacity': [{
             'TableName': 'foobar',
             'CapacityUnits': 3,
             'Table': {
                 'CapacityUnits': 1,
             },
             'LocalSecondaryIndexes': {
                 'l-index': {
                     'CapacityUnits': 1,
                 },
             },
             'GlobalSecondaryIndexes': {
                 'g-index': {
                     'CapacityUnits': 1,
                 },
             },
         }],
     }
     capacity = ConsumedCapacity.from_response(
         response['ConsumedCapacity'][0], True)
     response['consumed_capacity'] = [capacity]
     conn.call.return_value = response
     rs = GetResultSet(conn, 'foo', [{'id': 'a'}])
     list(rs)
     self.assertEqual(rs.capacity, 3)
     self.assertEqual(rs.table_capacity, 1)
     self.assertEqual(rs.indexes, {'l-index': 1})
     self.assertEqual(rs.global_indexes, {'g-index': 1})
     self.assertEqual(rs.consumed_capacity, capacity)