public async Task WritesWithCustomAttributeConvertersAsync() { var writerService = new CsvWriterService(); var attributes = new List <CustomAttribute>(); for (var i = 0; i < 3; i++) { attributes.Add(new CustomAttribute { Value = $"Attribute{i + 1}" }); } var operations = new List <Operation>(); for (var i = 0; i < 5; i++) { var operation = new Operation { Id = i + 1, Name = $"Operation {i + 1}", Enabled = true }; for (var j = 0; j < 5; j++) { operation.Attributes[$"Attribute{j + 1}"] = $"Value {j + 1}"; } operations.Add(operation); } var temporaryFileContext = new TemporaryFilesContext($"{nameof(CsvWriterServiceFacts)}_{nameof(WritesWithCustomAttributeConvertersAsync)}"); var fileName = temporaryFileContext.GetFile("operations.csv"); var classMap = new OperationMap(); classMap.Initialize(attributes.Select(x => x.Value)); var csvContext = new CsvContext <Operation> { ClassMap = classMap }; using (var stream = File.Create(fileName)) { using (var textWriter = new StreamWriter(stream)) { var csvWriter = new CsvWriter(textWriter); csvWriter.Configuration.RegisterClassMap(classMap); csvWriter.WriteRecords(operations); } } await writerService.WriteRecordsAsync(operations, fileName, csvContext); Approvals.VerifyFile(fileName); }
public NetworkOperationWriter(OperationMap map, ISerializationService serializer, IOperationTransport transport) { _map = map; _serializer = serializer; _transport = transport; }
protected ServerContextBase(ISerializer serializer) { Serializer = serializer; OperationMap = new OperationMap(); OperationsComponentMap = new ComponentMap(); }
public void ShouldRetrieveOperationByType() { var map = new OperationMap(); var mappedOperation = map.MapOperation(typeof(TestOperation)); map.GetMappedOperation(mappedOperation.OperationType).ShouldBe(mappedOperation); }
public void ShouldMapOperations() { var map = new OperationMap(); var mappedOperation = map.MapOperation(typeof(TestOperation)); mappedOperation.OperationType.ShouldBe(typeof(TestOperation)); }
public void SetupFixture() { _map = new OperationMap(); _map.MapOperation(typeof(TestOperation)); _map.MapOperation(typeof(TestOperationWithResponse)); _serializer = new SerializationService(new BinarySerializer()); }
public void Setup() { OperationMap.MapOperationsInAssembly(typeof(CreateComponentOperation).Assembly); var builder = new ContainerBuilder(); ConfigureContainer(builder); Container = builder.Build(); }
public void ShouldFailInTryingToFindOperationByName() { var map = new OperationMap(); Type foundType; var success = map.TryGetMappedOperation("InvalidOperationType", out foundType); success.ShouldBeFalse(); foundType.ShouldBeNull(); }
public OperationSystem(OperationMap map, ISerializationService serializer, IOperationTransport transport, Func <Type, IOperationHandler> handlerFactory) { var writer = new NetworkOperationWriter(map, serializer, transport); var reader = new NetworkOperationReader(map, serializer); var activeOperations = new ActiveOperationsManager(); Dispatcher = new OperationDispatcher(activeOperations, writer); Processor = new OperationProcessor(new OperationService(activeOperations, writer, handlerFactory), reader); }
public void ShouldSucceedInTryingToFindOperationByName() { var map = new OperationMap(); var mappedOperation = map.MapOperation(typeof(TestOperation)); Type foundType; var success = map.TryGetMappedOperation("TestOperation", out foundType); success.ShouldBeTrue(); foundType.ShouldBe(mappedOperation.OperationType); }
public NetworkOperationReader(OperationMap map, ISerializationService serializer) { _map = map; _serializer = serializer; }
public void SetupFixture() { _map = new OperationMap(); _map.MapOperation(typeof(TestOperation)); _map.MapOperation(typeof(TestOperationWithResponse)); }
public OperationMapInfo Operation(string typeName) { MapPermission.ViewMap.AssertAuthorized(); return(OperationMap.GetOperationMapInfo(TypeLogic.GetType(typeName))); }
/// <summary> /// Actually does the file moves. /// </summary> protected override void DoFileOperations() { // If the operation map is empty, exit (return) the method. if (OperationMap.Count <= 0) { return; } // loop thru our file list for (int i = 0; i < OperationMap.Count; i++) { // Setup a temporary var to hold the current file operation // details. FileOperation currentOperation = OperationMap[i]; if (currentOperation.SourceIsIdenticalToTarget()) { Log(Level.Warning, String.Format("Skipping self-move of {0}.", currentOperation.Source)); continue; } try { Log(Level.Verbose, "Moving {0}.", currentOperation.ToString()); string destinationDirectory = null; switch (currentOperation.OperationType) { case OperationType.FileToFile: // Setup the dest directory var destinationDirectory = Path.GetDirectoryName(currentOperation.Target); // create directory if not present if (!Directory.Exists(destinationDirectory)) { Directory.CreateDirectory(destinationDirectory); Log(Level.Verbose, "Created directory '{0}'.", destinationDirectory); } // Ensure the target file is removed before // attempting to move. if (File.Exists(currentOperation.Target)) { File.Delete(currentOperation.Target); } // move the file with filters FileUtils.MoveFile(currentOperation.Source, currentOperation.Target, Filters, InputEncoding, OutputEncoding); break; case OperationType.FileToDirectory: // Setup the dest directory var destinationDirectory = currentOperation.Target; // Setup a local var that combines the directory // of the target path with the source file name. string targetFile = Path.Combine(destinationDirectory, Path.GetFileName(currentOperation.Source)); // create directory if not present if (!Directory.Exists(destinationDirectory)) { Directory.CreateDirectory(destinationDirectory); Log(Level.Verbose, "Created directory '{0}'.", destinationDirectory); } // Ensure the target file is removed before // attempting to move. if (File.Exists(targetFile)) { File.Delete(targetFile); } // move the file with filters FileUtils.MoveFile(currentOperation.Source, targetFile, Filters, InputEncoding, OutputEncoding); break; case OperationType.DirectoryToDirectory: // Move over the entire directory with filters FileUtils.MoveDirectory(currentOperation.Source, currentOperation.Target, Filters, InputEncoding, OutputEncoding); break; default: throw new BuildException("Unrecognized move operation. " + "The move task can only move a file to file, " + "file to directory, or directory to directory."); } } catch (IOException ex) { throw new BuildException(string.Format(CultureInfo.InvariantCulture, "Failed to move {0}.", currentOperation.ToString()), Location, ex); } } int fileMovements = OperationMap.CountFileOperations(); int dirMovements = OperationMap.CountDirectoryOperations(); if (fileMovements > 0) { Log(Level.Info, "{0} file{1} moved.", fileMovements, fileMovements != 1 ? "s" : ""); } if (dirMovements > 0) { Log(Level.Info, "{0} {1} moved.", dirMovements, dirMovements != 1 ? "directories" : "directory"); } }