/// <summary>
        /// Instantiates a runner which runs <see cref="Hoverfly"/> in capture mode.
        /// </summary>
        /// <param name="output">The <see cref="ISimulationDestinationSource"/> to store recorded simulations.</param>
        /// <param name="hoverflyConfig">The hoverfly configuration.</param>
        /// <returns>Returns <see cref="HoverflyRunner"/>.</returns>
        public static HoverflyRunner StartInCaptureMode(ISimulationDestinationSource output, HoverflyConfig hoverflyConfig)
        {
            var hoverflyRunner = new HoverflyRunner(output, hoverflyConfig);

            hoverflyRunner.Start();
            return(hoverflyRunner);
        }
 private HoverflyRunner(ISimulationDestinationSource simulationDestinationSource, HoverflyConfig hoverflyConfig)
 {
     _hoverflyMode                = HoverflyMode.Capture;
     _hoverfly                    = new Hoverfly(_hoverflyMode, hoverflyConfig);
     _simulationSource            = null;
     _simulationDestinationSource = simulationDestinationSource;
 }
 private HoverflyRunner(HoverflyMode hoverflyMode, ISimulationSource simulationSource, HoverflyConfig hoverflyConfig)
 {
     _hoverflyMode                = hoverflyMode;
     _hoverfly                    = new Hoverfly(_hoverflyMode, hoverflyConfig);
     _simulationSource            = simulationSource;
     _simulationDestinationSource = null;
 }
示例#4
0
        /// <summary>
        /// Export hoverfly captured or simulated simulations.
        /// </summary>
        /// <param name="destinationSource">The destination source to where to export the simulation data.</param>
        public void ExportSimulation(ISimulationDestinationSource destinationSource)
        {
            if (destinationSource == null)
            {
                throw new ArgumentNullException(nameof(destinationSource));
            }

            LogInfo("Exporting simulation data from Hoverfly.");

            try
            {
                var simulation = _hoverflyClient.GetSimulation();
                destinationSource.SaveSimulation(simulation);
            }
            catch (Exception e)
            {
                throw new SimulationExportException($"Can't export simulation, reason: {e}", e);
            }
        }
 /// <summary>
 /// Instantiates a runner which runs <see cref="Hoverfly"/> in capture mode.
 /// </summary>
 /// <param name="output">The <see cref="ISimulationDestinationSource"/> to store recorded simulations.</param>
 /// <returns>Returns <see cref="HoverflyRunner"/>.</returns>
 public static HoverflyRunner StartInCaptureMode(ISimulationDestinationSource output)
 {
     return(StartInCaptureMode(output, HoverflyConfig.Config()));
 }