コード例 #1
0
        public void Should_throw_invalid_operation_exception_when_production_area_does_not_exist_and_not_using_transformer()
        {
            using (var store = NewDocumentStore())
            {
                new ProductionAreaTransformer().Execute(store);

                using (var session = store.OpenSession())
                {
                    // Arrange
                    var productionArea = new ProductionArea {
                        Name = "Production Area 1"
                    };
                    session.Store(productionArea);
                    var productionAreaId = productionArea.Id;
                    session.SaveChanges();

                    var service = new ProducerService(session);

                    // Act
                    const string badProductionAreaId = "ProductionAreas-9999";

                    // Assert
                    Assert.Throws <InvalidOperationException>(() => service.GetProductionAreaWithoutTransformer(badProductionAreaId));
                }
            }
        }
コード例 #2
0
ファイル: UploadController.cs プロジェクト: ipax77/sc2dsstats
 public UploadController(sc2dsstatsContext context, ProducerService producerService, CacheService cacheService, ILogger <UploadController> logger)
 {
     this.context         = context;
     this.producerService = producerService;
     this.cacheService    = cacheService;
     this.logger          = logger;
 }
コード例 #3
0
        public void Should_return_production_area()
        {
            using (var store = NewDocumentStore())
            {
                new ProductionAreaTransformer().Execute(store);

                using (var session = store.OpenSession())
                {
                    // Arrange
                    var productionArea = new ProductionArea {
                        Name = "Production Area 1"
                    };
                    session.Store(productionArea);
                    var productionAreaId = productionArea.Id;
                    session.SaveChanges();

                    var service = new ProducerService(session);

                    // Act
                    var dto = service.GetProductionAreaWithTransformer(productionAreaId);

                    // Assert
                    Assert.NotNull(dto);
                }
            }
        }
コード例 #4
0
        public void Setup()
        {
            mailer         = new Mailer();
            sessionFactory = FixtureSetup.sessionFactory;
            service        = new ProducerService(sessionFactory, mailer);
            localSession   = sessionFactory.OpenSession();

            CreateExclude();
        }
コード例 #5
0
        public void Handler(string message)
        {
            var orderRequestEventReceived = JsonConvert.DeserializeObject <OrderRequestEvent>(message);

            // Validate ...
            // Processing ...
            // Saving Database ...

            // Compensation
            ProducerService.Producer("FlightRequestFailedEvent", orderRequestEventReceived);
        }
コード例 #6
0
        static async Task Main(string[] args)
        {
            var service = new ProducerService <Order>();

            while (true)
            {
                Console.WriteLine(await service.Run("mytopic", new Order()
                {
                    Id = 666, Amount = 155.00m, Client = "Diego"
                }));
            }
        }
コード例 #7
0
        public void GetProducerBy_ShouldCallRepository_WhenValidParametersPassed()
        {
            var name = "Steven Spielberg";
            var producerRepositoryMock = new Mock <IRepository <Producer> >();
            var unitOfWorkMock         = new Mock <IUnitOfWork>();
            var producerFactoryMock    = new Mock <IProducerFactory>();
            var producerService        = new ProducerService(
                producerRepositoryMock.Object, unitOfWorkMock.Object, producerFactoryMock.Object);

            producerService.GetProducerBy(name);

            producerRepositoryMock.Verify(r => r.Entities, Times.Once);
        }
コード例 #8
0
        public void CreateProducer_ShouldCallUnitOfWorkCommitMethod_WhenValidParametersPassed()
        {
            var name = "Steven Spielberg";
            var producerRepositoryMock = new Mock <IRepository <Producer> >();
            var unitOfWorkMock         = new Mock <IUnitOfWork>();
            var producerFactoryMock    = new Mock <IProducerFactory>();
            var producerService        = new ProducerService(
                producerRepositoryMock.Object, unitOfWorkMock.Object, producerFactoryMock.Object);

            producerService.CreateProducer(name);

            unitOfWorkMock.Verify(u => u.Commit(), Times.Once);
        }
コード例 #9
0
ファイル: Main.cs プロジェクト: kdcllc/Bet.Azure
 public Main(
     ProducerService producerService,
     ConsumerService consumerService,
     IHostApplicationLifetime applicationLifetime,
     IConfiguration configuration,
     ILogger <Main> logger)
 {
     _producerService     = producerService;
     _consumerService     = consumerService;
     _applicationLifetime = applicationLifetime ?? throw new ArgumentNullException(nameof(applicationLifetime));
     Configuration        = configuration ?? throw new ArgumentNullException(nameof(configuration));
     _logger = logger ?? throw new ArgumentNullException(nameof(logger));
 }
