Пример #1
0
        public void TestGenerationOfFiles()
        {
            var container = new Container(c =>
            {
                c.AddRegistry <MetaDataCreationRegistry>();
                c.For <IHttpGetFile>().Use <HttpService>();
                c.For <IHttpGet>().Use <HttpService>();
                c.For <IProvideSettings>().Use(() => new AppConfigSettingsProvider(new MachineSettings()));
                c.For <ILog>().Use(() => Mock.Of <ILog>());
                c.For <IUnzipStream>().Use <ZipFileExtractor>();
            });

            var larsDataService = container.GetInstance <ILarsDataService>();
            var mockElasticsearchDataService = container.GetInstance <IElasticsearchLarsDataService>();
            var vstsDataService   = container.GetInstance <IVstsService>();
            var settings          = container.GetInstance <IAppServiceSettings>();
            var logger            = container.GetInstance <ILog>();
            var angleSharpService = container.GetInstance <IAngleSharpService>();

            Assert.True(string.IsNullOrEmpty(settings.GitUsername));
            Assert.True(string.IsNullOrEmpty(settings.GitPassword));

            MetaDataManager metaData = new MetaDataManager(larsDataService, mockElasticsearchDataService, vstsDataService, settings, angleSharpService, logger);

            var standardsFromLars = larsDataService.GetListOfCurrentStandards();

            metaData.GenerateStandardMetadataFiles();
            var result = metaData.GetStandardsMetaData();

            result.Count().Should().Be(standardsFromLars.Count());
        }
        public void ShouldUpdateMetadataFromLars()
        {
            var mockLarsDataService          = new Mock <ILarsDataService>();
            var mockElasticsearchDataService = new Mock <IElasticsearchLarsDataService>();
            var mockVstsService       = new Mock <IVstsService>();
            var mockSettings          = new Mock <IAppServiceSettings>();
            var mockAngleSharpService = new Mock <IAngleSharpService>();
            var mockLogger            = new Mock <ILog>(MockBehavior.Loose);

            mockSettings.Setup(x => x.MetadataApiUri).Returns("www.abba.co.uk");

            // Add link
            var larsStandards = new List <LarsStandard> {
                new LarsStandard {
                    Id = 2, Title = "Title1", NotionalEndLevel = 4
                }
            };

            mockElasticsearchDataService.Setup(m => m.GetListOfStandards()).Returns(larsStandards);

            mockAngleSharpService.Setup(m => m.GetLinks("StandardUrl", ".attachment-details h2 a", "Apprenticeship")).Returns(new List <string> {
                "/link/to/ApprenticeshipPDF"
            });
            mockAngleSharpService.Setup(m => m.GetLinks("StandardUrl", ".attachment-details h2 a", "Assessment")).Returns(new List <string> {
                "/link/to/AssessmentPDF"
            });

            var standardsFromRepo = new List <StandardMetaData> {
                new StandardMetaData {
                    Id = 2, Title = "Title1", Published = true
                }, new StandardMetaData {
                    Id = 3, Title = "Title2", Published = true
                }
            };

            mockVstsService.Setup(m => m.GetStandards()).Returns(standardsFromRepo);

            var metaDataManager = new MetaDataManager(mockLarsDataService.Object, mockElasticsearchDataService.Object, mockVstsService.Object, mockSettings.Object, mockAngleSharpService.Object, mockLogger.Object);

            var standardJson = metaDataManager.GetStandardsMetaData();

            var standard = standardJson.FirstOrDefault(m => m.Id == 2);

            standard.NotionalEndLevel.Should().Be(4);

            Assert.That(standardJson, Is.TypeOf <List <StandardMetaData> >());
        }
        public void GetAllAsJsonShouldReturnDictionary()
        {
            // ILarsDataService larsDataService, IVstsService vstsService, IAppServiceSettings settings
            var mockLarsDataService          = new Mock <ILarsDataService>();
            var mockElasticsearchDataService = new Mock <IElasticsearchLarsDataService>();
            var mockVstsService       = new Mock <IVstsService>();
            var mockSettings          = new Mock <IAppServiceSettings>();
            var mockAngleSharpService = new Mock <IAngleSharpService>();
            var mockLogger            = new Mock <ILog>(MockBehavior.Loose);

            mockSettings.Setup(x => x.MetadataApiUri).Returns("www.abba.co.uk");

            var metaDataManager = new MetaDataManager(mockLarsDataService.Object, mockElasticsearchDataService.Object, mockVstsService.Object, mockSettings.Object, mockAngleSharpService.Object, mockLogger.Object);

            var standardJson = metaDataManager.GetStandardsMetaData();

            Assert.That(standardJson, Is.TypeOf <List <StandardMetaData> >());
        }