def test_time_to_live(self): dynamodb = aws_stack.connect_to_resource('dynamodb') dynamodb_client = aws_stack.connect_to_service('dynamodb') testutil.create_dynamodb_table(TEST_DDB_TABLE_NAME_3, partition_key=PARTITION_KEY) table = dynamodb.Table(TEST_DDB_TABLE_NAME_3) # Insert some items to the table items = { 'id1': {PARTITION_KEY: 'id1', 'data': 'IT IS'}, 'id2': {PARTITION_KEY: 'id2', 'data': 'TIME'}, 'id3': {PARTITION_KEY: 'id3', 'data': 'TO LIVE!'} } for k, item in items.items(): table.put_item(Item=item) # Describe TTL when still unset. response = testutil.send_describe_dynamodb_ttl_request(TEST_DDB_TABLE_NAME_3) assert response.status_code == 200 assert json.loads(response._content)['TimeToLiveDescription']['TimeToLiveStatus'] == 'DISABLED' # Enable TTL for given table response = testutil.send_update_dynamodb_ttl_request(TEST_DDB_TABLE_NAME_3, True) assert response.status_code == 200 assert json.loads(response._content)['TimeToLiveSpecification']['Enabled'] is True # Describe TTL status after being enabled. response = testutil.send_describe_dynamodb_ttl_request(TEST_DDB_TABLE_NAME_3) assert response.status_code == 200 assert json.loads(response._content)['TimeToLiveDescription']['TimeToLiveStatus'] == 'ENABLED' # Disable TTL for given table response = testutil.send_update_dynamodb_ttl_request(TEST_DDB_TABLE_NAME_3, False) assert response.status_code == 200 assert json.loads(response._content)['TimeToLiveSpecification']['Enabled'] is False # Describe TTL status after being disabled. response = testutil.send_describe_dynamodb_ttl_request(TEST_DDB_TABLE_NAME_3) assert response.status_code == 200 assert json.loads(response._content)['TimeToLiveDescription']['TimeToLiveStatus'] == 'DISABLED' # Enable TTL for given table again response = testutil.send_update_dynamodb_ttl_request(TEST_DDB_TABLE_NAME_3, True) assert response.status_code == 200 assert json.loads(response._content)['TimeToLiveSpecification']['Enabled'] is True # Describe TTL status after being enabled again. response = testutil.send_describe_dynamodb_ttl_request(TEST_DDB_TABLE_NAME_3) assert response.status_code == 200 assert json.loads(response._content)['TimeToLiveDescription']['TimeToLiveStatus'] == 'ENABLED' # Clean up table dynamodb_client.delete_table(TableName=TEST_DDB_TABLE_NAME_3)
def test_time_to_live(self): dynamodb = aws_stack.connect_to_resource('dynamodb') dynamodb_client = aws_stack.connect_to_service('dynamodb') aws_stack.create_dynamodb_table(TEST_DDB_TABLE_NAME_3, partition_key=PARTITION_KEY) table = dynamodb.Table(TEST_DDB_TABLE_NAME_3) # Insert some items to the table items = { 'id1': {PARTITION_KEY: 'id1', 'data': 'IT IS'}, 'id2': {PARTITION_KEY: 'id2', 'data': 'TIME'}, 'id3': {PARTITION_KEY: 'id3', 'data': 'TO LIVE!'} } for k, item in items.items(): table.put_item(Item=item) # Describe TTL when still unset. response = testutil.send_describe_dynamodb_ttl_request(TEST_DDB_TABLE_NAME_3) assert response.status_code == 200 assert json.loads(response._content)['TimeToLiveDescription']['TimeToLiveStatus'] == 'DISABLED' # Enable TTL for given table response = testutil.send_update_dynamodb_ttl_request(TEST_DDB_TABLE_NAME_3, True) assert response.status_code == 200 assert json.loads(response._content)['TimeToLiveSpecification']['Enabled'] is True # Describe TTL status after being enabled. response = testutil.send_describe_dynamodb_ttl_request(TEST_DDB_TABLE_NAME_3) assert response.status_code == 200 assert json.loads(response._content)['TimeToLiveDescription']['TimeToLiveStatus'] == 'ENABLED' # Disable TTL for given table response = testutil.send_update_dynamodb_ttl_request(TEST_DDB_TABLE_NAME_3, False) assert response.status_code == 200 assert json.loads(response._content)['TimeToLiveSpecification']['Enabled'] is False # Describe TTL status after being disabled. response = testutil.send_describe_dynamodb_ttl_request(TEST_DDB_TABLE_NAME_3) assert response.status_code == 200 assert json.loads(response._content)['TimeToLiveDescription']['TimeToLiveStatus'] == 'DISABLED' # Enable TTL for given table again response = testutil.send_update_dynamodb_ttl_request(TEST_DDB_TABLE_NAME_3, True) assert response.status_code == 200 assert json.loads(response._content)['TimeToLiveSpecification']['Enabled'] is True # Describe TTL status after being enabled again. response = testutil.send_describe_dynamodb_ttl_request(TEST_DDB_TABLE_NAME_3) assert response.status_code == 200 assert json.loads(response._content)['TimeToLiveDescription']['TimeToLiveStatus'] == 'ENABLED' # Clean up table dynamodb_client.delete_table(TableName=TEST_DDB_TABLE_NAME_3)
def test_time_to_live(self): aws_stack.create_dynamodb_table(TEST_DDB_TABLE_NAME_3, partition_key=PARTITION_KEY) table = self.dynamodb.Table(TEST_DDB_TABLE_NAME_3) # Insert some items to the table items = { 'id1': {PARTITION_KEY: 'id1', 'data': 'IT IS'}, 'id2': {PARTITION_KEY: 'id2', 'data': 'TIME'}, 'id3': {PARTITION_KEY: 'id3', 'data': 'TO LIVE!'} } for k, item in items.items(): table.put_item(Item=item) # Describe TTL when still unset. response = testutil.send_describe_dynamodb_ttl_request(TEST_DDB_TABLE_NAME_3) self.assertEqual(response.status_code, 200) self.assertEqual(json.loads(response._content)['TimeToLiveDescription']['TimeToLiveStatus'], 'DISABLED') # Enable TTL for given table response = testutil.send_update_dynamodb_ttl_request(TEST_DDB_TABLE_NAME_3, True) self.assertEqual(response.status_code, 200) self.assertTrue(json.loads(response._content)['TimeToLiveSpecification']['Enabled']) # Describe TTL status after being enabled. response = testutil.send_describe_dynamodb_ttl_request(TEST_DDB_TABLE_NAME_3) self.assertEqual(response.status_code, 200) self.assertEqual(json.loads(response._content)['TimeToLiveDescription']['TimeToLiveStatus'], 'ENABLED') # Disable TTL for given table response = testutil.send_update_dynamodb_ttl_request(TEST_DDB_TABLE_NAME_3, False) self.assertEqual(response.status_code, 200) self.assertFalse(json.loads(response._content)['TimeToLiveSpecification']['Enabled']) # Describe TTL status after being disabled. response = testutil.send_describe_dynamodb_ttl_request(TEST_DDB_TABLE_NAME_3) self.assertEqual(response.status_code, 200) self.assertEqual(json.loads(response._content)['TimeToLiveDescription']['TimeToLiveStatus'], 'DISABLED') # Enable TTL for given table again response = testutil.send_update_dynamodb_ttl_request(TEST_DDB_TABLE_NAME_3, True) self.assertEqual(response.status_code, 200) self.assertTrue(json.loads(response._content)['TimeToLiveSpecification']['Enabled']) # Describe TTL status after being enabled again. response = testutil.send_describe_dynamodb_ttl_request(TEST_DDB_TABLE_NAME_3) self.assertEqual(response.status_code, 200) self.assertEqual(json.loads(response._content)['TimeToLiveDescription']['TimeToLiveStatus'], 'ENABLED') # clean up delete_table(TEST_DDB_TABLE_NAME_3)
def test_time_to_live(self): aws_stack.create_dynamodb_table(TEST_DDB_TABLE_NAME_3, partition_key=PARTITION_KEY) table = self.dynamodb.Table(TEST_DDB_TABLE_NAME_3) # Insert some items to the table items = { "id1": { PARTITION_KEY: "id1", "data": "IT IS" }, "id2": { PARTITION_KEY: "id2", "data": "TIME" }, "id3": { PARTITION_KEY: "id3", "data": "TO LIVE!" }, } for k, item in items.items(): table.put_item(Item=item) # Describe TTL when still unset response = testutil.send_describe_dynamodb_ttl_request( TEST_DDB_TABLE_NAME_3) self.assertEqual(200, response.status_code) self.assertEqual( json.loads(response._content)["TimeToLiveDescription"] ["TimeToLiveStatus"], "DISABLED", ) # Enable TTL for given table response = testutil.send_update_dynamodb_ttl_request( TEST_DDB_TABLE_NAME_3, True) self.assertEqual(200, response.status_code) self.assertTrue( json.loads( response._content)["TimeToLiveSpecification"]["Enabled"]) # Describe TTL status after being enabled. response = testutil.send_describe_dynamodb_ttl_request( TEST_DDB_TABLE_NAME_3) self.assertEqual(200, response.status_code) self.assertEqual( json.loads(response._content)["TimeToLiveDescription"] ["TimeToLiveStatus"], "ENABLED", ) # Disable TTL for given table response = testutil.send_update_dynamodb_ttl_request( TEST_DDB_TABLE_NAME_3, False) self.assertEqual(200, response.status_code) self.assertFalse( json.loads( response._content)["TimeToLiveSpecification"]["Enabled"]) # Describe TTL status after being disabled. response = testutil.send_describe_dynamodb_ttl_request( TEST_DDB_TABLE_NAME_3) self.assertEqual(200, response.status_code) self.assertEqual( json.loads(response._content)["TimeToLiveDescription"] ["TimeToLiveStatus"], "DISABLED", ) # Enable TTL for given table again response = testutil.send_update_dynamodb_ttl_request( TEST_DDB_TABLE_NAME_3, True) self.assertEqual(200, response.status_code) self.assertTrue( json.loads( response._content)["TimeToLiveSpecification"]["Enabled"]) # Describe TTL status after being enabled again. response = testutil.send_describe_dynamodb_ttl_request( TEST_DDB_TABLE_NAME_3) self.assertEqual(200, response.status_code) self.assertEqual( json.loads(response._content)["TimeToLiveDescription"] ["TimeToLiveStatus"], "ENABLED", ) # clean up delete_table(TEST_DDB_TABLE_NAME_3)