コード例 #10
0
        public async Task ProducerConsumerIntegrationTest()
        {
            //arrange
            var car = new Car
            {
                BrandName     = "Jeep",
                Model         = "2017",
                IsSportCar    = true,
                NumberOfDoors = 2
            };

            var message = JsonConvert.SerializeObject(car);

            //producer
            var config            = new ProducerConfiguration();
            var producerConfig    = config.CreateConfig();
            var producer          = config.CreateProducer(producerConfig);
            var producerService   = new ProducerService();
            var deleveredResponse = await producerService.SendMessage(producer, "cars", message);

            Assert.IsNotNull(deleveredResponse);
            Assert.IsNotNull(deleveredResponse.TopicOffset);
            Assert.AreEqual(message, deleveredResponse.Result);
            var carResponse = JsonConvert.DeserializeObject <Car>(deleveredResponse.Result);

            Assert.AreEqual(car.BrandName, carResponse.BrandName);
            Assert.AreEqual(car.Model, carResponse.Model);
            Assert.AreEqual(car.IsSportCar, carResponse.IsSportCar);
            Assert.AreEqual(car.NumberOfDoors, carResponse.NumberOfDoors);

            //Consumer
            var consumerServiceConfig = new ConsumerServiceConfig();
            var consumerConfig        = consumerServiceConfig.CreateConfig();
            var consumerService       = new ConsumerService();
            // CancellationTokenSource cts = new CancellationTokenSource();
            var consumerResult = consumerService.CreateConsumerAndConsumeSingleMessage(consumerConfig, "cars", CancellationToken.None);

            Assert.IsNotNull(consumerResult);

            Assert.IsNotNull(consumerResult.TopicOffset);
            Assert.AreEqual(message, consumerResult.Message);
            var carConsumerResponse = JsonConvert.DeserializeObject <Car>(deleveredResponse.Result);

            Assert.IsNotNull(carConsumerResponse);
            Assert.AreEqual(car.BrandName, carConsumerResponse.BrandName);
            Assert.AreEqual(car.Model, carConsumerResponse.Model);
            Assert.AreEqual(car.IsSportCar, carConsumerResponse.IsSportCar);
            Assert.AreEqual(car.NumberOfDoors, carConsumerResponse.NumberOfDoors);
        }
コード例 #11
0
        static async Task Main(string[] args)
        {
            var config = new ProducerConfig()
            {
                BootstrapServers = "localhost:9092,localhost:9093,localhost:9094",
                Acks             = Acks.All,
                MaxInFlight      = 5
            };
            var service = new ProducerService <string>(config);

            for (int i = 0; i < 12000; i++)
            {
                Console.WriteLine(await service.Run("mytopic", i.ToString()));
            }
        }
コード例 #12
0
        public void CreateProducer_ShouldReturnCorrectProducer_WhenValidParametersPassed()
        {
            var name = "Steven Spielberg";
            var producerRepositoryMock = new Mock <IRepository <Producer> >();
            var unitOfWorkMock         = new Mock <IUnitOfWork>();
            var producerFactoryMock    = new Mock <IProducerFactory>();
            var producer = new Producer(name);

            producerFactoryMock.Setup(f => f.CreateProducer(name)).Returns(producer);
            var producerService = new ProducerService(
                producerRepositoryMock.Object, unitOfWorkMock.Object, producerFactoryMock.Object);

            var returnedProducer = producerService.CreateProducer(name);

            Assert.AreSame(producer, returnedProducer);
        }
コード例 #13
0
        public void AddProducers_ShouldCallRepositoryAddMethod_WhenValidParametersPassed()
        {
            var producerRepositoryMock = new Mock <IRepository <Producer> >();
            var unitOfWorkMock         = new Mock <IUnitOfWork>();
            var producerFactoryMock    = new Mock <IProducerFactory>();
            var producerService        = new ProducerService(
                producerRepositoryMock.Object, unitOfWorkMock.Object, producerFactoryMock.Object);
            var producers = new List <Producer>()
            {
                new Producer("James Cameron"),
                new Producer("Steven Spielberg")
            };

            producerService.AddProducers(producers);

            producerRepositoryMock.Verify(r => r.Add(It.IsAny <Producer>()), Times.Exactly(producers.Count));
        }
