public void ProcessResults_Populates_SingleJob() { var reqProc = new ComplianceRequestProcessor <ComplianceQuery> { BaseUrl = BaseUrl2, Type = ComplianceType.SingleJob }; List <ComplianceQuery> results = reqProc.ProcessResults(SingleJob); Assert.IsNotNull(results); ComplianceQuery complianceQuery = results.SingleOrDefault(); Assert.IsNotNull(complianceQuery); List <ComplianceJob> jobs = complianceQuery.Jobs; Assert.IsNotNull(jobs); Assert.AreEqual(1, jobs.Count); ComplianceJob job = jobs.FirstOrDefault(); Assert.IsNotNull(job); Assert.AreEqual("jU8rFK", job.JobID); Assert.AreEqual("Troglomyces twitteri", job.JobName); Assert.AreEqual("https://storage.googleapis.com/twitter-compliance/test_user_ids", job.DownloadUrl); Assert.AreEqual(DateTime.Parse("2020-09-04T20:04:41.819+00:00"), job.DownloadExpiresAt); Assert.AreEqual(ComplianceStatus.Complete, job.Status); }
public void ProcessResults_Populates_MultipleJobs() { var reqProc = new ComplianceRequestProcessor <ComplianceQuery> { BaseUrl = BaseUrl2, Type = ComplianceType.MultipleJobs }; List <ComplianceQuery> results = reqProc.ProcessResults(MultipleJobs); Assert.IsNotNull(results); ComplianceQuery complianceQuery = results.SingleOrDefault(); Assert.IsNotNull(complianceQuery); List <ComplianceJob> jobs = complianceQuery.Jobs; Assert.IsNotNull(jobs); Assert.AreEqual(2, jobs.Count); ComplianceJob job = jobs.FirstOrDefault(); Assert.IsNotNull(job); Assert.AreEqual("NIXh2p", job.JobID); Assert.AreEqual("Feline species research", job.JobName); Assert.AreEqual("https://storage.googleapis.com/twitter-compliance/test_user_ids", job.DownloadUrl); Assert.AreEqual(DateTime.Parse("2020-06-16T11:17:32.819+00:00"), job.DownloadExpiresAt); Assert.AreEqual(ComplianceStatus.Complete, job.Status); }
private void PreSaveValidate(ComplianceJob savedObject) { if (((ComplianceJobProvider)base.DataSession).FindJobsByName <ComplianceSearch>(savedObject.Name) != null) { TDataObject dataObject = this.DataObject; base.WriteError(new ComplianceSearchNameIsNotUniqueException(dataObject.Name), ErrorCategory.InvalidArgument, savedObject); } }
// Token: 0x0600003A RID: 58 RVA: 0x00002F48 File Offset: 0x00001148 private ComplianceJob GetComplianceJob(OrganizationId organizationId, Guid jobRunId) { ComplianceJobProvider complianceJobProvider = new ComplianceJobProvider(organizationId); Guid tenantGuid = organizationId.GetTenantGuid(); ComplianceJob complianceJob = complianceJobProvider.FindComplianceJob(tenantGuid, jobRunId).Single <ComplianceJob>(); if (complianceJob != null) { return(complianceJob); } throw new ArgumentException(string.Format("No job data found. TenantId-{0} and JobRunId-{1}", tenantGuid, jobRunId)); }
public async Task CreateComplianceJobAsync_WithReply_ReturnsTrue() { const string JobName = "abc"; const bool Resumable = true; var ctx = await InitializeTwitterContextAsync(JobResponse); ComplianceJob job = await ctx.CreateComplianceJobAsync(JobName, Resumable); Assert.IsNotNull(job); Assert.AreEqual("YIAh2p", job.JobID); Assert.AreEqual("https://storage.googleapis.com/twitter-compliance/test_tweet_ids", job.DownloadUrl); Assert.AreEqual(DateTime.Parse("2020-06-16T21:17:43.819+00:00"), job.DownloadExpiresAt); Assert.AreEqual("https://storage.googleapis.com/twitter-compliance/customer_test_object_123456_d8ske9.json", job.UploadUrl); Assert.AreEqual(DateTime.Parse("2020-06-16T21:17:43.818+00:00"), job.UploadExpiresAt); }
protected override IConfigurable PrepareDataObject() { ComplianceJob complianceJob = (ComplianceJob)base.PrepareDataObject(); bool flag = false; string[] array = null; if (this.ProcessBindings(complianceJob, ComplianceBindingType.ExchangeBinding, out flag, out array)) { base.Fields["ExchangeBinding"] = array; complianceJob.ExchangeBindings = array; complianceJob.AllExchangeBindings = flag; } if (this.ProcessBindings(complianceJob, ComplianceBindingType.PublicFolderBinding, out flag, out array)) { base.Fields["PublicFolderBinding"] = array; complianceJob.PublicFolderBindings = array; complianceJob.AllPublicFolderBindings = flag; } if (this.ProcessBindings(complianceJob, ComplianceBindingType.SharePointBinding, out flag, out array)) { base.Fields["SharePointBinding"] = array; complianceJob.SharePointBindings = array; complianceJob.AllSharePointBindings = flag; } if ((complianceJob.ExchangeBindings == null || complianceJob.ExchangeBindings.Count == 0) && !complianceJob.AllExchangeBindings && (complianceJob.PublicFolderBindings == null || complianceJob.PublicFolderBindings.Count == 0) && !complianceJob.AllPublicFolderBindings && (complianceJob.SharePointBindings == null || complianceJob.SharePointBindings.Count == 0) && !complianceJob.AllSharePointBindings) { base.WriteError(new ComplianceJobTaskException(Strings.NoBindingsSet), ErrorCategory.InvalidArgument, null); } if (base.Fields.IsModified("Description")) { complianceJob.Description = this.Description; } if (base.Fields.IsModified("Name")) { complianceJob.Name = this.Name; } complianceJob.LastModifiedTime = DateTime.UtcNow; return(complianceJob); }
private bool ProcessBindings(ComplianceJob dataObject, ComplianceBindingType bindingType, out bool processedAllBindings, out string[] processedBindings) { processedAllBindings = false; processedBindings = null; string text; string text2; bool flag; string[] array; string[] array2; string[] array3; MultiValuedProperty <string> multiValuedProperty; switch (bindingType) { case ComplianceBindingType.ExchangeBinding: text = "ExchangeBinding"; text2 = "AllExchangeBindings"; flag = (bool)(base.Fields["AllExchangeBindings"] ?? false); array = (string[])base.Fields["ExchangeBinding"]; array2 = (string[])base.Fields["AddExchangeBinding"]; array3 = (string[])base.Fields["RemoveExchangeBinding"]; multiValuedProperty = dataObject.ExchangeBindings; processedAllBindings = dataObject.AllExchangeBindings; break; case ComplianceBindingType.SharePointBinding: text = "SharePointBinding"; text2 = "AllSharePointBindings"; flag = (bool)(base.Fields["AllSharePointBindings"] ?? false); array = (string[])base.Fields["SharePointBinding"]; array2 = (string[])base.Fields["AddSharePointBinding"]; array3 = (string[])base.Fields["RemoveSharePointBinding"]; multiValuedProperty = dataObject.SharePointBindings; processedAllBindings = dataObject.AllSharePointBindings; break; case ComplianceBindingType.PublicFolderBinding: text = "PublicFolderBinding"; text2 = "AllPublicFolderBindings"; flag = (bool)(base.Fields["AllPublicFolderBindings"] ?? false); array = (string[])base.Fields["PublicFolderBinding"]; array2 = (string[])base.Fields["AddPublicFolderBinding"]; array3 = (string[])base.Fields["RemovePublicFolderBinding"]; multiValuedProperty = dataObject.PublicFolderBindings; processedAllBindings = dataObject.AllPublicFolderBindings; break; default: return(false); } bool result = false; if (base.Fields.IsModified(text)) { result = true; } else if (multiValuedProperty != null) { array = multiValuedProperty.ToArray(); } if (array2 != null && array2.Length > 0) { if (array == null) { array = array2; } else { array = array.Union(array2).ToArray <string>(); } result = true; } if (array3 != null && array3.Length > 0 && array != null) { array = array.Except(array3).ToArray <string>(); result = true; } if (base.Fields.IsModified(text2)) { processedAllBindings = flag; result = true; } if (flag) { if (array != null || multiValuedProperty != null) { this.WriteWarning(Strings.AllSourceMailboxesParameterOverride(text2, text)); } processedBindings = null; } else { processedBindings = array; } return(result); }
public ComplianceJobIdParameter(ComplianceJob job) : this(((ComplianceJobId)job.Identity).Guid) { }
// Token: 0x0600003B RID: 59 RVA: 0x00002F94 File Offset: 0x00001194 private bool HasMoreTasks(OrganizationId organizationId, Guid jobRunId) { ComplianceJob complianceJob = this.GetComplianceJob(organizationId, jobRunId); return(complianceJob.JobStatus != ComplianceJobStatus.NotStarted && complianceJob.JobStatus != ComplianceJobStatus.Starting); }