Esempio n. 1
0
        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);
            }
        }
Esempio n. 3
0
        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();
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        public void AdminDeleteCourse(int courseId)
        {
            var course = Records.Find(courseId);

            if (course == null)
            {
                throw new CustomDbException("Course not found.");
            }
            Delete(course);
        }
Esempio n. 8
0
        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();
        }
Esempio n. 9
0
        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);
        }
Esempio n. 11
0
        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);
        }
Esempio n. 12
0
        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);
        }
Esempio n. 13
0
        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);
        }
Esempio n. 15
0
 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;
 }
Esempio n. 16
0
        //[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();
        }
Esempio n. 17
0
        //[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);
        }
Esempio n. 18
0
        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);
        }
Esempio n. 19
0
 public override IEnumerable <KeyValuePair <TKey, TValue> > Find(TKey key)
 {
     return(Records.Find(key));
 }
Esempio n. 20
0
        public void CrystalProcessing_InvalidCif_GenerateExpectedRecordEntity()
        {
            var recordViews = Records.Find(new BsonDocument("FileId", FileId)).FirstOrDefault() as IDictionary <string, object>;

            recordViews.Should().BeNull();
        }