public void ArchiveTest() { var archiveRequest = new ArchiveRequest(Stubs.BrokerName, Stubs.ArchiveFiles); var mockNetwork = new Mock <INetwork>(MockBehavior.Strict); mockNetwork .Setup(n => n.Invoke(archiveRequest)) .Returns(new MockHttpWebResponse("SpectraLogic.SpectraRioBrokerClient.Test.TestFiles.ArchiveResponse", HttpStatusCode.Created, null)); var mockBuilder = new Mock <ISpectraRioBrokerClientBuilder>(MockBehavior.Strict); mockBuilder .Setup(b => b.Build()) .Returns(new SpectraRioBrokerClient(mockNetwork.Object)); var builder = mockBuilder.Object; var client = builder.Build(); var job = client.Archive(archiveRequest); Assert.AreEqual(new Guid("101bddb7-8b34-4b35-9ef5-3c829d561e19"), job.JobId); Assert.AreEqual(JobType.ARCHIVE, job.JobType); Assert.AreEqual(1, job.NumberOfFiles); Assert.AreEqual(1234, job.TotalSizeInBytes); Assert.AreEqual("1/23/2018 3:52:46 AM", job.CreationDate.ToString()); Assert.AreEqual("1/23/2018 3:52:46 AM", job.LastUpdated.ToString()); Assert.AreEqual(0.0, job.Progress); Assert.AreEqual("Initializing", job.Status.Message); Assert.AreEqual(JobStatusEnum.ACTIVE, job.Status.Status); mockBuilder.VerifyAll(); mockNetwork.VerifyAll(); }
public override async Task <DefaultResponse> Archive(ArchiveRequest request, ServerCallContext context) { using var sql = new SqlConnection(_connectionString); await sql.OpenAsync(); using var transaction = sql.BeginTransaction(); SqlCommand command = sql.CreateCommand(); command.Transaction = transaction; for (var i = 0; i < request.List.ToArray().Length; i++) { command = await ArchiveRegistrationProcessAsync(command, request.List.ToArray()[i].Id, i); } try { await transaction.CommitAsync(); sql.Close(); return(new DefaultResponse { Status = true }); } catch (Exception) { await transaction.RollbackAsync(); sql.Close(); return(new DefaultResponse { Status = false }); } }
//POST /api/PersonalData/{id}/archive Delete item with id provided //no result model public IRestResponse PostPersonalDataArchive(ArchiveRequest archiveRequest) { var request = new RestRequest(resource + $"/{archiveRequest.ClientId}/archive", Method.POST); request.AddHeader("api-key", apiKey); request.AddJsonBody(archiveRequest); var response = client.Execute(request); return(response); }
public async Task Get_Archive() { var archiveRequest = new ArchiveRequest { ZipName = "Hello.zip", CsrRequests = new List <CsrRequest> { new CsrRequest { AppearanceId = "984", PdfFileName = "test123.pdf" } }, DocumentRequests = new List <DocumentRequest> { new DocumentRequest { Base64UrlEncodedDocumentId = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes("6874")), IsCriminal = false, PdfFileName = "55", FileId = "3197" }, new DocumentRequest { Base64UrlEncodedDocumentId = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes("6196.0734")), IsCriminal = true, PdfFileName = "4646363", FileId = "3192" } }, RopRequests = new List <RopRequest> { new RopRequest { CourtLevelCode = CourtLevelCd.P, CourtClassCode = CourtClassCd.A, PartId = "12971.0026", PdfFileName = "ropTest.pdf", ProfSequenceNumber = "24" } } }; var actionResult = await _controller.GetArchive(archiveRequest) as FileContentResult; Assert.NotNull(actionResult); Assert.Equal("Hello.zip", actionResult.FileDownloadName); Assert.True(actionResult.FileContents.Length > 0); }
public string RecordSession() { // create a logger placeholder Logger logger = null; var value = string.Empty; var archiveRequest = new ArchiveRequest(); var apiKey = configuration["appSettings:OT.Api.Key"]; var apiSecret = configuration["appSettings:OT.Api.Secret"]; var openTok = new OpenTok(Convert.ToInt32(apiKey), apiSecret); try { logger = NexmoLogger.GetLogger("OTSessionArchivingLogger"); logger.Open(); // Get the session name out of the request body using (StreamReader reader = new StreamReader(Request.Body, Encoding.UTF8)) { value = reader.ReadToEndAsync().Result; archiveRequest = JsonConvert.DeserializeObject <ArchiveRequest>(value); logger.Log("OpenTok Session Recording Request body: " + value); } // Start the recording var archive = openTok.StartArchive(archiveRequest.sessionId); logger.Log("OpenTok Session archiving started for session ID: " + archiveRequest.sessionId); logger.Log("OpenTok Session archiving started with archive ID: " + archive.Id); logger.Log("OpenTok Session archiving started with parameters: " + JsonConvert.SerializeObject(archive, Formatting.Indented)); // store the archive ID to be able to stop the recording later StoreArchiveID(logger, archive); var archiveId = archive.Id; return(archiveId.ToString()); } catch (Exception e) { logger.Log("OpenTok Error starting archiving the session: " + e.Message); logger.Log("OpenTok Error starting archiving the session: " + e.StackTrace); return(e.Message); } }
public void PostPersonalDataArchiveTest() { var client = new FullPersonalDataModel().Init(); var response = lykkeApi.PersonalData.PostPersonalData(client); Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK), "UnExpected status code"); var actual = lykkeApi.PersonalData.GetFullPersonalDataById(client.Id); Assert.That(actual.StatusCode, Is.EqualTo(HttpStatusCode.OK), "Unexpected status code"); ArchiveRequest archive = new ArchiveRequest(client.Id); var archiveResponse = lykkeApi.PersonalData.PostPersonalDataArchive(archive); Assert.That(archiveResponse.StatusCode, Is.EqualTo(HttpStatusCode.OK), "Unexpected status code"); System.Threading.Thread.Sleep(TimeSpan.FromSeconds(2));//temp, discover After issue var actualArchive = lykkeApi.PersonalData.GetFullPersonalDataById(client.Id); Assert.That(() => actualArchive.StatusCode, Is.EqualTo(HttpStatusCode.NoContent).After(5 * 1000, 1 * 1000), "Unexpected status code"); }
public IHttpActionResult CreateNewArchiveRequest(NewArchiveRequestDto newArchiveRequest) { var staff = _context.Staffs.Single(s => s.Id == newArchiveRequest.StaffId); var archives = _context.Archives.Where(a => newArchiveRequest.ArchiveIds.Contains(a.Id)).ToList(); foreach (var archive in archives) { var archiveRequest = new ArchiveRequest { Staff = staff, Archive = archive, ReqDate = DateTime.Now }; _context.ArchiveRequests.Add(archiveRequest); } _context.SaveChanges(); return(Ok()); }
public void GetBrokerObjectsTest() { var fileName1 = "0a_" + "GetBrokerObjectsTest_" + Guid.NewGuid(); var fileName2 = "zz_" + "GetBrokerObjectsTest_" + Guid.NewGuid(); const string relationshipName = "GetBrokerObjectsTest"; try { var brokerObjectsBefore = SpectraRioBrokerClientFixture.SpectraRioBrokerClient.GetBrokerObjects( new GetBrokerObjectsRequest(SpectraRioBrokerClientFixture.BrokerName)).Objects.Count; var archiveRequest = new ArchiveRequest(SpectraRioBrokerClientFixture.BrokerName, new List <ArchiveFile> { new ArchiveFile(fileName1, "F1.txt".ToAtoZUri(), 14, new Dictionary <string, string> { { "fileName", fileName1 } }, false, new HashSet <string> { relationshipName }), new ArchiveFile(fileName2, "F2.txt".ToAtoZUri(), 14, new Dictionary <string, string> { { "fileName", fileName2 } }, false, new HashSet <string> { relationshipName }) }); var archiveJob = SpectraRioBrokerClientFixture.SpectraRioBrokerClient.Archive(archiveRequest); var pollingAttempts = 0; do { archiveJob = SpectraRioBrokerClientFixture.SpectraRioBrokerClient.GetJob( new GetJobRequest(archiveJob.JobId)); _log.Debug(archiveJob.Status); Thread.Sleep(TimeSpan.FromSeconds(PollingInterval)); pollingAttempts++; } while (archiveJob.Status.Status == JobStatusEnum.ACTIVE && pollingAttempts < MaxPollingAttempts); Assert.Less(pollingAttempts, MaxPollingAttempts); Assert.AreEqual(JobStatusEnum.COMPLETED, archiveJob.Status.Status); var brokerObjects = SpectraRioBrokerClientFixture.SpectraRioBrokerClient.GetBrokerObjects( new GetBrokerObjectsRequest(SpectraRioBrokerClientFixture.BrokerName)); Assert.AreEqual(brokerObjectsBefore + 2, brokerObjects.Objects.Count); brokerObjects = SpectraRioBrokerClientFixture.SpectraRioBrokerClient.GetBrokerObjects( new GetBrokerObjectsRequest(SpectraRioBrokerClientFixture.BrokerName, ObjectsSortByEnum.NAME, SortOrderEnum.ASC)); Assert.AreEqual(brokerObjectsBefore + 2, brokerObjects.Objects.Count); Assert.AreEqual(fileName1, brokerObjects.Objects.ElementAt(0).Name); brokerObjects = SpectraRioBrokerClientFixture.SpectraRioBrokerClient.GetBrokerObjects( new GetBrokerObjectsRequest(SpectraRioBrokerClientFixture.BrokerName, ObjectsSortByEnum.NAME, SortOrderEnum.DESC)); Assert.AreEqual(brokerObjectsBefore + 2, brokerObjects.Objects.Count); Assert.AreEqual(fileName2, brokerObjects.Objects.ElementAt(0).Name); brokerObjects = SpectraRioBrokerClientFixture.SpectraRioBrokerClient.GetBrokerObjects( new GetBrokerObjectsRequest(SpectraRioBrokerClientFixture.BrokerName, perPage: 1)); Assert.AreEqual(1, brokerObjects.Objects.Count); Assert.AreEqual(fileName2, brokerObjects.Objects.ElementAt(0).Name); Assert.AreEqual(2, brokerObjects.Page.TotalPages); Assert.AreEqual(1, brokerObjects.Page.PageSize); Assert.AreEqual(0, brokerObjects.Page.Number); brokerObjects = SpectraRioBrokerClientFixture.SpectraRioBrokerClient.GetBrokerObjects( new GetBrokerObjectsRequest(SpectraRioBrokerClientFixture.BrokerName, filename: fileName2)); Assert.AreEqual(1, brokerObjects.Objects.Count); Assert.AreEqual(fileName2, brokerObjects.Objects.ElementAt(0).Name); brokerObjects = SpectraRioBrokerClientFixture.SpectraRioBrokerClient.GetBrokerObjects( new GetBrokerObjectsRequest(SpectraRioBrokerClientFixture.BrokerName, prefix: "0a")); Assert.AreEqual(1, brokerObjects.Objects.Count); Assert.AreEqual(fileName1, brokerObjects.Objects.ElementAt(0).Name); brokerObjects = SpectraRioBrokerClientFixture.SpectraRioBrokerClient.GetBrokerObjects( new GetBrokerObjectsRequest(SpectraRioBrokerClientFixture.BrokerName, prefix: "0a", filename: "not_found")); Assert.AreEqual(0, brokerObjects.Objects.Count); brokerObjects = SpectraRioBrokerClientFixture.SpectraRioBrokerClient.GetBrokerObjects( new GetBrokerObjectsRequest(SpectraRioBrokerClientFixture.BrokerName, metadata: new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("fileName", fileName2) })); Assert.AreEqual(1, brokerObjects.Objects.Count); Assert.AreEqual(fileName2, brokerObjects.Objects.ElementAt(0).Name); brokerObjects = SpectraRioBrokerClientFixture.SpectraRioBrokerClient.GetBrokerObjects( new GetBrokerObjectsRequest(SpectraRioBrokerClientFixture.BrokerName, relationships: new List <string> { relationshipName })); Assert.AreEqual(2, brokerObjects.Objects.Count); } finally { var deleteF1Request = new DeleteFileRequest(SpectraRioBrokerClientFixture.BrokerName, fileName1); var deleteF2Request = new DeleteFileRequest(SpectraRioBrokerClientFixture.BrokerName, fileName2); SpectraRioBrokerClientFixture.SpectraRioBrokerClient.DeleteFile(deleteF1Request); SpectraRioBrokerClientFixture.SpectraRioBrokerClient.DeleteFile(deleteF2Request); } }
public void GetJobsTest() { var fileName1 = Guid.NewGuid().ToString(); try { var archiveJobsBefore = SpectraRioBrokerClientFixture.SpectraRioBrokerClient.GetJobs( new GetJobsRequest( jobTypes: new List <JobTypeEnum> { JobTypeEnum.ARCHIVE }, jobStatuses: new List <JobStatusEnum> { JobStatusEnum.COMPLETED }) ).JobsList.Count; var restoreJobsBefore = SpectraRioBrokerClientFixture.SpectraRioBrokerClient.GetJobs( new GetJobsRequest( jobTypes: new List <JobTypeEnum> { JobTypeEnum.RESTORE }) ).JobsList.Count; SpectraRioBrokerClientFixture.SetupTestData(); var archiveRequest = new ArchiveRequest(SpectraRioBrokerClientFixture.BrokerName, new List <ArchiveFile> { new ArchiveFile(fileName1, "F1.txt".ToAtoZUri(), 14, new Dictionary <string, string> { { "fileName", fileName1 } }, false) }); var archiveJob = SpectraRioBrokerClientFixture.SpectraRioBrokerClient.Archive(archiveRequest); var pollingAttempts = 0; do { archiveJob = SpectraRioBrokerClientFixture.SpectraRioBrokerClient.GetJob( new GetJobRequest(archiveJob.JobId)); _log.Debug(archiveJob.Status); Thread.Sleep(TimeSpan.FromSeconds(PollingInterval)); pollingAttempts++; } while (archiveJob.Status.Status == JobStatusEnum.ACTIVE && pollingAttempts < MaxPollingAttempts); Assert.Less(pollingAttempts, MaxPollingAttempts); Assert.AreEqual(JobStatusEnum.COMPLETED, archiveJob.Status.Status); var jobs = SpectraRioBrokerClientFixture.SpectraRioBrokerClient.GetJobs( new GetJobsRequest( jobTypes: new List <JobTypeEnum> { JobTypeEnum.ARCHIVE }, jobStatuses: new List <JobStatusEnum> { JobStatusEnum.COMPLETED })); Assert.AreEqual(archiveJobsBefore + 1, jobs.JobsList.Count); jobs = SpectraRioBrokerClientFixture.SpectraRioBrokerClient.GetJobs( new GetJobsRequest( jobTypes: new List <JobTypeEnum> { JobTypeEnum.RESTORE })); Assert.AreEqual(restoreJobsBefore, jobs.JobsList.Count); jobs = SpectraRioBrokerClientFixture.SpectraRioBrokerClient.GetJobs( new GetJobsRequest( jobTypes: new List <JobTypeEnum> { JobTypeEnum.ARCHIVE }, jobStatuses: new List <JobStatusEnum> { JobStatusEnum.COMPLETED }, sortBy: JobsSortByEnum.CREATION_DATE, sortOrder: SortOrderEnum.DESC)); Assert.AreEqual(archiveJob.JobId, jobs.JobsList[0].JobId); } finally { var deleteF1Request = new DeleteFileRequest(SpectraRioBrokerClientFixture.BrokerName, fileName1); SpectraRioBrokerClientFixture.SpectraRioBrokerClient.DeleteFile(deleteF1Request); } }
public async Task <IActionResult> GetArchive(ArchiveRequest archiveRequest) { if (User.IsVcUser()) { if (!await _vcCivilFileAccessHandler.HasCivilFileAccess(User, archiveRequest.VcCivilFileId)) { return(Forbid()); } if (archiveRequest.RopRequests.Any() || archiveRequest.DocumentRequests.Any(dr => dr.IsCriminal)) { return(Forbid()); } var civilFileDetailResponse = await _civilFilesService.FileIdAsync(archiveRequest.VcCivilFileId); if (civilFileDetailResponse?.PhysicalFileId == null) { throw new NotFoundException("Couldn't find civil file with this id."); } var documentIds = archiveRequest.DocumentRequests.SelectToList(d => Encoding.UTF8.GetString(WebEncoders.Base64UrlDecode(d.Base64UrlEncodedDocumentId))); var appearanceIds = archiveRequest.CsrRequests.SelectToList(csr => csr.AppearanceId); if (civilFileDetailResponse.SealedYN == "Y" || !documentIds.All(id => civilFileDetailResponse.Document.Any(d => d.CivilDocumentId == id)) || !appearanceIds.All(id => civilFileDetailResponse.Appearances.ApprDetail.Any(d => d.AppearanceId == id)) ) { return(Forbid()); } } var maximumArchiveDocumentCount = _configuration.GetNonEmptyValue("MaximumArchiveDocumentCount"); if (string.IsNullOrEmpty(archiveRequest.ZipName)) { return(BadRequest($"Missing {nameof(archiveRequest.ZipName)}.")); } if (archiveRequest.TotalDocuments >= int.Parse(maximumArchiveDocumentCount)) { return(BadRequest($"Only can support up to {maximumArchiveDocumentCount} documents.")); } var courtSummaryRequests = archiveRequest.CsrRequests; var documentRequest = archiveRequest.DocumentRequests; var ropRequests = archiveRequest.RopRequests; var courtSummaryReportsTasks = courtSummaryRequests.Select(a => _civilFilesService.CourtSummaryReportAsync( a.AppearanceId, JustinReportName.CEISR035)); var documentTasks = documentRequest.Select(d => _filesService.DocumentAsync( Encoding.UTF8.GetString(WebEncoders.Base64UrlDecode(d.Base64UrlEncodedDocumentId)), d.IsCriminal, d.FileId)); var ropRequestTasks = ropRequests.SelectToList(dr => _criminalFilesService.RecordOfProceedingsAsync(dr.PartId, dr.ProfSequenceNumber, dr.CourtLevelCode, dr.CourtClassCode)); var courtSummaryReports = (await courtSummaryReportsTasks.WhenAll()).ToList(); var documents = (await documentTasks.WhenAll()).ToList(); var rops = (await ropRequestTasks.WhenAll()).ToList(); if (courtSummaryReports.Any(d => d.ResponseCd != "0")) { return(BadRequest("One of the CSRs didn't return correctly.")); } if (documents.Any(d => d.ResultCd != "1")) { return(BadRequest("One of the documents didn't return correctly.")); } if (rops.Any(d => d.ResultCd == "0")) { return(BadRequest("One of the ROPs didn't return correctly.")); } var pdfDocuments = courtSummaryReports.SelectToList(d => new PdfDocument { Content = d.ReportContent, FileName = courtSummaryRequests[courtSummaryReports.IndexOf(d)].PdfFileName }); pdfDocuments.AddRange(documents.SelectToList(d => new PdfDocument { Content = d.B64Content, FileName = documentRequest[documents.IndexOf(d)].PdfFileName })); pdfDocuments.AddRange(rops.Select(d => new PdfDocument { Content = d.B64Content, FileName = ropRequests[rops.IndexOf(d)].PdfFileName })); return(await BuildArchiveWithPdfFiles(pdfDocuments, archiveRequest.ZipName)); }
protected override bool CanArchive(ArchiveRequest <InstanceIdParameters> Operation) { return(HasPermission(Operation.Key.InstanceId)); }
//POST /api/PersonalData/{id}/archive Delete item with id provided //no result model public IResponse PostPersonalDataArchive(ArchiveRequest archiveRequest) { return(Request.Post(resource + $"/{archiveRequest.ClientId}/archive").WithHeaders("api-key", apiKey).AddJsonBody(archiveRequest).Build().Execute()); }
/// <inheritdoc/> public IJob Archive(ArchiveRequest request) { return(ExceptionDecorator.Run(() => new ArchiveResponseParser().Parse(_network.Invoke(request)))); }
protected override bool CanArchive(ArchiveRequest <EntityIdParameters> Operation) { return(HasEntityPermission(Operation.Key.EntityId)); }
protected override object Archive(ArchiveRequest <EntityIdParameters> Operation) { return(Archive(Operation.Key.EntityId, true)); }
protected override object Archive(ArchiveRequest <InstanceIdParameters> Operation) { return(DataController.Archive(Operation.Key.InstanceId)); }