public void should_not_error_if_it_can_not_find_assemblies_to_doc() { var resourceManager = MockRepository.GenerateMock <IUntransformableResourceManager>(); var generator = new DocumentationGenerator(StubAssemblyLoader, StubXmlLoader, StubParser, StubWriter, resourceManager, StubEventAggregator); generator.SetOutputPath("output-dir"); generator.Generate(); StubWriter.AssertWasNotCalled(x => x.CreatePagesFromDirectory(null, null, null), x => x.Constraints(Is.Anything(), Is.Anything(), Is.Anything())); }
public void should_not_error_if_it_can_not_find_assemblies_to_doc() { var resourceManager = MockRepository.GenerateMock<IUntransformableResourceManager>(); var generator = new DocumentationGenerator(StubAssemblyLoader, StubXmlLoader, StubParser, StubWriter, resourceManager, StubEventAggregator); generator.SetOutputPath("output-dir"); generator.Generate(); StubWriter.AssertWasNotCalled(x => x.CreatePagesFromDirectory(null, null, null), x => x.Constraints(Is.Anything(), Is.Anything(), Is.Anything())); }
public void should_pass_default_output_path_to_writer_if_not_set() { var writer = MockRepository.GenerateMock <IBulkPageWriter>(); var generator = new DocumentationGenerator(StubAssemblyLoader, StubXmlLoader, StubParser, writer, StubResourceManager, StubEventAggregator); generator.SetAssemblies(new[] { "unimportant_file_path" }); generator.Generate(); writer.AssertWasCalled(x => x.CreatePagesFromDirectory(null, null, null), x => x.Constraints(Is.Anything(), Is.Equal("output"), Is.Anything())); }
public void generate_should_pass_assemblies_to_parser_when_set_directly() { var parser = MockRepository.GenerateMock<IAssemblyXmlParser>(); var generator = new DocumentationGenerator(StubAssemblyLoader, StubXmlLoader, parser, StubWriter, StubResourceManager, StubEventAggregator); generator.SetXmlContent(new[] { "content" }); generator.Generate(); parser.AssertWasCalled(x => x.CreateDocumentModel(null, null), x => x.Constraints(Is.Anything(), List.ContainsAll(new[] { "content" }))); }
public void should_pass_default_output_path_to_writer_if_not_set() { var writer = MockRepository.GenerateMock<IBulkPageWriter>(); var generator = new DocumentationGenerator(StubAssemblyLoader, StubXmlLoader, StubParser, writer, StubResourceManager, StubEventAggregator); generator.SetAssemblies(new[] { "unimportant_file_path" }); generator.Generate(); writer.AssertWasCalled(x => x.CreatePagesFromDirectory(null, null, null), x => x.Constraints(Is.Anything(), Is.Equal("output"), Is.Anything())); }
public void generate_should_pass_assemblies_to_parser_when_set_directly() { var parser = MockRepository.GenerateMock <IAssemblyXmlParser>(); var generator = new DocumentationGenerator(StubAssemblyLoader, StubXmlLoader, parser, StubWriter, StubResourceManager, StubEventAggregator); generator.SetAssemblies(new[] { typeof(IAssemblyLoader).Assembly }); generator.Generate(); parser.AssertWasCalled(x => x.CreateDocumentModel(null, null), x => x.Constraints(List.ContainsAll(new[] { typeof(IAssemblyLoader).Assembly }), Is.Anything())); }
public void should_move_untransformable_resources_to_output_dir() { var resourceManager = MockRepository.GenerateMock <IUntransformableResourceManager>(); var generator = new DocumentationGenerator(StubAssemblyLoader, StubXmlLoader, StubParser, StubWriter, resourceManager, StubEventAggregator); generator.SetAssemblies(new[] { "unimportant_file_path" }); generator.SetOutputPath("output-dir"); generator.Generate(); resourceManager.AssertWasCalled(x => x.MoveResources(null, null), x => x.Constraints(Is.Anything(), Is.Equal("output-dir"))); }
public void should_move_untransformable_resources_to_output_dir() { var resourceManager = MockRepository.GenerateMock<IUntransformableResourceManager>(); var generator = new DocumentationGenerator(StubAssemblyLoader, StubXmlLoader, StubParser, StubWriter, resourceManager, StubEventAggregator); generator.SetAssemblies(new[] { "unimportant_file_path" }); generator.SetOutputPath("output-dir"); generator.Generate(); resourceManager.AssertWasCalled(x => x.MoveResources(null, null), x => x.Constraints(Is.Anything(), Is.Equal("output-dir"))); }
public void generate_should_pass_xmls_to_parser_when_set_by_name() { var parser = MockRepository.GenerateMock<IAssemblyXmlParser>(); var generator = new DocumentationGenerator(StubAssemblyLoader, StubXmlLoader, parser, StubWriter, StubResourceManager, StubEventAggregator); StubXmlLoader.Stub(x => x.LoadFrom(null)) .IgnoreArguments() .Return("content"); generator.SetXmlFiles(new[] { "assembly.xml" }); generator.Generate(); parser.AssertWasCalled(x => x.CreateDocumentModel(null, null), x => x.Constraints(Is.Anything(), List.ContainsAll(new[] { "content" }))); }
public void generate_should_pass_xmls_to_parser_when_set_by_name() { var parser = MockRepository.GenerateMock <IAssemblyXmlParser>(); var generator = new DocumentationGenerator(StubAssemblyLoader, StubXmlLoader, parser, StubWriter, StubResourceManager, StubEventAggregator); StubXmlLoader.Stub(x => x.LoadFrom(null)) .IgnoreArguments() .Return("content"); generator.SetXmlFiles(new[] { "assembly.xml" }); generator.Generate(); parser.AssertWasCalled(x => x.CreateDocumentModel(null, null), x => x.Constraints(Is.Anything(), List.ContainsAll(new[] { "content" }))); }
public void generate_should_pass_assemblies_to_parser_when_set_by_name() { var parser = MockRepository.GenerateMock<IAssemblyXmlParser>(); var generator = new DocumentationGenerator(StubAssemblyLoader, StubXmlLoader, parser, StubWriter, StubResourceManager); StubAssemblyLoader.Stub(x => x.LoadFrom(null)) .IgnoreArguments() .Return(typeof(IAssemblyLoader).Assembly); generator.SetAssemblies(new[] { "assembly.dll" }); generator.Generate(); parser.AssertWasCalled(x => x.CreateDocumentModel(null, null), x => x.Constraints(List.ContainsAll(new[] { typeof(IAssemblyLoader).Assembly }), Is.Anything())); }
public void should_pass_document_model_to_writer() { var writer = MockRepository.GenerateMock <IBulkPageWriter>(); var generator = new DocumentationGenerator(StubAssemblyLoader, StubXmlLoader, StubParser, writer, StubResourceManager, StubEventAggregator); var documentModel = new List <Namespace>(); StubParser.Stub(x => x.CreateDocumentModel(null, null)) .IgnoreArguments() .Return(documentModel); generator.SetAssemblies(new [] { "unimportant_file_path" }); generator.Generate(); writer.AssertWasCalled(x => x.CreatePagesFromDirectory(null, null, null), x => x.Constraints(Is.Anything(), Is.Anything(), Is.Equal(documentModel))); }
public void should_pass_document_model_to_writer() { var writer = MockRepository.GenerateMock<IBulkPageWriter>(); var generator = new DocumentationGenerator(StubAssemblyLoader, StubXmlLoader, StubParser, writer, StubResourceManager, StubEventAggregator); var documentModel = new List<Namespace>(); StubParser.Stub(x => x.CreateDocumentModel(null, null)) .IgnoreArguments() .Return(documentModel); generator.SetAssemblies(new []{"unimportant_file_path"}); generator.Generate(); writer.AssertWasCalled(x => x.CreatePagesFromDirectory(null, null, null), x => x.Constraints(Is.Anything(), Is.Anything(), Is.Equal(documentModel))); }
public byte[] Generate(long languageId, UserLanguages userLanguages) { var allMaterialsQuery = new AllMaterialsQuery(languageId, userLanguages, _forbiddenSectionsChecker); Dictionary <SectionId, List <Tuple <long, string, DateTime> > > tupleBySections = allMaterialsQuery.GetDataBySections(); string keyFromContent = GetKeyFromContent(tupleBySections); string zipKey = "AllMaterials" + "_" + keyFromContent + "_" + userLanguages.From.ShortName + "_" + userLanguages.To.ShortName + ".zip"; byte[] result = _cache.Get(zipKey); if (result != null) { return(result); } foreach (var pairBySection in tupleBySections) { SectionId sectionId = pairBySection.Key; string folderName = allMaterialsQuery.GetHeader(sectionId); foreach (var tuple in pairBySection.Value) { DocumentationGenerator generator = GetGenerator(allMaterialsQuery, sectionId, tuple.Item1, tuple.Item2); if (generator == null) { //TODO: логировать и отсылать мне на почту continue; } Stream fileContent = generator.Generate(); if (fileContent == null) { //TODO: логировать и отсылать мне на почту continue; } string entryName = folderName + "/" + generator.FileName; _zipCompressor.AddFileToArchive(entryName, fileContent); } } result = _zipCompressor.GetArchive(); WriteToCache(zipKey, result); return(result); }
public ActionResult Download(UserLanguages userLanguages, DocumentType type) { if (IsInvalid(userLanguages)) { return(RedirectToAction("Index", RouteConfig.MAIN_CONTROLLER_NAME)); } List <SourceWithTranslation> words = GetWords(userLanguages); string header = WebSettingsConfig.Instance.GetTemplateText(SectionId.PopularWord, PageId.Index, TemplateId.Header); var downloader = new PopularWordsDownloader(WebSettingsConfig.Instance.DomainWithProtocol, CommonConstants.GetFontPath(Server)) { Header = header }; DocumentationGenerator documentGenerator = downloader.Download(type, header, words); return(File(documentGenerator.Generate(), documentGenerator.ContentType, documentGenerator.FileName)); }
public ActionResult Download(UserLanguages userLanguages, string group, DocumentType type) { if (UserLanguages.IsInvalid(userLanguages)) { return(RedirectToAction("Index", RouteConfig.VISUAL_DICTIONARIES_CONTROLLER_NAME)); } RepresentationForUser representationForUser = GetRepresentationForUser(userLanguages, group); if (representationForUser == null) { return(RedirectToActionPermanent("Index", RouteConfig.VISUAL_DICTIONARIES_CONTROLLER_NAME)); } var downloader = new VisualDictionaryDownloader(WebSettingsConfig.Instance.DomainWithProtocol, CommonConstants.GetFontPath(Server)); string fileName = string.Format("Визуальный словарь на тему {0}", representationForUser.Title.ToLowerInvariant()); DocumentationGenerator documentGenerator = downloader.Download(type, fileName, representationForUser); return(File(documentGenerator.Generate(), documentGenerator.ContentType, documentGenerator.FileName)); }