Пример #1
0
        public async Task <IHttpActionResult> Post([FromBody] TopicsCreateRequest data)
        {
            ConnectionConfiguration config = new ConnectionConfiguration()
            {
                BootstrapServers = "localhost:9092"
            };
            var dataProvider = new KafkaDataProvider(config, null);
            await dataProvider.AddNewTopicAsync(data.TopicName, 3, -1);

            return(Ok());
        }
        public void GetListMessagePerTopics_ReturnList()
        {
            ConnectionConfiguration config = new ConnectionConfiguration()
            {
                BootstrapServers = "localhost:9092"
            };
            KafkaDataProvider dataProvider = new KafkaDataProvider(config, LogManager.GetLogger(typeof(DataProviderTests)));
            var messages = dataProvider.GetMessagesAsync("sm-message").Result.ToList();

            Assert.IsTrue(messages.Count > 0);
        }
        public void CreateNewTopicWith3Partition_ReturnSuccess()
        {
            ConnectionConfiguration config = new ConnectionConfiguration()
            {
                BootstrapServers = "localhost:9092"
            };
            KafkaDataProvider dataProvider = new KafkaDataProvider(config, LogManager.GetLogger(typeof(DataProviderTests)));
            string            newTopic     = $"UnitTest-{Guid.NewGuid().ToString()}-{DateTime.Now.Ticks}";
            var task = dataProvider.AddNewTopicAsync(newTopic, 3, -1);

            task.Wait();
            // get all topics
            var topics = dataProvider.GetTopicsAsync().Result.ToList();

            Assert.IsTrue(topics.Count > 0);
            var nt = topics.FirstOrDefault(x => x.Name == newTopic);

            Assert.IsTrue(nt != null);
            Assert.IsTrue(nt.Partitions.Count() == 3);
            // create topic with 2 partition
        }