public Record Add(IClient client) { bool isnew = false; var record = Records.Find((s) => s.Equals(client)); if (record == null) { isnew = true; record = new Record(); } record.ClientId = client.ClientId; record.Name = client.Name; record.Muzzled = client.Muzzled; record.LastSeen = DateTime.Now; if (record.Trusted && client.IsCaptcha) { record.Trusted = false; } if (isnew) { Records.Add(record); } return(record); }
public async Task ChemicalProcessing_ValidCdxWithThreeRecords_GenerateExpectedRecordsEntityAndRecordsNode() { var records = Harness.GetProcessedRecords(FileId); records.Should().HaveCount(3); foreach (var recordId in records) { var recordView = Records.Find(new BsonDocument("_id", recordId)).FirstOrDefault() as IDictionary <string, object>; recordView.Should().NotBeNull(); var recordBlob = recordView["Blob"]; recordBlob.Should().NotBeNull(); recordBlob.Should().BeAssignableTo <IDictionary <string, object> >(); var recordBlobId = (recordBlob as IDictionary <string, object>)["_id"]; recordBlobId.Should().NotBeNull(); recordBlobId.Should().BeOfType <Guid>(); var index = Convert.ToInt32(recordView["Index"]); index.Should().BeGreaterOrEqualTo(0); var record = await Session.Get <Substance>((Guid)recordId); record.Should().NotBeNull(); record.ShouldBeEquivalentTo(new { Id = recordId, RecordType = RecordType.Structure, Bucket = JohnId.ToString(), BlobId = recordBlobId, OwnedBy = JohnId, CreatedBy = JohnId, CreatedDateTime = DateTimeOffset.UtcNow, UpdatedBy = JohnId, UpdatedDateTime = DateTimeOffset.UtcNow, ParentId = FileId, Status = RecordStatus.Processed, Index = index, //Issues = new List<Generic.Domain.ValueObjects.Issue>() { new Generic.Domain.ValueObjects.Issue { Code = "Code", AuxInfo = "AuxInfo", Message = "Message", Severity = Generic.Domain.ValueObjects.Severity.Information, Title = "Title" } } Issues = new List <Generic.Domain.ValueObjects.Issue>() { } }, options => options .ExcludingMissingMembers() ); record.Images.Should().NotBeNullOrEmpty(); record.Images.Should().ContainSingle(); record.Fields.Should().BeEmpty(); record.Properties.Should().NotBeNullOrEmpty(); record.Properties.Should().HaveCount(9); recordView.Should().EntityShouldBeEquivalentTo(record); var recordNode = Nodes.Find(new BsonDocument("_id", (Guid)recordId)).FirstOrDefault() as IDictionary <string, object>; recordNode.Should().NotBeNull(); recordNode.Should().NodeShouldBeEquivalentTo(record); } }
public async Task SpectrumProcessing_InvalidJdx_GeneratesExpectedRecordEntity() { var file = await Session.Get <RecordsFile.Domain.RecordsFile>(FileId); var recordViews = Records.Find(new BsonDocument("FileId", FileId)).FirstOrDefault() as IDictionary <string, object>; recordViews.Should().BeNull(); }
public async Task ChemicalProcessing_OneValidSdfAndOneInvalid_GenerateExpectedOnlyTwoValidRecords() { var file = await Session.Get <RecordsFile.Domain.RecordsFile>(FileId); var recordViews = Records.Find(new BsonDocument("FileId", FileId)).ToList(); recordViews.Should().NotBeNullOrEmpty(); recordViews.Should().HaveCount(2); }
public async Task ChemicalProcessing_ValidMol_GenerateExpectedRecordEntity() { var recordId = Harness.GetProcessedRecords(FileId).First(); var record = await Session.Get <Substance>(recordId); var recordView = Records.Find(new BsonDocument("_id", recordId)).FirstOrDefault() as IDictionary <string, object>; recordView.Should().EntityShouldBeEquivalentTo(record); }
public async Task SpectrumProcessing_ValidJdx_ExpectedRecordEntity() { var recordId = Fixture.GetProcessedRecords(FileId).First(); var record = await Session.Get <Spectrum>(recordId); var recordView = Records.Find(new BsonDocument("_id", recordId)).FirstOrDefault() as IDictionary <string, object>; recordView.Should().NotBeNull(); recordView.Should().EntityShouldBeEquivalentTo(record); }
public void AdminDeleteCourse(int courseId) { var course = Records.Find(courseId); if (course == null) { throw new CustomDbException("Course not found."); } Delete(course); }
public void ChemicalProcessing_InvalidMol_GenerateExpectedRecordEntity() { var recordId = Fixture.GetInvalidRecords(FileId).First(); recordId.Should().NotBeEmpty(); var recordEntity = Records.Find(new BsonDocument("_id", recordId)).FirstOrDefault() as IDictionary <string, object>; recordEntity.Should().NotBeNull(); }
public ActionResult Show(int artistId, int recordId) { Records records = Records.Find(recordId); Artists artist = Artists.Find(artistId); Dictionary <string, object> model = new Dictionary <string, object>(); model.Add("records", records); model.Add("artists", artist); return(View(model)); }
public async void CrystalProcessing_InvalidCif_GenerateExpectedRecordEntity() { var recordView = Records.Find(new BsonDocument("FileId", FileId)).FirstOrDefault() as IDictionary <string, object>; recordView.Should().NotBeNull(); var recordId = Fixture.GetProcessedRecords(FileId).First(); var record = await Session.Get <Crystal>(recordId); recordView.Should().EntityShouldBeEquivalentTo(record); }
public async Task ReactionProcessing_ValidRxn_GenerateExpectedRecordEntity() { var recordView = Records.Find(new BsonDocument("FileId", FileId)).FirstOrDefault() as IDictionary <string, object>; recordView.Should().NotBeNull(); var recordId = Harness.GetProcessedRecords(FileId).First(); var record = await Session.Get <Reaction>(recordId); recordView.Should().EntityShouldBeEquivalentTo(record); }
public async Task ChemicalProcessing_OneValidSdfAndOneInvalid_GenerateExpectedRecordEntity() { var recordId = Fixture.GetProcessedRecords(FileId).First(); var validRecord = await Session.Get <Substance>(recordId); var recordEntity = Records.Find(new BsonDocument("_id", recordId)).FirstOrDefault() as IDictionary <string, object>; recordEntity.Should().NotBeNull(); recordEntity.Should().EntityShouldBeEquivalentTo(validRecord); }
public async Task ChemicalProcessing_InvalidSdfWithTwentyRecords_GenerateExpectedRecordEntity() { var recordId = Harness.GetInvalidRecords(FileId).First(); var invalidRecord = await Session.Get <InvalidRecord>(recordId); invalidRecord.Should().NotBeNull(); var recordEntity = Records.Find(new BsonDocument("_id", recordId)).FirstOrDefault() as IDictionary <string, object>; recordEntity.Should().NotBeNull().And.EntityShouldBeEquivalentTo(invalidRecord); }
public async Task ChemicalProcessing_OneValidSdfAndOneInvalid_GenerateExpectedInvalidRecordEntity() { var recordId = Harness.GetInvalidRecords(FileId).First(); var invalidRecord = await Session.Get <InvalidRecord>(recordId); var file = await Session.Get <RecordsFile.Domain.RecordsFile>(FileId); var recordEntity = Records.Find(new BsonDocument("_id", recordId)).FirstOrDefault() as IDictionary <string, object>; recordEntity.Should().NotBeNull(); recordEntity.Should().EntityShouldBeEquivalentTo(invalidRecord); }
public IEnumerable<Course> GetEnrolledCourses(int studentId) { if (Records.Find(studentId) == null) { throw new CustomDbException("Student not found."); } var courses = context.Enrolls .Where(x => x.UserId == studentId) .Include(x => x.Course) .Select(x => x.Course) .Include(x => x.Publisher); return courses; }
//[Fact(DisplayName = "Delete entity. When delete record it should be deleted")] public async Task When_delete_record_it_should_be_deleted() { var record = await Records.Find(new BsonDocument("FileId", _fileId)) .Project <DeletedEntity>("{IsDeleted:1, Version:1}") .FirstOrDefaultAsync(); var res = await Harness.DeleteRecord(record.Id, UserId, record.Version); res.Should().BeTrue(); (await Records.Find(new BsonDocument("_id", record.Id)) .Project <DeletedEntity>("{IsDeleted:1}") .FirstOrDefaultAsync()) .IsDeleted.Should().BeTrue(); (await GetNode(record.Id)) .IsDeleted.Should().BeTrue(); }
//[Fact(DisplayName = "Delete entity. When delete file: records inside should be deleted")] public async Task When_delete_file_records_inside_should_be_deleted() { var res = await Harness.DeleteFile(_fileId, UserId, _fileVersion); res.Should().BeTrue(); (await Records.Find(new BsonDocument("FileId", _fileId)) .Project <DeletedEntity>("{IsDeleted:1}") .ToListAsync()) .Should().NotBeEmpty() .And.HaveCount(1) .And.OnlyContain(x => x.IsDeleted); (await GetNodes(_fileId)) .Should().NotBeEmpty() .And.HaveCount(1) .And.OnlyContain(x => x.IsDeleted); }
public async Task WebPageProcessing_ChemicalWikiPage_GeneratesOneChemicalSubstance() { var startTime = DateTimeOffset.UtcNow; var pageId = await LoadWebPage(UserId, UserId.ToString(), "https://en.wikipedia.org/wiki/Aspirin"); var finished = await Harness.WaitWhileAllProcessed(); //var missed = await GetMissedMessages(); finished.Should().BeTrue(); var fileView = Files.Find(new BsonDocument("_id", pageId)).FirstOrDefault() as IDictionary <string, object>; fileView.Should().NotBeNull(); var blob = fileView["Blob"] as IDictionary <string, object>; var blobInfo = await BlobStorage.GetFileInfo((Guid)blob["_id"], UserId.ToString()); blobInfo.Should().NotBeNull(); var fileId = fileView["_id"]; fileId.Should().NotBeNull().And.BeOfType <Guid>(); var file = await Session.Get <WebPage.Domain.WebPage>((Guid)fileId); file.Should().NotBeNull().And.ShouldBeEquivalentTo(new { Id = fileId, Type = FileType.WebPage, Bucket = UserId.ToString(), BlobId = pageId, OwnedBy = UserId, CreatedBy = UserId, CreatedDateTime = DateTimeOffset.UtcNow, UpdatedBy = UserId, UpdatedDateTime = DateTimeOffset.UtcNow, ParentId = UserId, FileName = blobInfo.FileName, Lenght = blobInfo.Length, Md5 = blobInfo.MD5, IsDeleted = false, Status = FileStatus.Processed }, options => options .ExcludingMissingMembers() .Using <DateTimeOffset>(ctx => ctx.Subject.Should().BeCloseTo(ctx.Expectation, 5000)).WhenTypeIs <DateTimeOffset>() ); fileView.Should().WebPageEntityShouldBeEquivalentTo(file); var fileNode = Nodes.Find(new BsonDocument("_id", (Guid)fileId)).FirstOrDefault() as IDictionary <string, object>; fileNode.Should().NotBeNull().And.WebNodeShouldBeEquivalentTo(file); var recordView = Records.Find(new BsonDocument("FileId", (Guid)fileId)).FirstOrDefault() as IDictionary <string, object>; recordView.Should().NotBeNull(); var recordBlob = recordView["Blob"]; recordBlob.Should().NotBeNull().And.BeAssignableTo <IDictionary <string, object> >(); var recordBlobId = (recordBlob as IDictionary <string, object>)["_id"]; recordBlobId.Should().NotBeNull().And.BeOfType <Guid>(); var recordId = recordView["_id"]; recordId.Should().NotBeNull().And.BeOfType <Guid>(); var record = await Session.Get <Substance>((Guid)recordId); record.Should().NotBeNull(); record.ShouldBeEquivalentTo(new { Id = recordId, RecordType = RecordType.Structure, Bucket = UserId.ToString(), BlobId = recordBlobId, OwnedBy = UserId, CreatedBy = UserId, CreatedDateTime = startTime, UpdatedBy = UserId, UpdatedDateTime = startTime, ParentId = fileId, Status = RecordStatus.Processed, Index = 0, Issues = new List <Issue>() { new Issue { Code = "Code", AuxInfo = "AuxInfo", Message = "Message", Severity = Severity.Information, Title = "Title" } } }, options => options .ExcludingMissingMembers() .Using <DateTimeOffset>(ctx => ctx.Subject.Should().BeCloseTo(ctx.Expectation, 5000)).WhenTypeIs <DateTimeOffset>() ); record.Images.Should().NotBeNullOrEmpty().And.ContainSingle(); record.Fields.Should().NotBeNullOrEmpty().And.HaveCount(3); record.Properties.Should().NotBeNullOrEmpty().And.HaveCount(9); recordView.Should().EntityShouldBeEquivalentTo(record); var recordNode = Nodes.Find(new BsonDocument("_id", (Guid)recordId)).FirstOrDefault() as IDictionary <string, object>; recordNode.Should().NotBeNull().And.NodeShouldBeEquivalentTo(record); }
public override IEnumerable <KeyValuePair <TKey, TValue> > Find(TKey key) { return(Records.Find(key)); }
public void CrystalProcessing_InvalidCif_GenerateExpectedRecordEntity() { var recordViews = Records.Find(new BsonDocument("FileId", FileId)).FirstOrDefault() as IDictionary <string, object>; recordViews.Should().BeNull(); }