コード例 #14
0
        public void AddProducers_ShouldCallUnitOfWorkCommitMethod_WhenValidParametersPassed()
        {
            var producerRepositoryMock = new Mock <IRepository <Producer> >();
            var unitOfWorkMock         = new Mock <IUnitOfWork>();
            var producerFactoryMock    = new Mock <IProducerFactory>();
            var producerService        = new ProducerService(
                producerRepositoryMock.Object, unitOfWorkMock.Object, producerFactoryMock.Object);

            var producers = new List <Producer>()
            {
                new Producer("James Cameron"),
                new Producer("Steven Spielberg")
            };

            producerService.AddProducers(producers);

            unitOfWorkMock.Verify(n => n.Commit(), Times.Once);
        }
コード例 #15
0
        public void Handler(string message)
        {
            var orderRequestEventReceived = JsonConvert.DeserializeObject <OrderRequestEvent>(message);

            // Validate ...
            // Processing ...
            // Saving Database ...

            //if success
            if (orderRequestEventReceived.FlightId > 0)
            {
                ProducerService.Producer("FlightRequestSucceedEvent", orderRequestEventReceived);
            }
            //if failed
            else
            {
                ProducerService.Producer("FlightRequestFailedEvent", orderRequestEventReceived);
            }
        }
コード例 #16
0
ファイル: TestHostService.cs プロジェクト: zswx35775/DMS
        /// <summary>
        ///
        /// </summary>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public Task StartAsync(CancellationToken cancellationToken)
        {
            ProducerService producerService = new ProducerService();
            var             input           = Input();

            while (input != "exit")
            {
                var model = new MessageBModel
                {
                    CreateDateTime = DateTime.Now,
                    Msg            = input
                };

                producerService.Publish(model, "DMS.QueueA");

                input = Input();
            }

            return(Task.CompletedTask);
        }
コード例 #17
0
        public void Handler(string message)
        {
            //throw new NotImplementedException();

            var orderRequestEventReceived = JsonConvert.DeserializeObject <OrderRequestEvent>(message);

            // Validate ...
            // Processing ...
            // Saving Database ...

            //if success
            if (orderRequestEventReceived.HotelId > 0 && orderRequestEventReceived.HotelRoomId > 0)
            {
                ProducerService.Producer("HotelRequestSucceedEvent", orderRequestEventReceived);
            }
            //if failed
            else
            {
                ProducerService.Producer("HotelRequestFailedEvent", orderRequestEventReceived);
            }
        }
コード例 #18
0
        public void GetProducerBy_ShouldReturnCorrectProducer_WhenValidParametersPassed()
        {
            var name = "Steven Spielberg";
            var producerRepositoryMock = new Mock <IRepository <Producer> >();
            var unitOfWorkMock         = new Mock <IUnitOfWork>();
            var producerFactoryMock    = new Mock <IProducerFactory>();
            var producer = new Producer(name);
            var list     = new List <Producer>()
            {
                producer
            };
            var queryableProducers = list.AsQueryable();

            producerRepositoryMock.Setup(r => r.Entities).Returns(queryableProducers);
            var producerService = new ProducerService(
                producerRepositoryMock.Object, unitOfWorkMock.Object, producerFactoryMock.Object);

            var returnedProducer = producerService.GetProducerBy(name);

            Assert.AreSame(producer, returnedProducer);
        }
コード例 #19
0
        public void Handler(string message)
        {
            var orderRequestEventReceived = JsonConvert.DeserializeObject <OrderRequestEvent>(message);

            // Validate ...
            // Processing ...
            // Saving Database ...

            var orderContext = new OrderContext(Program.mongoDBconfig);
            var repo         = new OrderRepository(orderContext);

            var orderItem = repo.GetOrder(orderRequestEventReceived.Id).Result;

            if (orderItem != null)
            {
                orderItem.Status = "Failed";
                var resultUpdate = repo.Update(orderItem);
            }

            // Compensation
            ProducerService.Producer("OrderRequestFailedEvent", orderRequestEventReceived);
        }
コード例 #20
0
        private static async Task DreamStream(Message[] messages, string topic)
        {
            Variables.AmountOfMessagesVariable = EnvironmentVariables.AmountOfMessagesVariable;
            Variables.BatchTimerVariable       = EnvironmentVariables.BatchTimerVariable;
            Variables.BatchingSizeVariable     = EnvironmentVariables.BatchingSizeVariable;
            var delay    = EnvironmentVariables.DelayInMillisecond;
            var producer = await ProducerService.Setup("http://etcd");

            var messageHeaders = await producer.GetMessageHeaders(messages, topic);

            var stopwatch = new Stopwatch();
            var lastRun   = -1;

            while (true)
            {
                var time = DateTime.Now;
                if (time.Second != lastRun)
                {
                    var loadPercentage = EnvironmentVariables.Scenario[time.Minute];
                    lastRun = time.Second;

                    stopwatch.Reset();
                    stopwatch.Start();

                    var tasks = Enumerable.Range(0, messageHeaders.Length / 100 * loadPercentage)
                                .Select(i => producer.Publish(messageHeaders[i], messages[i]));
                    await Task.WhenAll(tasks);

                    stopwatch.Stop();
                    ProducerRunTime.WithLabels("Dream-Stream").Set(stopwatch.ElapsedMilliseconds);
                    MessagesPublished.WithLabels("Dream-Stream").Inc(messages.Length);
                }

                await Task.Delay(delay); //Delay added for test of timer on batches
            }
        }
