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 }