Ejemplo n.º 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 GenerateStandardMetadataFilesTestShouldPushOnlyMissingStandardsToGit()
        {
            // 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 mockLogger      = new Mock <ILog>(MockBehavior.Loose);

            List <FileContents> standardsToAdd = null;

            var currentStandards = new List <LarsStandard>
            {
                new LarsStandard {
                    Id = 1, Title = "One"
                },
                new LarsStandard {
                    Id = 2, Title = "Two"
                },
                new LarsStandard {
                    Id = 3, Title = "Three"
                }
            };
            var existingMetaDataIds = new List <string> {
                "1", "2"
            };

            mockLarsDataService.Setup(x => x.GetListOfCurrentStandards()).Returns(currentStandards);
            mockVstsService.Setup(x => x.GetExistingStandardIds()).Returns(existingMetaDataIds);
            mockVstsService.Setup(x => x.PushCommit(It.IsAny <List <FileContents> >())).Callback <List <FileContents> >(x => { standardsToAdd = x; });

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

            metaDataManager.GenerateStandardMetadataFiles();

            Assert.That(standardsToAdd.Count, Is.EqualTo(1));
        }