コード例 #21
0
        public async Task SendMessage_WithValidParameter_ShouldSucceed()
        {
            //arrange
            var car = new Car
            {
                BrandName     = "Jeep",
                Model         = "2017",
                IsSportCar    = true,
                NumberOfDoors = 2
            };

            var message        = JsonConvert.SerializeObject(car);
            var deliveryResult = new DeliveryResult <string, string>
            {
                Message = new Message <string, string>
                {
                    Value = message,
                }
            };

            producerMock.Setup(x => x.ProduceAsync(It.IsAny <string>(), It.IsAny <Message <string, string> >(), CancellationToken.None))
            .Returns(Task.FromResult(deliveryResult));
            var producer = new ProducerService();
            //Act
            var deleveredMessage = await producer.SendMessage(producerMock.Object, "cars", message);

            var carResponse = JsonConvert.DeserializeObject <Car>(deleveredMessage.Result);

            //Asssert
            Assert.IsNotNull(deleveredMessage);
            Assert.AreEqual(deleveredMessage.Result, message);
            Assert.AreEqual(car.BrandName, carResponse.BrandName);
            Assert.AreEqual(car.Model, carResponse.Model);
            Assert.AreEqual(car.IsSportCar, carResponse.IsSportCar);
            Assert.AreEqual(car.NumberOfDoors, carResponse.NumberOfDoors);
        }
コード例 #22
0
 // Constructeur du controller de l'API, instanciation du producer Kafka
 public MsgController(ILogger <Program> logger, IConfiguration Configuration)
 {
     _Producer = ProducerService.GetInstance(logger, Configuration);
 }
コード例 #23
0
 public ProduceController(ProducerService producerService)
 {
     _producerService = producerService;
 }
コード例 #24
0
ファイル: ProducerServiceTests.cs プロジェクト: PawelPWA/PB
        public ProducerServiceTests()
        {
            _carContext = Substitute.For <ICarContext>();

            _producerService = new ProducerService(_carContext);
        }
コード例 #25
0
        static void Main(string[] args)
        {
            Console.Clear();
            Movie movie = new Movie
            {
                Title            = "Hack & Slash",
                Cast             = MovieData.StartingCast,
                Crew             = MovieData.StartingCrew,
                FilmingLocations = MovieData.StartingLocations,
                Shoots           = MovieData.StartingScheduleItems
            };

            PrintWelcome(movie);

            while (true)
            {
                string[] mainMenuOptions =
                {
                    "Manage Cast",
                    "Manage Crew",
                    "Manage Locations",
                    "Schedule",
                    "Add Producer",
                    "Show Producers",
                    "Expense Report",
                    "Exit"
                };

                int selectionIndex = MenuHelper.GetMenuSelection(mainMenuOptions);

                switch (selectionIndex)
                {
                case 0:
                    Console.Clear();
                    CastService.ShowCastMenu(movie);
                    break;

                case 1:
                    Console.Clear();
                    CrewService.ShowCrewMenu(movie);
                    break;

                case 2:
                    Console.Clear();
                    LocationService.ShowLocationMenu(movie);
                    break;

                case 3:
                    Console.Clear();
                    ScheduleService.ShowScheduleMenu(movie);
                    break;

                case 4:
                    Console.Clear();
                    ProducerService.AddProducer(movie);
                    break;

                case 5:
                    Console.Clear();
                    ProducerService.ShowProducer(movie);
                    break;

                case 6:
                    Console.Clear();
                    ReportService.ShowReport(movie);
                    break;

                case 7:
                    return;

                default:
                    break;
                }
            }
        }
コード例 #26
0
 public NodesBusinessObject() : base()
 {
     _nodeDAO     = new NodesDataAccessObject();
     _reqService  = new RequesterService();
     _reqProducer = new ProducerService();
 }
コード例 #27
0
 public ProducerController(ProducerService service)
 {
     _service = service;
 }
コード例 #28
0
 public SupplierStoreForm()
 {
     InitializeComponent();
     producerService         = ProducerService.getProducerService();
     computerComponentSevice = ComputerComponentSevice.getComputerComponentSevice();
 }