public async void DeleteFileWithUpdatedRetentionPeriod() { var f1 = await _hiarc.CreateFile(_hiarc.BuildPath(TEST_FILE_TINY)); var rp1 = await _hiarc.CreateRetentionPolicy(3); await _hiarc.AddRetentionPolicyToFile(rp1.Key, f1.Key); await Assert.ThrowsAnyAsync <Exception>(async() => await _hiarc.DeleteFile(f1.Key)); var updateRequest = new UpdateRetentionPolicyRequest { Seconds = 10 }; await _hiarc.UpdateRetentionPolicy(rp1.Key, updateRequest); Console.WriteLine("Waiting 5 seconds..."); await Task.Delay(5000); await Assert.ThrowsAnyAsync <Exception>(async() => await _hiarc.DeleteFile(f1.Key)); Console.WriteLine("Waiting 7 seconds..."); await Task.Delay(7000); await _hiarc.DeleteFile(f1.Key); }
public async void RetentionPolicyCRUD() { var rp1 = await _hiarc.CreateRetentionPolicy(60); var fetchedRetentionPolicy = await _hiarc.GetRetentionPolicy(rp1.Key); Assert.Equal(rp1, fetchedRetentionPolicy, new EntityComparer()); Assert.Equal((uint)60, fetchedRetentionPolicy.Seconds); var newName = "New Name"; var newDescription = "New description"; var updateRequest = new UpdateRetentionPolicyRequest { Name = newName, Description = newDescription }; var updatedRetentionPolicy = await _hiarc.UpdateRetentionPolicy(rp1.Key, updateRequest); Assert.Equal(newName, updatedRetentionPolicy.Name); Assert.Equal(newDescription, updatedRetentionPolicy.Description); Assert.True(updatedRetentionPolicy.ModifiedAt > updatedRetentionPolicy.CreatedAt); updateRequest = new UpdateRetentionPolicyRequest { Key = "new key", Name = newName, Description = newDescription }; await Assert.ThrowsAnyAsync <Exception>(async() => await _hiarc.UpdateRetentionPolicy(rp1.Key, updateRequest)); }
public async Task <RetentionPolicy> UpdateRetentionPolicy(string key, UpdateRetentionPolicyRequest request, string asUserKey = null, string bearerToken = null, bool logToConsole = true) { var updatedRetentionPolicy = await Put <UpdateRetentionPolicyRequest, RetentionPolicy>(request, $"retentionpolicies/{key}", asUserKey, bearerToken); if (logToConsole) { Console.WriteLine($"Updated Retention Policy: {ToJson(updatedRetentionPolicy)}\""); } ; return(updatedRetentionPolicy); }
public async void UpdateRetentionPeriod() { var rp1 = await _hiarc.CreateRetentionPolicy(RetentionPolicy.RETENTION_PERIOD_MONTH); var updateRequest = new UpdateRetentionPolicyRequest { Seconds = RetentionPolicy.RETENTION_PERIOD_DAY }; await Assert.ThrowsAnyAsync <Exception>(async() => await _hiarc.UpdateRetentionPolicy(rp1.Key, updateRequest)); updateRequest = new UpdateRetentionPolicyRequest { Seconds = RetentionPolicy.RETENTION_PERIOD_MAX }; var updatedRetentionPolicy = await _hiarc.UpdateRetentionPolicy(rp1.Key, updateRequest); Assert.Equal(RetentionPolicy.RETENTION_PERIOD_MAX, updatedRetentionPolicy.Seconds); }
public async void UpdateMetadata() { var md = TestMetadata; var rp1 = await _hiarc.CreateRetentionPolicy(60, md); var updatedMD = new Dictionary <string, object> { { "department", "support" }, { "quotaCarrying", false }, { "targetRate", 7.271 }, { "level", 2 }, { "startDate", DateTime.Parse("2020-02-25T22:33:50.134Z").ToUniversalTime() } }; var request = new UpdateRetentionPolicyRequest { Metadata = updatedMD }; var updatedPolicy = await _hiarc.UpdateRetentionPolicy(rp1.Key, request); AssertMetadata(updatedMD, updatedPolicy.Metadata); }
public async Task <IActionResult> Update(string key, [FromBody] UpdateRetentionPolicyRequest request) { try { var updatedRetentionPolicy = await _hiarcDatabase.UpdateRetentionPolicy(key, request); return(Ok(updatedRetentionPolicy)); } catch (ArgumentException ex) { _logger.LogWarning(ex.Message); return(StatusCode(StatusCodes.Status403Forbidden)); } catch (InvalidOperationException ex) { _logger.LogError(ex.Message); return(StatusCode(StatusCodes.Status403Forbidden)); } catch (Exception ex) { return(BuildErrorResponse(ex, _logger)); } }
public async void NullOutMetadata() { var md = TestMetadata; var rp1 = await _hiarc.CreateRetentionPolicy(60, md); var updatedMD = new Dictionary <string, object> { { "department", null }, { "quotaCarrying", null } }; var request = new UpdateRetentionPolicyRequest { Metadata = updatedMD }; var updatedPolicy = await _hiarc.UpdateRetentionPolicy(rp1.Key, request); Assert.Equal(3, updatedPolicy.Metadata.Keys.Count); updatedMD = new Dictionary <string, object> { { "targetRate", null }, { "level", null }, { "startDate", null } }; request = new UpdateRetentionPolicyRequest { Metadata = updatedMD }; updatedPolicy = await _hiarc.UpdateRetentionPolicy(rp1.Key, request); Assert.Null(updatedPolicy.Metadata); }