From 04b9c72b417b72a7838efae4321fa63f49ee7507 Mon Sep 17 00:00:00 2001 From: biyapra Date: Wed, 4 Feb 2026 16:39:37 +0530 Subject: [PATCH 01/14] migrating spring version to 4.0.1 --- .../workflow/tables/TestTableEdit.java | 6 +- libs/chat-workflow/pom.xml | 10 +- .../symphony/SymphonyMockConfiguration.java | 188 +++++---- .../SymphonyHandlerMappingTest.java | 4 +- .../SymphonyConversationsTest.java | 6 +- .../symphony/history/HistoryTest.java | 4 +- .../thymeleaf/ThymeleafEngineConfig.java | 3 +- .../teams/content/TeamsHTMLParserTest.java | 4 +- .../teams/controller/BotControllerTest.java | 20 +- .../ChannelServiceControllerTest.java | 375 +++++++++--------- .../controller/TeamsHandlerMappingTest.java | 9 +- .../handlers/TeamsResponseHandlerTest.java | 6 +- .../InMemoryRetryingActivityHandlerTest.java | 4 +- .../retry/SimpleActivityHandlerTest.java | 17 +- .../messages/FileActivityHandlerTest.java | 25 +- pom.xml | 2 +- 16 files changed, 338 insertions(+), 345 deletions(-) diff --git a/libs/chat-workflow-testing/src/test/java/org/finos/springbot/workflow/tables/TestTableEdit.java b/libs/chat-workflow-testing/src/test/java/org/finos/springbot/workflow/tables/TestTableEdit.java index b0e3ae1e6..ac5d66dac 100644 --- a/libs/chat-workflow-testing/src/test/java/org/finos/springbot/workflow/tables/TestTableEdit.java +++ b/libs/chat-workflow-testing/src/test/java/org/finos/springbot/workflow/tables/TestTableEdit.java @@ -27,8 +27,8 @@ import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.validation.Validator; /** @@ -46,7 +46,7 @@ public class TestTableEdit { private TestObjects to; private EntityJson toWrapper; - @MockBean + @MockitoBean Validator v; @Autowired @@ -58,7 +58,7 @@ public class TestTableEdit { @Autowired TableAddRow addRows; - @MockBean + @MockitoBean ResponseHandlers rh; Chat room = null; diff --git a/libs/chat-workflow/pom.xml b/libs/chat-workflow/pom.xml index fae2e6449..b46491015 100644 --- a/libs/chat-workflow/pom.xml +++ b/libs/chat-workflow/pom.xml @@ -49,7 +49,15 @@ org.springframework.boot spring-boot-starter-test test - + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + + + org.springframework + spring-web + diff --git a/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/symphony/SymphonyMockConfiguration.java b/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/symphony/SymphonyMockConfiguration.java index e436498ee..8bf50cc2e 100644 --- a/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/symphony/SymphonyMockConfiguration.java +++ b/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/symphony/SymphonyMockConfiguration.java @@ -8,11 +8,9 @@ import org.finos.springbot.tests.controller.AbstractHandlerMappingTest; import org.finos.springbot.tests.controller.OurController; import org.mockito.Mockito; -import org.springframework.beans.factory.InitializingBean; import org.springframework.boot.test.context.TestConfiguration; -import org.springframework.boot.test.mock.mockito.MockBean; -import org.springframework.boot.test.mock.mockito.MockReset; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Primary; import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean; import com.symphony.bdk.core.auth.AuthSession; @@ -31,98 +29,96 @@ @TestConfiguration -public class SymphonyMockConfiguration implements InitializingBean { - - @MockBean(reset = MockReset.NONE) - StreamService streamsApi; - - @MockBean(reset = MockReset.NONE) - UserService usersApi; - - @MockBean(reset = MockReset.NONE) - AuthSession authSession; - - @MockBean - DatafeedLoop datafeedLoop; - - @MockBean - SessionService sessionApi; - - @Bean - public LocalValidatorFactoryBean localValidatorFactoryBean() { - return new LocalValidatorFactoryBean(); - } - - - - @Bean - public OurController ourController() { - return new OurController(); - } - - public void mockSessionApi() { - Mockito.when(sessionApi.getSession()).thenReturn( - new UserV2() - .emailAddress(AbstractHandlerMappingTest.BOT_EMAIL) - .id(AbstractHandlerMappingTest.BOT_ID)); - } - - public void mockStreamsApi() { - Mockito.when(streamsApi.create(Mockito.anyList())) - .thenReturn(new Stream().id(AbstractHandlerMappingTest.CHAT_ID)); - - Mockito.when(streamsApi.getRoomInfo(Mockito.eq(AbstractHandlerMappingTest.CHAT_ID))) - .thenReturn(new V3RoomDetail() - .roomAttributes(new V3RoomAttributes().name(OurController.SOME_ROOM))); - - Mockito.when(streamsApi.listRoomMembers(Mockito.anyString())) - .thenReturn(Arrays.asList( - new MemberInfo().id(AbstractHandlerMappingTest.BOT_ID).owner(false), - new MemberInfo().id(AbstractHandlerMappingTest.ROB_EXAMPLE_ID).owner(true))); - - } - - public void mockUsersApi() { - UserV2 botUser = new UserV2() - .username(AbstractHandlerMappingTest.BOT_NAME) - .displayName(AbstractHandlerMappingTest.BOT_NAME) - .emailAddress(AbstractHandlerMappingTest.BOT_EMAIL) - .id(AbstractHandlerMappingTest.BOT_ID); - - UserV2 robUser = new UserV2() - .username(AbstractHandlerMappingTest.ROB_NAME) - .displayName(AbstractHandlerMappingTest.ROB_NAME) - .emailAddress(AbstractHandlerMappingTest.ROB_EXAMPLE_EMAIL) - .id(AbstractHandlerMappingTest.ROB_EXAMPLE_ID); - - when(usersApi.listUsersByEmails(Mockito.eq(Collections.singletonList(AbstractHandlerMappingTest.BOT_EMAIL)), Mockito.anyBoolean(), Mockito.anyBoolean())) - .thenReturn(Collections.singletonList(botUser)); - - when(usersApi.listUsersByEmails(Mockito.eq(Collections.singletonList(AbstractHandlerMappingTest.ROB_EXAMPLE_EMAIL)), Mockito.anyBoolean(), Mockito.anyBoolean())) - .thenReturn(Collections.singletonList(robUser)); - - when(usersApi.listUsersByIds(Mockito.eq(Collections.singletonList(AbstractHandlerMappingTest.BOT_ID)), Mockito.anyBoolean(), Mockito.anyBoolean())) - .thenReturn(Collections.singletonList(botUser)); - - when(usersApi.listUsersByIds(Mockito.eq(Collections.singletonList(AbstractHandlerMappingTest.ROB_EXAMPLE_ID)), Mockito.anyBoolean(), Mockito.anyBoolean())) - .thenReturn(Collections.singletonList(robUser)); - - when(usersApi.getUserDetail(Mockito.anyLong())) - .thenReturn(new V2UserDetail() - .userSystemInfo(new UserSystemInfo().id(AbstractHandlerMappingTest.ROB_EXAMPLE_ID)) - .userAttributes(new V2UserAttributes() - .displayName(AbstractHandlerMappingTest.ROB_NAME) - .emailAddress(AbstractHandlerMappingTest.ROB_EXAMPLE_EMAIL))); - - - } - - - @Override - public void afterPropertiesSet() throws Exception { - mockStreamsApi(); - mockUsersApi(); - mockSessionApi(); - } +public class SymphonyMockConfiguration { + + // Use unique bean names to avoid collisions with BdkApiClientsConfig + @Bean(name = "mockStreamsApi") + @Primary + public StreamService mockStreamsApi() { + StreamService mock = Mockito.mock(StreamService.class); + when(mock.create(Mockito.anyList())) + .thenReturn(new Stream().id(AbstractHandlerMappingTest.CHAT_ID)); + + when(mock.getRoomInfo(Mockito.eq(AbstractHandlerMappingTest.CHAT_ID))) + .thenReturn(new V3RoomDetail() + .roomAttributes(new V3RoomAttributes().name(OurController.SOME_ROOM))); + + when(mock.listRoomMembers(Mockito.anyString())) + .thenReturn(Arrays.asList( + new MemberInfo().id(AbstractHandlerMappingTest.BOT_ID).owner(false), + new MemberInfo().id(AbstractHandlerMappingTest.ROB_EXAMPLE_ID).owner(true))); + return mock; + } + + @Bean(name = "mockUsersApi") + @Primary + public UserService mockUsersApi() { + UserService mock = Mockito.mock(UserService.class); + + UserV2 botUser = new UserV2() + .username(AbstractHandlerMappingTest.BOT_NAME) + .displayName(AbstractHandlerMappingTest.BOT_NAME) + .emailAddress(AbstractHandlerMappingTest.BOT_EMAIL) + .id(AbstractHandlerMappingTest.BOT_ID); + + UserV2 robUser = new UserV2() + .username(AbstractHandlerMappingTest.ROB_NAME) + .displayName(AbstractHandlerMappingTest.ROB_NAME) + .emailAddress(AbstractHandlerMappingTest.ROB_EXAMPLE_EMAIL) + .id(AbstractHandlerMappingTest.ROB_EXAMPLE_ID); + + when(mock.listUsersByEmails(Mockito.eq(Collections.singletonList(AbstractHandlerMappingTest.BOT_EMAIL)), Mockito.anyBoolean(), Mockito.anyBoolean())) + .thenReturn(Collections.singletonList(botUser)); + + when(mock.listUsersByEmails(Mockito.eq(Collections.singletonList(AbstractHandlerMappingTest.ROB_EXAMPLE_EMAIL)), Mockito.anyBoolean(), Mockito.anyBoolean())) + .thenReturn(Collections.singletonList(robUser)); + + when(mock.listUsersByIds(Mockito.eq(Collections.singletonList(AbstractHandlerMappingTest.BOT_ID)), Mockito.anyBoolean(), Mockito.anyBoolean())) + .thenReturn(Collections.singletonList(botUser)); + + when(mock.listUsersByIds(Mockito.eq(Collections.singletonList(AbstractHandlerMappingTest.ROB_EXAMPLE_ID)), Mockito.anyBoolean(), Mockito.anyBoolean())) + .thenReturn(Collections.singletonList(robUser)); + + when(mock.getUserDetail(Mockito.anyLong())) + .thenReturn(new V2UserDetail() + .userSystemInfo(new UserSystemInfo().id(AbstractHandlerMappingTest.ROB_EXAMPLE_ID)) + .userAttributes(new V2UserAttributes() + .displayName(AbstractHandlerMappingTest.ROB_NAME) + .emailAddress(AbstractHandlerMappingTest.ROB_EXAMPLE_EMAIL))); + return mock; + } + + @Bean(name = "mockAuthSession") + @Primary + public AuthSession mockAuthSession() { + return Mockito.mock(AuthSession.class); + } + + @Bean(name = "mockDatafeedLoop") + @Primary + public DatafeedLoop mockDatafeedLoop() { + return Mockito.mock(DatafeedLoop.class); + } + + @Bean(name = "mockSessionService") + @Primary + public SessionService mockSessionService() { + SessionService mock = Mockito.mock(SessionService.class); + when(mock.getSession()).thenReturn( + new UserV2() + .emailAddress(AbstractHandlerMappingTest.BOT_EMAIL) + .id(AbstractHandlerMappingTest.BOT_ID)); + return mock; + } + + @Bean + public LocalValidatorFactoryBean localValidatorFactoryBean() { + return new LocalValidatorFactoryBean(); + } + + @Bean + public org.finos.springbot.tests.controller.OurController ourController() { + return new OurController(); + } } \ No newline at end of file diff --git a/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/symphony/controller/SymphonyHandlerMappingTest.java b/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/symphony/controller/SymphonyHandlerMappingTest.java index 901708800..b1e8383e2 100644 --- a/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/symphony/controller/SymphonyHandlerMappingTest.java +++ b/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/symphony/controller/SymphonyHandlerMappingTest.java @@ -31,8 +31,8 @@ import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.util.StreamUtils; import com.fasterxml.jackson.core.JsonProcessingException; @@ -70,7 +70,7 @@ public class SymphonyHandlerMappingTest extends AbstractHandlerMappingTest { @Autowired EntityJsonConverter ejc; - @MockBean + @MockitoBean MessageService messagesApi; @Autowired diff --git a/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/symphony/conversations/SymphonyConversationsTest.java b/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/symphony/conversations/SymphonyConversationsTest.java index 4da818fb6..2a8e9c1c2 100644 --- a/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/symphony/conversations/SymphonyConversationsTest.java +++ b/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/symphony/conversations/SymphonyConversationsTest.java @@ -19,7 +19,6 @@ import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.test.context.ActiveProfiles; import com.symphony.bdk.core.service.message.MessageService; @@ -35,6 +34,7 @@ import com.symphony.bdk.gen.api.model.V3RoomAttributes; import com.symphony.bdk.gen.api.model.V3RoomDetail; import com.symphony.bdk.gen.api.model.V3RoomSearchResults; +import org.springframework.test.context.bean.override.mockito.MockitoBean; @SpringBootTest(classes = { SymphonyMockConfiguration.class, @@ -46,10 +46,10 @@ public class SymphonyConversationsTest { @Autowired SymphonyConversationsImpl ruBuilder; - @MockBean + @MockitoBean StreamService streamsApi; - @MockBean + @MockitoBean MessageService messagesApi; @Test diff --git a/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/symphony/history/HistoryTest.java b/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/symphony/history/HistoryTest.java index 416408b57..551f3a528 100644 --- a/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/symphony/history/HistoryTest.java +++ b/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/symphony/history/HistoryTest.java @@ -15,13 +15,13 @@ import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.test.context.ActiveProfiles; import com.symphony.bdk.core.service.message.MessageService; import com.symphony.bdk.core.service.pagination.model.PaginationAttribute; import com.symphony.bdk.gen.api.model.MessageSearchQuery; import com.symphony.bdk.gen.api.model.V4Message; +import org.springframework.test.context.bean.override.mockito.MockitoBean; @SpringBootTest(classes = { SymphonyMockConfiguration.class, @@ -36,7 +36,7 @@ public class HistoryTest { @Autowired EntityJsonConverter ejc; - @MockBean + @MockitoBean MessageService messagesApi; @Test diff --git a/libs/teams/teams-chat-workflow-spring-boot-starter/src/main/java/org/finos/springbot/teams/templating/thymeleaf/ThymeleafEngineConfig.java b/libs/teams/teams-chat-workflow-spring-boot-starter/src/main/java/org/finos/springbot/teams/templating/thymeleaf/ThymeleafEngineConfig.java index 80fb2e171..15213c236 100644 --- a/libs/teams/teams-chat-workflow-spring-boot-starter/src/main/java/org/finos/springbot/teams/templating/thymeleaf/ThymeleafEngineConfig.java +++ b/libs/teams/teams-chat-workflow-spring-boot-starter/src/main/java/org/finos/springbot/teams/templating/thymeleaf/ThymeleafEngineConfig.java @@ -2,9 +2,8 @@ import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration; -import org.springframework.boot.autoconfigure.thymeleaf.ThymeleafProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.boot.thymeleaf.autoconfigure.ThymeleafProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Profile; diff --git a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/content/TeamsHTMLParserTest.java b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/content/TeamsHTMLParserTest.java index 927fa4299..a36142461 100644 --- a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/content/TeamsHTMLParserTest.java +++ b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/content/TeamsHTMLParserTest.java @@ -19,10 +19,10 @@ import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.MockBean; import com.fasterxml.jackson.databind.ObjectMapper; import com.microsoft.bot.schema.Entity; +import org.springframework.test.context.bean.override.mockito.MockitoBean; @SpringBootTest(classes = { TeamsContentConfig.class, @@ -32,7 +32,7 @@ public class TeamsHTMLParserTest { @Autowired TeamsHTMLParser parser; - @MockBean + @MockitoBean TeamsConversations tc; @Test diff --git a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/controller/BotControllerTest.java b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/controller/BotControllerTest.java index 5d12388c1..976dc91a8 100644 --- a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/controller/BotControllerTest.java +++ b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/controller/BotControllerTest.java @@ -7,12 +7,12 @@ import org.finos.springbot.teams.MockTeamsConfiguration; import org.finos.springbot.teams.bot.BotController; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; -import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.Spy; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -26,19 +26,23 @@ @SpringBootTest(classes = { MockTeamsConfiguration.class}) @ActiveProfiles("teams") -@ExtendWith(SpringExtension.class) +@ExtendWith({SpringExtension.class, MockitoExtension.class}) public class BotControllerTest { @Mock BotFrameworkHttpAdapter adapter; - @Spy + @Mock Bot bot; - @InjectMocks BotController controller; - + @BeforeEach + public void setup() { + // Explicitly construct controller with mocks to ensure non-null final fields + controller = new BotController(adapter, bot); + } + @SuppressWarnings({ "deprecation" }) @Test public void testIncoming() throws InterruptedException, ExecutionException { @@ -48,8 +52,8 @@ public void testIncoming() throws InterruptedException, ExecutionException { CompletableFuture> future = controller.incoming(a, "any text"); ResponseEntity entity = future.get(); - - Assertions.assertEquals(200, entity.getStatusCodeValue()); + + Assertions.assertEquals(200, entity.getStatusCode().value()); Assertions.assertEquals("Success", entity.getBody()); } diff --git a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/controller/ChannelServiceControllerTest.java b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/controller/ChannelServiceControllerTest.java index 1b443bcf7..05eea6511 100644 --- a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/controller/ChannelServiceControllerTest.java +++ b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/controller/ChannelServiceControllerTest.java @@ -5,24 +5,17 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; -import org.finos.springbot.teams.MockTeamsConfiguration; -import org.finos.springbot.teams.TeamsWorkflowConfig; import org.finos.springbot.teams.bot.ChannelServiceController; import org.finos.springbot.teams.content.TeamsUser; -import org.finos.springbot.teams.handlers.TeamsResponseHandler; -import org.finos.springbot.workflow.data.DataHandlerConfig; import org.finos.springbot.workflow.response.MessageResponse; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; -import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; -import org.springframework.boot.test.context.SpringBootTest; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.http.ResponseEntity; -import org.springframework.test.context.ActiveProfiles; -import org.springframework.test.context.junit.jupiter.SpringExtension; import com.microsoft.bot.builder.ChannelServiceHandler; import com.microsoft.bot.schema.Activity; @@ -35,193 +28,185 @@ import com.microsoft.bot.schema.ResourceResponse; import com.microsoft.bot.schema.Transcript; -@SpringBootTest(classes = { MockTeamsConfiguration.class, TeamsWorkflowConfig.class, DataHandlerConfig.class }) -@ActiveProfiles("teams") -@ExtendWith(SpringExtension.class) +@ExtendWith(MockitoExtension.class) public class ChannelServiceControllerTest { - @Mock - ChannelServiceHandler handler; - - @InjectMocks - ChannelServiceController controller = new ChannelServiceController(handler) {};; - - @Mock - TeamsResponseHandler teamsResponseHandler; - - ResourceResponse rr; - - Activity a; - - @BeforeEach - public void setup() { - controller = new ChannelServiceController(handler) {}; - a = Mockito.mock(Activity.class); - TeamsUser tu = new TeamsUser("made", "up", "thing"); - MessageResponse r = new MessageResponse(tu, "Some object"); - rr = Mockito.mock(ResourceResponse.class); - - Mockito.when(teamsResponseHandler.apply(r)).thenReturn(rr); - } - - @SuppressWarnings({ "deprecation" }) - @Test - public void testSendToConversation() throws InterruptedException, ExecutionException { - - Mockito.when(handler.handleSendToConversation("any text","conversation Id", a)).thenReturn(CompletableFuture.completedFuture(rr)); - CompletableFuture> future = controller.sendToConversation("conversation Id", a, "any text"); - ResponseEntity entity = future.get(); - - Assertions.assertEquals(200, entity.getStatusCodeValue()); - } - - @SuppressWarnings({ "deprecation" }) - @Test - public void testReplyToActivity() throws InterruptedException, ExecutionException { - Mockito.when(handler.handleReplyToActivity("any text","conversation Id", "activityId", a)).thenReturn(CompletableFuture.completedFuture(rr)); - CompletableFuture> future = controller.replyToActivity("conversation Id", "activityId", a, "any text"); - ResponseEntity entity = future.get(); - - Assertions.assertEquals(200, entity.getStatusCodeValue()); - } - - @SuppressWarnings({ "deprecation" }) - @Test - public void testUpdateActivity() throws InterruptedException, ExecutionException { - Mockito.when(handler.handleUpdateActivity("any text","conversation Id", "activityId", a)).thenReturn(CompletableFuture.completedFuture(rr)); - CompletableFuture> future = controller.updateActivity("conversation Id", "activityId", a, "any text"); - ResponseEntity entity = future.get(); - - Assertions.assertEquals(200, entity.getStatusCodeValue()); - } - - @SuppressWarnings({ "deprecation" }) - @Test - public void testDeleteActivity() throws InterruptedException, ExecutionException { - - Void vo = Mockito.mock(Void.class); - - Mockito.when(handler.handleDeleteActivity("any text","conversation Id", "activityId")).thenReturn(CompletableFuture.completedFuture(vo)); - CompletableFuture> future = controller.deleteActivity("conversation Id", "activityId", "any text"); - ResponseEntity entity = future.get(); - - Assertions.assertEquals(202, entity.getStatusCodeValue()); - } - - @SuppressWarnings({ "deprecation" }) - @Test - public void testGetActivityMembers() throws InterruptedException, ExecutionException { - - List accounts = Mockito.mock(List.class); - - Mockito.when(handler.handleGetActivityMembers("any text","conversation Id", "activityId")).thenReturn(CompletableFuture.completedFuture(accounts)); - CompletableFuture>> future = controller.getActivityMembers("conversation Id", "activityId", "any text"); - ResponseEntity> entity = future.get(); - - Assertions.assertEquals(200, entity.getStatusCodeValue()); - } - - @SuppressWarnings({ "deprecation" }) - @Test - public void testCreateConversation() throws InterruptedException, ExecutionException { - - ConversationResourceResponse r = Mockito.mock(ConversationResourceResponse.class); - - ConversationParameters parameters = new ConversationParameters(); - - Mockito.when(handler.handleCreateConversation("any text", parameters)).thenReturn(CompletableFuture.completedFuture(r)); - - CompletableFuture> future = controller.createConversation(parameters, "any text"); - ResponseEntity entity = future.get(); - - Assertions.assertEquals(200, entity.getStatusCodeValue()); - } - - @SuppressWarnings({ "deprecation" }) - @Test - public void testGetConversations() throws InterruptedException, ExecutionException { - - ConversationsResult r = Mockito.mock(ConversationsResult.class); - - Mockito.when(handler.handleGetConversations("any text", "conversation Id", "activityId")).thenReturn(CompletableFuture.completedFuture(r)); - - CompletableFuture> future = controller.getConversations("conversation Id", "activityId", "any text"); - ResponseEntity entity = future.get(); - - Assertions.assertEquals(200, entity.getStatusCodeValue()); - } - - @SuppressWarnings({ "deprecation" }) - @Test - public void testGetConversationMembers() throws InterruptedException, ExecutionException { - - List r = Mockito.mock(List.class); - - Mockito.when(handler.handleGetConversationMembers("any text", "conversation Id")).thenReturn(CompletableFuture.completedFuture(r)); - - CompletableFuture>> future = controller.getConversationMembers("conversation Id", "any text"); - ResponseEntity> entity = future.get(); - - Assertions.assertEquals(200, entity.getStatusCodeValue()); - } - - @SuppressWarnings({ "deprecation" }) - @Test - public void testGetConversationPagedMembers() throws InterruptedException, ExecutionException { - - PagedMembersResult r = Mockito.mock(PagedMembersResult.class); - - Mockito.when(handler.handleGetConversationPagedMembers("any text", "conversation Id", 1, "activityId")).thenReturn(CompletableFuture.completedFuture(r)); - - CompletableFuture> future = controller.getConversationPagedMembers("conversation Id", 1, "activityId", "any text"); - ResponseEntity entity = future.get(); - - Assertions.assertEquals(200, entity.getStatusCodeValue()); - } - - @SuppressWarnings({ "deprecation" }) - @Test - public void testDeleteConversationMember() throws InterruptedException, ExecutionException { - - Void r = Mockito.mock(Void.class); - - Mockito.when(handler.handleDeleteConversationMember("any text", "conversation Id", "Member Id")).thenReturn(CompletableFuture.completedFuture(r)); - - CompletableFuture> future = controller.deleteConversationMember("conversation Id", "Member Id", "any text"); - ResponseEntity entity = future.get(); - - Assertions.assertEquals(202, entity.getStatusCodeValue()); - } - - @SuppressWarnings({ "deprecation" }) - @Test - public void testSendConversationHistory() throws InterruptedException, ExecutionException { - - ResourceResponse r = Mockito.mock(ResourceResponse.class); - - Transcript history = new Transcript(); - - Mockito.when(handler.handleSendConversationHistory("any text", "conversation Id", history)).thenReturn(CompletableFuture.completedFuture(r)); - - CompletableFuture> future = controller.sendConversationHistory("conversation Id",history, "any text"); - ResponseEntity entity = future.get(); - - Assertions.assertEquals(200, entity.getStatusCodeValue()); - } - - @SuppressWarnings({ "deprecation" }) - @Test - public void testUploadAttachment() throws InterruptedException, ExecutionException { - - ResourceResponse r = Mockito.mock(ResourceResponse.class); - - AttachmentData attachmentUpload = new AttachmentData(); - - Mockito.when(handler.handleUploadAttachment("any text", "conversation Id", attachmentUpload)).thenReturn(CompletableFuture.completedFuture(r)); - - CompletableFuture> future = controller.uploadAttachment("conversation Id",attachmentUpload, "any text"); - ResponseEntity entity = future.get(); - - Assertions.assertEquals(200, entity.getStatusCodeValue()); - } + @Mock + ChannelServiceHandler handler; + + ChannelServiceController controller; + + ResourceResponse rr; + + Activity a; + + @BeforeEach + public void setup() { + controller = new ChannelServiceController(handler) {}; + a = Mockito.mock(Activity.class); + TeamsUser tu = new TeamsUser("made", "up", "thing"); + MessageResponse r = new MessageResponse(tu, "Some object"); + rr = Mockito.mock(ResourceResponse.class); + } + + @SuppressWarnings({ "deprecation" }) + @Test + public void testSendToConversation() throws InterruptedException, ExecutionException { + + Mockito.when(handler.handleSendToConversation("any text","conversation Id", a)).thenReturn(CompletableFuture.completedFuture(rr)); + CompletableFuture> future = controller.sendToConversation("conversation Id", a, "any text"); + ResponseEntity entity = future.get(); + + Assertions.assertEquals(200, entity.getStatusCode().value()); + } + + @SuppressWarnings({ "deprecation" }) + @Test + public void testReplyToActivity() throws InterruptedException, ExecutionException { + Mockito.when(handler.handleReplyToActivity("any text","conversation Id", "activityId", a)).thenReturn(CompletableFuture.completedFuture(rr)); + CompletableFuture> future = controller.replyToActivity("conversation Id", "activityId", a, "any text"); + ResponseEntity entity = future.get(); + + Assertions.assertEquals(200, entity.getStatusCode().value()); + } + + @SuppressWarnings({ "deprecation" }) + @Test + public void testUpdateActivity() throws InterruptedException, ExecutionException { + Mockito.when(handler.handleUpdateActivity("any text","conversation Id", "activityId", a)).thenReturn(CompletableFuture.completedFuture(rr)); + CompletableFuture> future = controller.updateActivity("conversation Id", "activityId", a, "any text"); + ResponseEntity entity = future.get(); + + Assertions.assertEquals(200, entity.getStatusCode().value()); + } + + @SuppressWarnings({ "deprecation" }) + @Test + public void testDeleteActivity() throws InterruptedException, ExecutionException { + + Void vo = Mockito.mock(Void.class); + + Mockito.when(handler.handleDeleteActivity("any text","conversation Id", "activityId")).thenReturn(CompletableFuture.completedFuture(vo)); + CompletableFuture> future = controller.deleteActivity("conversation Id", "activityId", "any text"); + ResponseEntity entity = future.get(); + + Assertions.assertEquals(202, entity.getStatusCode().value()); + } + + @SuppressWarnings({ "deprecation" }) + @Test + public void testGetActivityMembers() throws InterruptedException, ExecutionException { + + List accounts = Mockito.mock(List.class); + + Mockito.when(handler.handleGetActivityMembers("any text","conversation Id", "activityId")).thenReturn(CompletableFuture.completedFuture(accounts)); + CompletableFuture>> future = controller.getActivityMembers("conversation Id", "activityId", "any text"); + ResponseEntity> entity = future.get(); + + Assertions.assertEquals(200, entity.getStatusCode().value()); + } + + @SuppressWarnings({ "deprecation" }) + @Test + public void testCreateConversation() throws InterruptedException, ExecutionException { + + ConversationResourceResponse r = Mockito.mock(ConversationResourceResponse.class); + + ConversationParameters parameters = new ConversationParameters(); + + Mockito.when(handler.handleCreateConversation("any text", parameters)).thenReturn(CompletableFuture.completedFuture(r)); + + CompletableFuture> future = controller.createConversation(parameters, "any text"); + ResponseEntity entity = future.get(); + + Assertions.assertEquals(200, entity.getStatusCode().value()); + } + + @SuppressWarnings({ "deprecation" }) + @Test + public void testGetConversations() throws InterruptedException, ExecutionException { + + ConversationsResult r = Mockito.mock(ConversationsResult.class); + + Mockito.when(handler.handleGetConversations("any text", "conversation Id", "activityId")).thenReturn(CompletableFuture.completedFuture(r)); + + CompletableFuture> future = controller.getConversations("conversation Id", "activityId", "any text"); + ResponseEntity entity = future.get(); + + Assertions.assertEquals(200, entity.getStatusCode().value()); + } + + @SuppressWarnings({ "deprecation" }) + @Test + public void testGetConversationMembers() throws InterruptedException, ExecutionException { + + List r = Mockito.mock(List.class); + + Mockito.when(handler.handleGetConversationMembers("any text", "conversation Id")).thenReturn(CompletableFuture.completedFuture(r)); + + CompletableFuture>> future = controller.getConversationMembers("conversation Id", "any text"); + ResponseEntity> entity = future.get(); + + Assertions.assertEquals(200, entity.getStatusCode().value()); + } + + @SuppressWarnings({ "deprecation" }) + @Test + public void testGetConversationPagedMembers() throws InterruptedException, ExecutionException { + + PagedMembersResult r = Mockito.mock(PagedMembersResult.class); + + Mockito.when(handler.handleGetConversationPagedMembers("any text", "conversation Id", 1, "activityId")).thenReturn(CompletableFuture.completedFuture(r)); + + CompletableFuture> future = controller.getConversationPagedMembers("conversation Id", 1, "activityId", "any text"); + ResponseEntity entity = future.get(); + + Assertions.assertEquals(200, entity.getStatusCode().value()); + } + + @SuppressWarnings({ "deprecation" }) + @Test + public void testDeleteConversationMember() throws InterruptedException, ExecutionException { + + Void r = Mockito.mock(Void.class); + + Mockito.when(handler.handleDeleteConversationMember("any text", "conversation Id", "Member Id")).thenReturn(CompletableFuture.completedFuture(r)); + + CompletableFuture> future = controller.deleteConversationMember("conversation Id", "Member Id", "any text"); + ResponseEntity entity = future.get(); + + Assertions.assertEquals(202, entity.getStatusCode().value()); + } + + @SuppressWarnings({ "deprecation" }) + @Test + public void testSendConversationHistory() throws InterruptedException, ExecutionException { + + ResourceResponse r = Mockito.mock(ResourceResponse.class); + + Transcript history = new Transcript(); + + Mockito.when(handler.handleSendConversationHistory("any text", "conversation Id", history)).thenReturn(CompletableFuture.completedFuture(r)); + + CompletableFuture> future = controller.sendConversationHistory("conversation Id",history, "any text"); + ResponseEntity entity = future.get(); + + Assertions.assertEquals(200, entity.getStatusCode().value()); + } + + @SuppressWarnings({ "deprecation" }) + @Test + public void testUploadAttachment() throws InterruptedException, ExecutionException { + + ResourceResponse r = Mockito.mock(ResourceResponse.class); + + AttachmentData attachmentUpload = new AttachmentData(); + + Mockito.when(handler.handleUploadAttachment("any text", "conversation Id", attachmentUpload)).thenReturn(CompletableFuture.completedFuture(r)); + + CompletableFuture> future = controller.uploadAttachment("conversation Id",attachmentUpload, "any text"); + ResponseEntity entity = future.get(); + + Assertions.assertEquals(200, entity.getStatusCode().value()); + } } diff --git a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/controller/TeamsHandlerMappingTest.java b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/controller/TeamsHandlerMappingTest.java index 45336cf21..fd5e2f040 100644 --- a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/controller/TeamsHandlerMappingTest.java +++ b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/controller/TeamsHandlerMappingTest.java @@ -34,10 +34,10 @@ import org.finos.springbot.workflow.response.WorkResponse; import org.junit.jupiter.api.Assertions; import org.mockito.ArgumentCaptor; +import org.mockito.Mock; import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; import org.springframework.test.context.ActiveProfiles; @@ -58,6 +58,7 @@ import com.microsoft.bot.schema.teams.ChannelInfo; import com.microsoft.bot.schema.teams.FileConsentCard; import com.microsoft.bot.schema.teams.TeamsChannelData; +import org.springframework.test.context.bean.override.mockito.MockitoBean; @SpringBootTest(classes = { @@ -79,10 +80,10 @@ public class TeamsHandlerMappingTest extends AbstractHandlerMappingTest { @Autowired ChatRequestChatHandlerMapping hm; - @MockBean + @MockitoBean TeamsStateStorage th; - - @MockBean + + @MockitoBean TeamsConversations conv; @Autowired diff --git a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/handlers/TeamsResponseHandlerTest.java b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/handlers/TeamsResponseHandlerTest.java index bc9c78090..c641a8519 100644 --- a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/handlers/TeamsResponseHandlerTest.java +++ b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/handlers/TeamsResponseHandlerTest.java @@ -17,9 +17,9 @@ import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.HttpStatus; import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.context.junit.jupiter.SpringExtension; import com.microsoft.bot.connector.rest.ErrorResponseException; @@ -38,10 +38,10 @@ @ExtendWith(SpringExtension.class) public class TeamsResponseHandlerTest { - @MockBean + @MockitoBean ActivityHandler ah; - @MockBean + @MockitoBean ResponseHandlers eh; @Autowired diff --git a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/handlers/retry/InMemoryRetryingActivityHandlerTest.java b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/handlers/retry/InMemoryRetryingActivityHandlerTest.java index 16a750dd0..ef6211fe3 100644 --- a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/handlers/retry/InMemoryRetryingActivityHandlerTest.java +++ b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/handlers/retry/InMemoryRetryingActivityHandlerTest.java @@ -13,9 +13,9 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.ArgumentCaptor; import org.mockito.Mockito; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.HttpStatus; import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.context.junit.jupiter.SpringExtension; import com.microsoft.bot.connector.rest.ErrorResponseException; @@ -32,7 +32,7 @@ @ExtendWith(SpringExtension.class) public class InMemoryRetryingActivityHandlerTest { - @MockBean + @MockitoBean TeamsConversations conv; int go = 0; diff --git a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/handlers/retry/SimpleActivityHandlerTest.java b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/handlers/retry/SimpleActivityHandlerTest.java index e56f26b4c..e1b542563 100644 --- a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/handlers/retry/SimpleActivityHandlerTest.java +++ b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/handlers/retry/SimpleActivityHandlerTest.java @@ -3,29 +3,28 @@ import org.finos.springbot.teams.content.TeamsChannel; import org.finos.springbot.teams.conversations.TeamsConversations; import org.finos.springbot.teams.handlers.SimpleActivityHandler; -import org.finos.springbot.workflow.data.DataHandlerConfig; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.Mockito; -import org.springframework.boot.test.context.SpringBootTest; +import org.mockito.junit.jupiter.MockitoExtension; import com.microsoft.bot.schema.Activity; -@SpringBootTest(classes = { - DataHandlerConfig.class, - }) +import static org.mockito.Mockito.*; + +@ExtendWith(MockitoExtension.class) public class SimpleActivityHandlerTest { @Mock TeamsConversations tc; @InjectMocks - private SimpleActivityHandler handler = new SimpleActivityHandler(tc); - + private SimpleActivityHandler handler; + @Test public void testHandleActivity() { - Activity activity = Mockito.mock(Activity.class); + Activity activity = mock(Activity.class); handler.handleActivity(activity , new TeamsChannel()); } } diff --git a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/messages/FileActivityHandlerTest.java b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/messages/FileActivityHandlerTest.java index 62fe48c8e..5fe1deb65 100644 --- a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/messages/FileActivityHandlerTest.java +++ b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/messages/FileActivityHandlerTest.java @@ -12,8 +12,8 @@ import org.finos.springbot.workflow.data.DataHandlerConfig; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; -import org.mockito.InjectMocks; import org.mockito.Mockito; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit.jupiter.SpringExtension; @@ -27,24 +27,25 @@ @ExtendWith(SpringExtension.class) public class FileActivityHandlerTest { - - @InjectMocks + + // Use the Spring context to wire the handler and its dependencies instead of Mockito @InjectMocks + @Autowired FileActivityHandler handler; - + TurnContext tc; - + @Test public void testOnTeamsFileConsentAccept() throws IOException, InterruptedException, ExecutionException { tc = Mockito.mock(TurnContext.class); - + FileConsentCardResponse f = getFileConsent(); handler.onTeamsFileConsentAccept(tc, f); } - + @Test public void testOnTeamsFileConsentDecline() throws IOException, InterruptedException, ExecutionException { tc = Mockito.mock(TurnContext.class); - + FileConsentCardResponse f = getFileConsent(); handler.onTeamsFileConsentDecline(tc, f); } @@ -52,18 +53,18 @@ public void testOnTeamsFileConsentDecline() throws IOException, InterruptedExcep private FileConsentCardResponse getFileConsent() throws IOException { FileConsentCardResponse fileConsentCardResponse = new FileConsentCardResponse(); Path file = Files.createTempFile("temp-", "sample.json"); - + Map map = new HashMap<>(); String filePath = "file://"+ file.toAbsolutePath().toString(); map.put("filepath", filePath); map.put("filename", "sample.json"); - + fileConsentCardResponse.setContext(map); FileUploadInfo uploadInfo = new FileUploadInfo(); - + uploadInfo.setUploadUrl(filePath); fileConsentCardResponse.setUploadInfo(uploadInfo); return fileConsentCardResponse; } - + } diff --git a/pom.xml b/pom.xml index c12a29dbf..a5632a25f 100644 --- a/pom.xml +++ b/pom.xml @@ -50,7 +50,7 @@ UTF-8 - 3.5.5 + 4.0.1 17 17 17 From 107fe9f87364f979d19bb5095cd06a9abf061b80 Mon Sep 17 00:00:00 2001 From: biyapra Date: Wed, 4 Feb 2026 16:47:07 +0530 Subject: [PATCH 02/14] migrating spring version to 4.0.1 --- .../symphony/SymphonyMockConfiguration.java | 111 ++++++++---------- 1 file changed, 52 insertions(+), 59 deletions(-) diff --git a/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/symphony/SymphonyMockConfiguration.java b/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/symphony/SymphonyMockConfiguration.java index 8bf50cc2e..700e39c47 100644 --- a/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/symphony/SymphonyMockConfiguration.java +++ b/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/symphony/SymphonyMockConfiguration.java @@ -1,6 +1,9 @@ package org.finos.springbot.symphony; -import static org.mockito.Mockito.when; +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.doReturn; import java.util.Arrays; import java.util.Collections; @@ -31,84 +34,75 @@ @TestConfiguration public class SymphonyMockConfiguration { - // Use unique bean names to avoid collisions with BdkApiClientsConfig - @Bean(name = "mockStreamsApi") + // Provide explicit lenient Mockito mocks with unique names and pre-stubbed behavior + @Bean(name = "mockStreamService") @Primary - public StreamService mockStreamsApi() { - StreamService mock = Mockito.mock(StreamService.class); - when(mock.create(Mockito.anyList())) - .thenReturn(new Stream().id(AbstractHandlerMappingTest.CHAT_ID)); - - when(mock.getRoomInfo(Mockito.eq(AbstractHandlerMappingTest.CHAT_ID))) - .thenReturn(new V3RoomDetail() - .roomAttributes(new V3RoomAttributes().name(OurController.SOME_ROOM))); - - when(mock.listRoomMembers(Mockito.anyString())) - .thenReturn(Arrays.asList( + public StreamService streamsApi() { + StreamService mock = Mockito.mock(StreamService.class, Mockito.withSettings().lenient()); + // Adjust to if your BDK uses List + doReturn(new Stream().id(AbstractHandlerMappingTest.CHAT_ID)) + .when(mock).create(org.mockito.ArgumentMatchers.anyList()); + doReturn(new V3RoomDetail().roomAttributes(new V3RoomAttributes().name(OurController.SOME_ROOM))) + .when(mock).getRoomInfo(anyString()); + doReturn(Arrays.asList( new MemberInfo().id(AbstractHandlerMappingTest.BOT_ID).owner(false), - new MemberInfo().id(AbstractHandlerMappingTest.ROB_EXAMPLE_ID).owner(true))); + new MemberInfo().id(AbstractHandlerMappingTest.ROB_EXAMPLE_ID).owner(true))) + .when(mock).listRoomMembers(anyString()); return mock; } - @Bean(name = "mockUsersApi") + @Bean(name = "mockUserService") @Primary - public UserService mockUsersApi() { - UserService mock = Mockito.mock(UserService.class); - + public UserService usersApi() { + UserService mock = Mockito.mock(UserService.class, Mockito.withSettings().lenient()); UserV2 botUser = new UserV2() .username(AbstractHandlerMappingTest.BOT_NAME) .displayName(AbstractHandlerMappingTest.BOT_NAME) .emailAddress(AbstractHandlerMappingTest.BOT_EMAIL) .id(AbstractHandlerMappingTest.BOT_ID); - UserV2 robUser = new UserV2() - .username(AbstractHandlerMappingTest.ROB_NAME) - .displayName(AbstractHandlerMappingTest.ROB_NAME) - .emailAddress(AbstractHandlerMappingTest.ROB_EXAMPLE_EMAIL) - .id(AbstractHandlerMappingTest.ROB_EXAMPLE_ID); - - when(mock.listUsersByEmails(Mockito.eq(Collections.singletonList(AbstractHandlerMappingTest.BOT_EMAIL)), Mockito.anyBoolean(), Mockito.anyBoolean())) - .thenReturn(Collections.singletonList(botUser)); - - when(mock.listUsersByEmails(Mockito.eq(Collections.singletonList(AbstractHandlerMappingTest.ROB_EXAMPLE_EMAIL)), Mockito.anyBoolean(), Mockito.anyBoolean())) - .thenReturn(Collections.singletonList(robUser)); - - when(mock.listUsersByIds(Mockito.eq(Collections.singletonList(AbstractHandlerMappingTest.BOT_ID)), Mockito.anyBoolean(), Mockito.anyBoolean())) - .thenReturn(Collections.singletonList(botUser)); - - when(mock.listUsersByIds(Mockito.eq(Collections.singletonList(AbstractHandlerMappingTest.ROB_EXAMPLE_ID)), Mockito.anyBoolean(), Mockito.anyBoolean())) - .thenReturn(Collections.singletonList(robUser)); - - when(mock.getUserDetail(Mockito.anyLong())) - .thenReturn(new V2UserDetail() - .userSystemInfo(new UserSystemInfo().id(AbstractHandlerMappingTest.ROB_EXAMPLE_ID)) - .userAttributes(new V2UserAttributes() - .displayName(AbstractHandlerMappingTest.ROB_NAME) - .emailAddress(AbstractHandlerMappingTest.ROB_EXAMPLE_EMAIL))); + .username(AbstractHandlerMappingTest.ROB_NAME) + .displayName(AbstractHandlerMappingTest.ROB_NAME) + .emailAddress(AbstractHandlerMappingTest.ROB_EXAMPLE_EMAIL) + .id(AbstractHandlerMappingTest.ROB_EXAMPLE_ID); + doReturn(Collections.singletonList(botUser)) + .when(mock).listUsersByEmails(eq(Collections.singletonList(AbstractHandlerMappingTest.BOT_EMAIL)), Mockito.anyBoolean(), Mockito.anyBoolean()); + doReturn(Collections.singletonList(robUser)) + .when(mock).listUsersByEmails(eq(Collections.singletonList(AbstractHandlerMappingTest.ROB_EXAMPLE_EMAIL)), Mockito.anyBoolean(), Mockito.anyBoolean()); + doReturn(Collections.singletonList(botUser)) + .when(mock).listUsersByIds(eq(Collections.singletonList(AbstractHandlerMappingTest.BOT_ID)), Mockito.anyBoolean(), Mockito.anyBoolean()); + doReturn(Collections.singletonList(robUser)) + .when(mock).listUsersByIds(eq(Collections.singletonList(AbstractHandlerMappingTest.ROB_EXAMPLE_ID)), Mockito.anyBoolean(), Mockito.anyBoolean()); + doReturn(new V2UserDetail() + .userSystemInfo(new UserSystemInfo().id(AbstractHandlerMappingTest.ROB_EXAMPLE_ID)) + .userAttributes(new V2UserAttributes() + .displayName(AbstractHandlerMappingTest.ROB_NAME) + .emailAddress(AbstractHandlerMappingTest.ROB_EXAMPLE_EMAIL))) + .when(mock).getUserDetail(anyLong()); return mock; } - @Bean(name = "mockAuthSession") + @Bean(name = "mockSessionService") @Primary - public AuthSession mockAuthSession() { - return Mockito.mock(AuthSession.class); + public SessionService sessionApi() { + SessionService mock = Mockito.mock(SessionService.class, Mockito.withSettings().lenient()); + doReturn(new UserV2() + .emailAddress(AbstractHandlerMappingTest.BOT_EMAIL) + .id(AbstractHandlerMappingTest.BOT_ID)) + .when(mock).getSession(); + return mock; } - @Bean(name = "mockDatafeedLoop") + @Bean(name = "mockAuthSession") @Primary - public DatafeedLoop mockDatafeedLoop() { - return Mockito.mock(DatafeedLoop.class); + public AuthSession authSession() { + return Mockito.mock(AuthSession.class, Mockito.withSettings().lenient()); } - @Bean(name = "mockSessionService") + @Bean(name = "mockDatafeedLoop") @Primary - public SessionService mockSessionService() { - SessionService mock = Mockito.mock(SessionService.class); - when(mock.getSession()).thenReturn( - new UserV2() - .emailAddress(AbstractHandlerMappingTest.BOT_EMAIL) - .id(AbstractHandlerMappingTest.BOT_ID)); - return mock; + public DatafeedLoop datafeedLoop() { + return Mockito.mock(DatafeedLoop.class, Mockito.withSettings().lenient()); } @Bean @@ -117,8 +111,7 @@ public LocalValidatorFactoryBean localValidatorFactoryBean() { } @Bean - public org.finos.springbot.tests.controller.OurController ourController() { + public OurController ourController() { return new OurController(); } - } \ No newline at end of file From b67bf2c288f84af519aea39cfc9098742eb2fa82 Mon Sep 17 00:00:00 2001 From: biyapra Date: Fri, 6 Feb 2026 15:37:58 +0530 Subject: [PATCH 03/14] migrating spring version to 4.0.1 --- .../pom.xml | 12 ---- .../teams/controller/BotControllerTest.java | 27 ++++----- .../ChannelServiceControllerTest.java | 56 ++++++++++--------- .../retry/SimpleActivityHandlerTest.java | 16 ++++-- .../messages/FileActivityHandlerTest.java | 10 ++-- 5 files changed, 58 insertions(+), 63 deletions(-) diff --git a/libs/teams/teams-chat-workflow-spring-boot-starter/pom.xml b/libs/teams/teams-chat-workflow-spring-boot-starter/pom.xml index a50bd5198..bfc623c7f 100644 --- a/libs/teams/teams-chat-workflow-spring-boot-starter/pom.xml +++ b/libs/teams/teams-chat-workflow-spring-boot-starter/pom.xml @@ -20,18 +20,6 @@ - - - io.netty - netty-codec - ${netty-codec.version} - - - - io.netty - netty-codec-http - ${netty-codec-http.version} - org.apache.commons diff --git a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/controller/BotControllerTest.java b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/controller/BotControllerTest.java index 976dc91a8..7b211fbf1 100644 --- a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/controller/BotControllerTest.java +++ b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/controller/BotControllerTest.java @@ -7,11 +7,12 @@ import org.finos.springbot.teams.MockTeamsConfiguration; import org.finos.springbot.teams.bot.BotController; import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; +import org.mockito.Spy; import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.HttpStatus; @@ -26,22 +27,18 @@ @SpringBootTest(classes = { MockTeamsConfiguration.class}) @ActiveProfiles("teams") -@ExtendWith({SpringExtension.class, MockitoExtension.class}) +@ExtendWith(MockitoExtension.class) public class BotControllerTest { @Mock BotFrameworkHttpAdapter adapter; - - @Mock + + @Spy Bot bot; - + + @InjectMocks BotController controller; - - @BeforeEach - public void setup() { - // Explicitly construct controller with mocks to ensure non-null final fields - controller = new BotController(adapter, bot); - } + @SuppressWarnings({ "deprecation" }) @Test @@ -50,12 +47,12 @@ public void testIncoming() throws InterruptedException, ExecutionException { InvokeResponse ir = new InvokeResponse(HttpStatus.OK.value(), "Success"); Mockito.when(adapter.processIncomingActivity("any text", a, bot)).thenReturn(CompletableFuture.completedFuture(ir)); CompletableFuture> future = controller.incoming(a, "any text"); - + ResponseEntity entity = future.get(); Assertions.assertEquals(200, entity.getStatusCode().value()); Assertions.assertEquals("Success", entity.getBody()); - + } - -} + +} \ No newline at end of file diff --git a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/controller/ChannelServiceControllerTest.java b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/controller/ChannelServiceControllerTest.java index 05eea6511..cea7558a8 100644 --- a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/controller/ChannelServiceControllerTest.java +++ b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/controller/ChannelServiceControllerTest.java @@ -5,17 +5,25 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; +import org.finos.springbot.teams.MockTeamsConfiguration; +import org.finos.springbot.teams.TeamsWorkflowConfig; import org.finos.springbot.teams.bot.ChannelServiceController; import org.finos.springbot.teams.content.TeamsUser; +import org.finos.springbot.teams.handlers.TeamsResponseHandler; +import org.finos.springbot.workflow.data.DataHandlerConfig; import org.finos.springbot.workflow.response.MessageResponse; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.ResponseEntity; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.junit.jupiter.SpringExtension; import com.microsoft.bot.builder.ChannelServiceHandler; import com.microsoft.bot.schema.Activity; @@ -28,13 +36,19 @@ import com.microsoft.bot.schema.ResourceResponse; import com.microsoft.bot.schema.Transcript; +@SpringBootTest(classes = { MockTeamsConfiguration.class, TeamsWorkflowConfig.class, DataHandlerConfig.class }) +@ActiveProfiles("teams") @ExtendWith(MockitoExtension.class) public class ChannelServiceControllerTest { @Mock ChannelServiceHandler handler; - ChannelServiceController controller; + @InjectMocks + ChannelServiceController controller = new ChannelServiceController(handler) {};; + + @Mock + TeamsResponseHandler teamsResponseHandler; ResourceResponse rr; @@ -47,6 +61,8 @@ public void setup() { TeamsUser tu = new TeamsUser("made", "up", "thing"); MessageResponse r = new MessageResponse(tu, "Some object"); rr = Mockito.mock(ResourceResponse.class); + + //Mockito.when(teamsResponseHandler.apply(r)).thenReturn(rr); } @SuppressWarnings({ "deprecation" }) @@ -57,8 +73,7 @@ public void testSendToConversation() throws InterruptedException, ExecutionExcep CompletableFuture> future = controller.sendToConversation("conversation Id", a, "any text"); ResponseEntity entity = future.get(); - Assertions.assertEquals(200, entity.getStatusCode().value()); - } + Assertions.assertEquals(200, entity.getStatusCode().value()); } @SuppressWarnings({ "deprecation" }) @Test @@ -67,8 +82,7 @@ public void testReplyToActivity() throws InterruptedException, ExecutionExceptio CompletableFuture> future = controller.replyToActivity("conversation Id", "activityId", a, "any text"); ResponseEntity entity = future.get(); - Assertions.assertEquals(200, entity.getStatusCode().value()); - } + Assertions.assertEquals(200, entity.getStatusCode().value()); } @SuppressWarnings({ "deprecation" }) @Test @@ -77,8 +91,7 @@ public void testUpdateActivity() throws InterruptedException, ExecutionException CompletableFuture> future = controller.updateActivity("conversation Id", "activityId", a, "any text"); ResponseEntity entity = future.get(); - Assertions.assertEquals(200, entity.getStatusCode().value()); - } + Assertions.assertEquals(200, entity.getStatusCode().value()); } @SuppressWarnings({ "deprecation" }) @Test @@ -90,8 +103,7 @@ public void testDeleteActivity() throws InterruptedException, ExecutionException CompletableFuture> future = controller.deleteActivity("conversation Id", "activityId", "any text"); ResponseEntity entity = future.get(); - Assertions.assertEquals(202, entity.getStatusCode().value()); - } + Assertions.assertEquals(202, entity.getStatusCode().value()); } @SuppressWarnings({ "deprecation" }) @Test @@ -103,8 +115,7 @@ public void testGetActivityMembers() throws InterruptedException, ExecutionExcep CompletableFuture>> future = controller.getActivityMembers("conversation Id", "activityId", "any text"); ResponseEntity> entity = future.get(); - Assertions.assertEquals(200, entity.getStatusCode().value()); - } + Assertions.assertEquals(200, entity.getStatusCode().value()); } @SuppressWarnings({ "deprecation" }) @Test @@ -119,8 +130,7 @@ public void testCreateConversation() throws InterruptedException, ExecutionExcep CompletableFuture> future = controller.createConversation(parameters, "any text"); ResponseEntity entity = future.get(); - Assertions.assertEquals(200, entity.getStatusCode().value()); - } + Assertions.assertEquals(200, entity.getStatusCode().value()); } @SuppressWarnings({ "deprecation" }) @Test @@ -133,8 +143,7 @@ public void testGetConversations() throws InterruptedException, ExecutionExcepti CompletableFuture> future = controller.getConversations("conversation Id", "activityId", "any text"); ResponseEntity entity = future.get(); - Assertions.assertEquals(200, entity.getStatusCode().value()); - } + Assertions.assertEquals(200, entity.getStatusCode().value()); } @SuppressWarnings({ "deprecation" }) @Test @@ -147,8 +156,7 @@ public void testGetConversationMembers() throws InterruptedException, ExecutionE CompletableFuture>> future = controller.getConversationMembers("conversation Id", "any text"); ResponseEntity> entity = future.get(); - Assertions.assertEquals(200, entity.getStatusCode().value()); - } + Assertions.assertEquals(200, entity.getStatusCode().value()); } @SuppressWarnings({ "deprecation" }) @Test @@ -161,8 +169,7 @@ public void testGetConversationPagedMembers() throws InterruptedException, Execu CompletableFuture> future = controller.getConversationPagedMembers("conversation Id", 1, "activityId", "any text"); ResponseEntity entity = future.get(); - Assertions.assertEquals(200, entity.getStatusCode().value()); - } + Assertions.assertEquals(200, entity.getStatusCode().value()); } @SuppressWarnings({ "deprecation" }) @Test @@ -175,8 +182,7 @@ public void testDeleteConversationMember() throws InterruptedException, Executio CompletableFuture> future = controller.deleteConversationMember("conversation Id", "Member Id", "any text"); ResponseEntity entity = future.get(); - Assertions.assertEquals(202, entity.getStatusCode().value()); - } + Assertions.assertEquals(202, entity.getStatusCode().value()); } @SuppressWarnings({ "deprecation" }) @Test @@ -191,8 +197,7 @@ public void testSendConversationHistory() throws InterruptedException, Execution CompletableFuture> future = controller.sendConversationHistory("conversation Id",history, "any text"); ResponseEntity entity = future.get(); - Assertions.assertEquals(200, entity.getStatusCode().value()); - } + Assertions.assertEquals(200, entity.getStatusCode().value()); } @SuppressWarnings({ "deprecation" }) @Test @@ -207,6 +212,5 @@ public void testUploadAttachment() throws InterruptedException, ExecutionExcepti CompletableFuture> future = controller.uploadAttachment("conversation Id",attachmentUpload, "any text"); ResponseEntity entity = future.get(); - Assertions.assertEquals(200, entity.getStatusCode().value()); - } -} + Assertions.assertEquals(200, entity.getStatusCode().value()); } +} \ No newline at end of file diff --git a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/handlers/retry/SimpleActivityHandlerTest.java b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/handlers/retry/SimpleActivityHandlerTest.java index e1b542563..a5df0a1f8 100644 --- a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/handlers/retry/SimpleActivityHandlerTest.java +++ b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/handlers/retry/SimpleActivityHandlerTest.java @@ -3,28 +3,34 @@ import org.finos.springbot.teams.content.TeamsChannel; import org.finos.springbot.teams.conversations.TeamsConversations; import org.finos.springbot.teams.handlers.SimpleActivityHandler; +import org.finos.springbot.workflow.data.DataHandlerConfig; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; import org.mockito.Mock; +import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; +import org.springframework.boot.test.context.SpringBootTest; import com.microsoft.bot.schema.Activity; -import static org.mockito.Mockito.*; +import static org.mockito.Mockito.mock; +@SpringBootTest(classes = { + DataHandlerConfig.class, +}) @ExtendWith(MockitoExtension.class) public class SimpleActivityHandlerTest { - + @Mock TeamsConversations tc; - + @InjectMocks - private SimpleActivityHandler handler; + private SimpleActivityHandler handler = new SimpleActivityHandler(tc); @Test public void testHandleActivity() { Activity activity = mock(Activity.class); handler.handleActivity(activity , new TeamsChannel()); } -} +} \ No newline at end of file diff --git a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/messages/FileActivityHandlerTest.java b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/messages/FileActivityHandlerTest.java index 5fe1deb65..d24b11480 100644 --- a/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/messages/FileActivityHandlerTest.java +++ b/libs/teams/teams-chat-workflow-spring-boot-starter/src/test/java/org/finos/springbot/teams/messages/FileActivityHandlerTest.java @@ -12,8 +12,9 @@ import org.finos.springbot.workflow.data.DataHandlerConfig; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.InjectMocks; import org.mockito.Mockito; -import org.springframework.beans.factory.annotation.Autowired; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit.jupiter.SpringExtension; @@ -24,12 +25,11 @@ @SpringBootTest(classes = { MockTeamsConfiguration.class, TeamsWorkflowConfig.class, DataHandlerConfig.class }) @ActiveProfiles("teams") -@ExtendWith(SpringExtension.class) +@ExtendWith(MockitoExtension.class) public class FileActivityHandlerTest { - // Use the Spring context to wire the handler and its dependencies instead of Mockito @InjectMocks - @Autowired + @InjectMocks FileActivityHandler handler; TurnContext tc; @@ -67,4 +67,4 @@ private FileConsentCardResponse getFileConsent() throws IOException { return fileConsentCardResponse; } -} +} \ No newline at end of file From 1a223c616a9c01a28f76c773d35a6252a6c24e83 Mon Sep 17 00:00:00 2001 From: biyapra Date: Mon, 16 Feb 2026 12:24:16 +0530 Subject: [PATCH 04/14] migrating spring version to 4.0.1 --- .../teams-chat-workflow-spring-boot-starter/pom.xml | 12 ------------ pom.xml | 4 ---- 2 files changed, 16 deletions(-) diff --git a/libs/teams/teams-chat-workflow-spring-boot-starter/pom.xml b/libs/teams/teams-chat-workflow-spring-boot-starter/pom.xml index bfc623c7f..2baa2d981 100644 --- a/libs/teams/teams-chat-workflow-spring-boot-starter/pom.xml +++ b/libs/teams/teams-chat-workflow-spring-boot-starter/pom.xml @@ -21,23 +21,11 @@ - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - - org.finos.springbot chat-workflow 10.0.4-SNAPSHOT - - - com.microsoft.azure - msal4j - ${azure-msal4j.version} - diff --git a/pom.xml b/pom.xml index a5632a25f..6d7321dc4 100644 --- a/pom.xml +++ b/pom.xml @@ -65,14 +65,10 @@ 1.16.1 1.18.0 4.5.7 - 1.21.0 1.16 4.5.13 77.1 1.81 - 3.18.0 - 4.1.126.Final - 4.1.126.Final From 11f6528a967fb67f541a0a7da1bcfd14ddbe7039 Mon Sep 17 00:00:00 2001 From: mahusun Date: Thu, 2 Apr 2026 11:17:45 +0530 Subject: [PATCH 05/14] version changed --- demos/claim-bot/pom.xml | 6 +++--- demos/custom-help-bot/pom.xml | 6 +++--- demos/demo-bot/pom.xml | 6 +++--- demos/rooms-bot/pom.xml | 6 +++--- demos/todo-bot/pom.xml | 6 +++--- libs/chat-workflow-coverage/pom.xml | 14 +++++++------- libs/chat-workflow-testing/pom.xml | 4 ++-- libs/chat-workflow/pom.xml | 4 ++-- libs/entity-json/pom.xml | 2 +- .../pom.xml | 8 ++++---- libs/symphony/entities/pom.xml | 4 ++-- .../pom.xml | 6 +++--- pom.xml | 2 +- tools/poll-bot/pom.xml | 6 +++--- tools/reminder-bot/pom.xml | 8 ++++---- tools/rss-bot/pom.xml | 4 ++-- 16 files changed, 46 insertions(+), 46 deletions(-) diff --git a/demos/claim-bot/pom.xml b/demos/claim-bot/pom.xml index cf2e8764c..0069ca307 100644 --- a/demos/claim-bot/pom.xml +++ b/demos/claim-bot/pom.xml @@ -6,7 +6,7 @@ org.finos.springbot spring-bot - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT ../.. @@ -33,12 +33,12 @@ org.finos.springbot symphony-bdk-chat-workflow-spring-boot-starter - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT org.finos.springbot teams-chat-workflow-spring-boot-starter - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT org.apache.commons diff --git a/demos/custom-help-bot/pom.xml b/demos/custom-help-bot/pom.xml index 9c000afce..c6bc6e6b1 100644 --- a/demos/custom-help-bot/pom.xml +++ b/demos/custom-help-bot/pom.xml @@ -7,7 +7,7 @@ org.finos.springbot spring-bot - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT ../../pom.xml @@ -29,13 +29,13 @@ org.finos.springbot symphony-bdk-chat-workflow-spring-boot-starter - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT compile org.finos.springbot teams-chat-workflow-spring-boot-starter - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT compile diff --git a/demos/demo-bot/pom.xml b/demos/demo-bot/pom.xml index 3316b1647..e45b6c50f 100644 --- a/demos/demo-bot/pom.xml +++ b/demos/demo-bot/pom.xml @@ -7,7 +7,7 @@ org.finos.springbot spring-bot - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT ../../pom.xml @@ -28,13 +28,13 @@ org.finos.springbot symphony-bdk-chat-workflow-spring-boot-starter - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT compile org.finos.springbot teams-chat-workflow-spring-boot-starter - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT compile diff --git a/demos/rooms-bot/pom.xml b/demos/rooms-bot/pom.xml index 93d07af8f..8696286e6 100644 --- a/demos/rooms-bot/pom.xml +++ b/demos/rooms-bot/pom.xml @@ -6,7 +6,7 @@ org.finos.springbot spring-bot - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT ../../pom.xml @@ -23,12 +23,12 @@ org.finos.springbot symphony-bdk-chat-workflow-spring-boot-starter - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT org.finos.springbot teams-chat-workflow-spring-boot-starter - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT diff --git a/demos/todo-bot/pom.xml b/demos/todo-bot/pom.xml index ec4103c52..096d8764d 100644 --- a/demos/todo-bot/pom.xml +++ b/demos/todo-bot/pom.xml @@ -6,7 +6,7 @@ org.finos.springbot spring-bot - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT ../.. @@ -23,12 +23,12 @@ org.finos.springbot symphony-bdk-chat-workflow-spring-boot-starter - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT org.finos.springbot teams-chat-workflow-spring-boot-starter - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT org.apache.commons diff --git a/libs/chat-workflow-coverage/pom.xml b/libs/chat-workflow-coverage/pom.xml index 3b3b31adf..256363877 100644 --- a/libs/chat-workflow-coverage/pom.xml +++ b/libs/chat-workflow-coverage/pom.xml @@ -10,7 +10,7 @@ org.finos.springbot spring-bot - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT ../.. @@ -56,32 +56,32 @@ org.finos.springbot chat-workflow - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT org.finos.springbot chat-workflow-testing - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT org.finos.springbot symphony-bdk-chat-workflow-spring-boot-starter - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT org.finos.springbot teams-chat-workflow-spring-boot-starter - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT org.finos.springbot entity-json - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT org.finos.springbot entities - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT diff --git a/libs/chat-workflow-testing/pom.xml b/libs/chat-workflow-testing/pom.xml index e80a3363a..79b93521a 100644 --- a/libs/chat-workflow-testing/pom.xml +++ b/libs/chat-workflow-testing/pom.xml @@ -9,7 +9,7 @@ org.finos.springbot spring-bot - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT ../.. @@ -22,7 +22,7 @@ org.finos.springbot chat-workflow - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT diff --git a/libs/chat-workflow/pom.xml b/libs/chat-workflow/pom.xml index b46491015..bf7ddf1e3 100644 --- a/libs/chat-workflow/pom.xml +++ b/libs/chat-workflow/pom.xml @@ -11,7 +11,7 @@ org.finos.springbot spring-bot - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT ../.. @@ -33,7 +33,7 @@ org.finos.springbot entity-json - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT org.springframework.boot diff --git a/libs/entity-json/pom.xml b/libs/entity-json/pom.xml index f3d527cd5..5fa0ef673 100644 --- a/libs/entity-json/pom.xml +++ b/libs/entity-json/pom.xml @@ -10,7 +10,7 @@ org.finos.springbot spring-bot - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT ../.. diff --git a/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/pom.xml b/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/pom.xml index 8960ec535..f156e23fc 100644 --- a/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/pom.xml +++ b/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/pom.xml @@ -9,7 +9,7 @@ org.finos.springbot spring-bot - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT ../../.. @@ -22,12 +22,12 @@ org.finos.springbot chat-workflow - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT org.finos.springbot entities - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT org.finos.symphony.bdk @@ -43,7 +43,7 @@ org.finos.springbot chat-workflow-testing - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT test diff --git a/libs/symphony/entities/pom.xml b/libs/symphony/entities/pom.xml index 8612a8f5e..4e967c1f1 100644 --- a/libs/symphony/entities/pom.xml +++ b/libs/symphony/entities/pom.xml @@ -10,7 +10,7 @@ org.finos.springbot spring-bot - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT ../../.. @@ -23,7 +23,7 @@ org.finos.springbot entity-json - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT diff --git a/libs/teams/teams-chat-workflow-spring-boot-starter/pom.xml b/libs/teams/teams-chat-workflow-spring-boot-starter/pom.xml index 2baa2d981..42d27baf8 100644 --- a/libs/teams/teams-chat-workflow-spring-boot-starter/pom.xml +++ b/libs/teams/teams-chat-workflow-spring-boot-starter/pom.xml @@ -9,7 +9,7 @@ org.finos.springbot spring-bot - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT ../../.. @@ -24,7 +24,7 @@ org.finos.springbot chat-workflow - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT @@ -111,7 +111,7 @@ org.finos.springbot chat-workflow-testing - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT test diff --git a/pom.xml b/pom.xml index 6d7321dc4..c7889cb89 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ org.finos.springbot spring-bot - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT pom Spring Bot diff --git a/tools/poll-bot/pom.xml b/tools/poll-bot/pom.xml index d4b2210f7..5fc298e47 100644 --- a/tools/poll-bot/pom.xml +++ b/tools/poll-bot/pom.xml @@ -6,7 +6,7 @@ org.finos.springbot spring-bot - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT ../.. @@ -23,12 +23,12 @@ org.finos.springbot symphony-bdk-chat-workflow-spring-boot-starter - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT org.finos.springbot teams-chat-workflow-spring-boot-starter - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT diff --git a/tools/reminder-bot/pom.xml b/tools/reminder-bot/pom.xml index 14d988a0a..cbf68d6fc 100644 --- a/tools/reminder-bot/pom.xml +++ b/tools/reminder-bot/pom.xml @@ -6,7 +6,7 @@ org.finos.springbot spring-bot - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT ../../pom.xml @@ -26,12 +26,12 @@ org.finos.springbot symphony-bdk-chat-workflow-spring-boot-starter - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT org.finos.springbot teams-chat-workflow-spring-boot-starter - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT org.apache.commons @@ -80,7 +80,7 @@ org.finos.springbot chat-workflow-testing - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT test diff --git a/tools/rss-bot/pom.xml b/tools/rss-bot/pom.xml index 32c5d621c..f663ede52 100644 --- a/tools/rss-bot/pom.xml +++ b/tools/rss-bot/pom.xml @@ -6,7 +6,7 @@ org.finos.springbot spring-bot - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT ../.. @@ -23,7 +23,7 @@ org.finos.springbot symphony-bdk-chat-workflow-spring-boot-starter - 10.0.4-SNAPSHOT + 11.0.1-SNAPSHOT org.apache.commons From 873ff70b744fe404351f5b9634675f117f27ac64 Mon Sep 17 00:00:00 2001 From: vaibhav-a mankar Date: Fri, 3 Apr 2026 12:45:07 +0530 Subject: [PATCH 06/14] SYMPHONYP-1450 MIGRATING-SPRING-TO-4.0.1 --- demos/claim-bot/pom.xml | 6 +++--- demos/custom-help-bot/pom.xml | 6 +++--- demos/demo-bot/pom.xml | 6 +++--- demos/rooms-bot/pom.xml | 6 +++--- demos/todo-bot/pom.xml | 6 +++--- libs/chat-workflow-coverage/pom.xml | 14 +++++++------- libs/chat-workflow-testing/pom.xml | 4 ++-- libs/chat-workflow/pom.xml | 4 ++-- libs/entity-json/pom.xml | 2 +- .../pom.xml | 8 ++++---- libs/symphony/entities/pom.xml | 4 ++-- .../pom.xml | 6 +++--- pom.xml | 2 +- tools/poll-bot/pom.xml | 6 +++--- tools/reminder-bot/pom.xml | 8 ++++---- tools/rss-bot/pom.xml | 4 ++-- 16 files changed, 46 insertions(+), 46 deletions(-) diff --git a/demos/claim-bot/pom.xml b/demos/claim-bot/pom.xml index 0069ca307..ddbf7adb8 100644 --- a/demos/claim-bot/pom.xml +++ b/demos/claim-bot/pom.xml @@ -6,7 +6,7 @@ org.finos.springbot spring-bot - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT ../.. @@ -33,12 +33,12 @@ org.finos.springbot symphony-bdk-chat-workflow-spring-boot-starter - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT org.finos.springbot teams-chat-workflow-spring-boot-starter - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT org.apache.commons diff --git a/demos/custom-help-bot/pom.xml b/demos/custom-help-bot/pom.xml index c6bc6e6b1..d04dba4fd 100644 --- a/demos/custom-help-bot/pom.xml +++ b/demos/custom-help-bot/pom.xml @@ -7,7 +7,7 @@ org.finos.springbot spring-bot - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT ../../pom.xml @@ -29,13 +29,13 @@ org.finos.springbot symphony-bdk-chat-workflow-spring-boot-starter - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT compile org.finos.springbot teams-chat-workflow-spring-boot-starter - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT compile diff --git a/demos/demo-bot/pom.xml b/demos/demo-bot/pom.xml index e45b6c50f..c61db86bf 100644 --- a/demos/demo-bot/pom.xml +++ b/demos/demo-bot/pom.xml @@ -7,7 +7,7 @@ org.finos.springbot spring-bot - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT ../../pom.xml @@ -28,13 +28,13 @@ org.finos.springbot symphony-bdk-chat-workflow-spring-boot-starter - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT compile org.finos.springbot teams-chat-workflow-spring-boot-starter - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT compile diff --git a/demos/rooms-bot/pom.xml b/demos/rooms-bot/pom.xml index 8696286e6..8e8dd76e0 100644 --- a/demos/rooms-bot/pom.xml +++ b/demos/rooms-bot/pom.xml @@ -6,7 +6,7 @@ org.finos.springbot spring-bot - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT ../../pom.xml @@ -23,12 +23,12 @@ org.finos.springbot symphony-bdk-chat-workflow-spring-boot-starter - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT org.finos.springbot teams-chat-workflow-spring-boot-starter - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT diff --git a/demos/todo-bot/pom.xml b/demos/todo-bot/pom.xml index 096d8764d..5b8e26a44 100644 --- a/demos/todo-bot/pom.xml +++ b/demos/todo-bot/pom.xml @@ -6,7 +6,7 @@ org.finos.springbot spring-bot - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT ../.. @@ -23,12 +23,12 @@ org.finos.springbot symphony-bdk-chat-workflow-spring-boot-starter - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT org.finos.springbot teams-chat-workflow-spring-boot-starter - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT org.apache.commons diff --git a/libs/chat-workflow-coverage/pom.xml b/libs/chat-workflow-coverage/pom.xml index 256363877..ed19ff536 100644 --- a/libs/chat-workflow-coverage/pom.xml +++ b/libs/chat-workflow-coverage/pom.xml @@ -10,7 +10,7 @@ org.finos.springbot spring-bot - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT ../.. @@ -56,32 +56,32 @@ org.finos.springbot chat-workflow - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT org.finos.springbot chat-workflow-testing - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT org.finos.springbot symphony-bdk-chat-workflow-spring-boot-starter - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT org.finos.springbot teams-chat-workflow-spring-boot-starter - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT org.finos.springbot entity-json - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT org.finos.springbot entities - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT diff --git a/libs/chat-workflow-testing/pom.xml b/libs/chat-workflow-testing/pom.xml index 79b93521a..53e2df74f 100644 --- a/libs/chat-workflow-testing/pom.xml +++ b/libs/chat-workflow-testing/pom.xml @@ -9,7 +9,7 @@ org.finos.springbot spring-bot - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT ../.. @@ -22,7 +22,7 @@ org.finos.springbot chat-workflow - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT diff --git a/libs/chat-workflow/pom.xml b/libs/chat-workflow/pom.xml index bf7ddf1e3..04dae3253 100644 --- a/libs/chat-workflow/pom.xml +++ b/libs/chat-workflow/pom.xml @@ -11,7 +11,7 @@ org.finos.springbot spring-bot - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT ../.. @@ -33,7 +33,7 @@ org.finos.springbot entity-json - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT org.springframework.boot diff --git a/libs/entity-json/pom.xml b/libs/entity-json/pom.xml index 5fa0ef673..7ebaa2aa1 100644 --- a/libs/entity-json/pom.xml +++ b/libs/entity-json/pom.xml @@ -10,7 +10,7 @@ org.finos.springbot spring-bot - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT ../.. diff --git a/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/pom.xml b/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/pom.xml index f156e23fc..445fadb39 100644 --- a/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/pom.xml +++ b/libs/symphony-bdk/symphony-bdk-chat-workflow-spring-boot-starter/pom.xml @@ -9,7 +9,7 @@ org.finos.springbot spring-bot - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT ../../.. @@ -22,12 +22,12 @@ org.finos.springbot chat-workflow - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT org.finos.springbot entities - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT org.finos.symphony.bdk @@ -43,7 +43,7 @@ org.finos.springbot chat-workflow-testing - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT test diff --git a/libs/symphony/entities/pom.xml b/libs/symphony/entities/pom.xml index 4e967c1f1..1e9ec8927 100644 --- a/libs/symphony/entities/pom.xml +++ b/libs/symphony/entities/pom.xml @@ -10,7 +10,7 @@ org.finos.springbot spring-bot - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT ../../.. @@ -23,7 +23,7 @@ org.finos.springbot entity-json - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT diff --git a/libs/teams/teams-chat-workflow-spring-boot-starter/pom.xml b/libs/teams/teams-chat-workflow-spring-boot-starter/pom.xml index 42d27baf8..ba85a639c 100644 --- a/libs/teams/teams-chat-workflow-spring-boot-starter/pom.xml +++ b/libs/teams/teams-chat-workflow-spring-boot-starter/pom.xml @@ -9,7 +9,7 @@ org.finos.springbot spring-bot - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT ../../.. @@ -24,7 +24,7 @@ org.finos.springbot chat-workflow - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT @@ -111,7 +111,7 @@ org.finos.springbot chat-workflow-testing - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT test diff --git a/pom.xml b/pom.xml index c7889cb89..0749f3e36 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ org.finos.springbot spring-bot - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT pom Spring Bot diff --git a/tools/poll-bot/pom.xml b/tools/poll-bot/pom.xml index 5fc298e47..d389f7966 100644 --- a/tools/poll-bot/pom.xml +++ b/tools/poll-bot/pom.xml @@ -6,7 +6,7 @@ org.finos.springbot spring-bot - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT ../.. @@ -23,12 +23,12 @@ org.finos.springbot symphony-bdk-chat-workflow-spring-boot-starter - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT org.finos.springbot teams-chat-workflow-spring-boot-starter - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT diff --git a/tools/reminder-bot/pom.xml b/tools/reminder-bot/pom.xml index cbf68d6fc..616f535f8 100644 --- a/tools/reminder-bot/pom.xml +++ b/tools/reminder-bot/pom.xml @@ -6,7 +6,7 @@ org.finos.springbot spring-bot - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT ../../pom.xml @@ -26,12 +26,12 @@ org.finos.springbot symphony-bdk-chat-workflow-spring-boot-starter - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT org.finos.springbot teams-chat-workflow-spring-boot-starter - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT org.apache.commons @@ -80,7 +80,7 @@ org.finos.springbot chat-workflow-testing - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT test diff --git a/tools/rss-bot/pom.xml b/tools/rss-bot/pom.xml index f663ede52..abda8c1e5 100644 --- a/tools/rss-bot/pom.xml +++ b/tools/rss-bot/pom.xml @@ -6,7 +6,7 @@ org.finos.springbot spring-bot - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT ../.. @@ -23,7 +23,7 @@ org.finos.springbot symphony-bdk-chat-workflow-spring-boot-starter - 11.0.1-SNAPSHOT + 11.0.0-SNAPSHOT org.apache.commons From 795ef2381926144a5399164fccf38e41d80e09e4 Mon Sep 17 00:00:00 2001 From: vaibhav-a mankar Date: Wed, 8 Apr 2026 13:12:14 +0530 Subject: [PATCH 07/14] SYMPHONYP-1514 modified read me file --- README.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ea2da2b5a..1332829f6 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,8 @@ | Version | Number | Status | | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | -| Spring Bot (Spring Boot V3) | [![Maven Central](https://img.shields.io/maven-central/v/org.finos.springbot/spring-bot)](https://search.maven.org/search?q=org.finos.springbot) | ![build](https://github.com/finos/spring-bot/actions/workflows/build.yml/badge.svg) | +| Spring Bot (Spring Boot V4) | [![Maven Central](https://img.shields.io/maven-central/v/org.finos.springbot/spring-bot)](https://search.maven.org/search?q=org.finos.springbot) | ![build](https://github.com/finos/spring-bot/actions/workflows/build.yml/badge.svg) | +| Spring Bot (Spring Boot V3) | [![Maven Central](https://img.shields.io/maven-central/v/org.finos.springbot/spring-bot?versionPrefix=10)](https://search.maven.org/search?q=org.finos.springbot) | ![build](https://github.com/finos/spring-bot/actions/workflows/build.yml/badge.svg) | | Spring Bot (Spring Boot V2) | [![Maven Central](https://img.shields.io/maven-central/v/org.finos.springbot/spring-bot?versionPrefix=9)](https://search.maven.org/search?q=org.finos.springbot) | ![build](https://github.com/finos/spring-bot/actions/workflows/build.yml/badge.svg) | | Symphony Java Toolkit | [![Maven Central](https://img.shields.io/maven-central/v/org.finos.symphony.toolkit/symphony-java-toolkit)](https://search.maven.org/search?q=org.finos.symphony.toolkit) | ![build](https://github.com/finos/spring-bot/actions/workflows/build.yml/badge.svg?branch=symphony-java-toolkit-master) | @@ -159,6 +160,16 @@ mvn -DskipTests clean test source:jar javadoc:javadoc deploy -P symphony-release mvn versions:set -DnewVersion=..-SNAPSHOT -DartifactId=\* -DgroupId=\* # then PR spring-bot-master branch with the new version number ``` +##OR + +``` +#create your version tag and push that tag. +mvn clean test +mvn versions:set -DnewVersion=.. -DartifactId=\* -DgroupId=\* +git tag .. +git push origin .. +mvn versions:set -DnewVersion=..-SNAPSHOT -DartifactId=\* -DgroupId= +``` 3. SECURITY.md From 36b51bf90f81aae067a88e2c13a1446795eaadf8 Mon Sep 17 00:00:00 2001 From: vaibhav-a mankar Date: Wed, 8 Apr 2026 13:43:20 +0530 Subject: [PATCH 08/14] SYMPHONYP-1514 modified read me file --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1332829f6..5de94e33f 100644 --- a/README.md +++ b/README.md @@ -160,10 +160,10 @@ mvn -DskipTests clean test source:jar javadoc:javadoc deploy -P symphony-release mvn versions:set -DnewVersion=..-SNAPSHOT -DartifactId=\* -DgroupId=\* # then PR spring-bot-master branch with the new version number ``` -##OR +OR ``` -#create your version tag and push that tag. +#create your version tag and push that tag on spring-bot-master branch mvn clean test mvn versions:set -DnewVersion=.. -DartifactId=\* -DgroupId=\* git tag .. From 06683c9d5622e7611ebbedc2d2e4e782ba818ab7 Mon Sep 17 00:00:00 2001 From: vaibhav-a mankar Date: Fri, 8 May 2026 13:31:23 +0530 Subject: [PATCH 09/14] SYMPHONYP-1546 updated readme file to correct to maven search path --- .github/workflows/acceptable-licenses.txt | 3 +- .github/workflows/cve-scanning.yml | 2 +- README.md | 366 +++++++++++----------- 3 files changed, 186 insertions(+), 185 deletions(-) diff --git a/.github/workflows/acceptable-licenses.txt b/.github/workflows/acceptable-licenses.txt index cf1d52cfb..4baebb5d4 100644 --- a/.github/workflows/acceptable-licenses.txt +++ b/.github/workflows/acceptable-licenses.txt @@ -50,4 +50,5 @@ W3C license jQuery license MIT -MIT-0 \ No newline at end of file +MIT-0 +Unicode-3.0 diff --git a/.github/workflows/cve-scanning.yml b/.github/workflows/cve-scanning.yml index b02854a59..a298c0649 100644 --- a/.github/workflows/cve-scanning.yml +++ b/.github/workflows/cve-scanning.yml @@ -28,7 +28,7 @@ jobs: - name: Build with Maven run: mvn install -DskipTests - name: Depcheck - uses: dependency-check/Dependency-Check_Action@1.1.0 + uses: dependency-check/Dependency-Check_Action@main id: Depcheck env: JAVA_HOME: /opt/jdk diff --git a/README.md b/README.md index 5de94e33f..ba6a310ba 100644 --- a/README.md +++ b/README.md @@ -1,183 +1,183 @@ -[![FINOS - Active](https://cdn.jsdelivr.net/gh/finos/contrib-toolbox@master/images/badge-active.svg)](https://community.finos.org/docs/governance/Software-Projects/stages/active) -[![codecov](https://codecov.io/gh/finos/spring-bot/branch/spring-bot-develop/graph/badge.svg?token=CSa0aaqYD0)](https://codecov.io/gh/finos/spring-bot) -![License](https://img.shields.io/github/license/finos/spring-bot) -![build](https://github.com/finos/spring-bot/actions/workflows/build.yml/badge.svg) -[![javadoc](https://javadoc.io/badge2/org.finos.springbot/chat-workflow/javadoc.svg)](https://javadoc.io/doc/org.finos.springbot/chat-workflow) -[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/5948/badge)](https://bestpractices.coreinfrastructure.org/projects/5948) - -| Version | Number | Status | -| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | -| Spring Bot (Spring Boot V4) | [![Maven Central](https://img.shields.io/maven-central/v/org.finos.springbot/spring-bot)](https://search.maven.org/search?q=org.finos.springbot) | ![build](https://github.com/finos/spring-bot/actions/workflows/build.yml/badge.svg) | -| Spring Bot (Spring Boot V3) | [![Maven Central](https://img.shields.io/maven-central/v/org.finos.springbot/spring-bot?versionPrefix=10)](https://search.maven.org/search?q=org.finos.springbot) | ![build](https://github.com/finos/spring-bot/actions/workflows/build.yml/badge.svg) | -| Spring Bot (Spring Boot V2) | [![Maven Central](https://img.shields.io/maven-central/v/org.finos.springbot/spring-bot?versionPrefix=9)](https://search.maven.org/search?q=org.finos.springbot) | ![build](https://github.com/finos/spring-bot/actions/workflows/build.yml/badge.svg) | -| Symphony Java Toolkit | [![Maven Central](https://img.shields.io/maven-central/v/org.finos.symphony.toolkit/symphony-java-toolkit)](https://search.maven.org/search?q=org.finos.symphony.toolkit) | ![build](https://github.com/finos/spring-bot/actions/workflows/build.yml/badge.svg?branch=symphony-java-toolkit-master) | - -![Spring Bot Logo](logo.png) - -# Spring Bot - -Spring Bot is a set of [Spring Boot](https://spring.io/projects/spring-boot) starters designed for building chat bots in Java & Kotlin. - -## What Is It? - -- Spring Bot provides a simple annotation-based way to create chat bots. -- It currently supports Symphony and Microsoft Teams. -- It allows you to build your chatbot using annotations, binding messages to methods in a similar way to [Spring Web MVC](https://docs.spring.io/spring-framework/docs/6.0.x/reference/html/web.html#spring-web) -- [READ THE FINOS CASE STUDY HERE](https://www.finos.org/deutsche-bank-spring-bot-case-study) - -## Why Is This Important? - -πŸ§‘πŸ½β€πŸ€β€πŸ§‘πŸ½ **Multiple Platforms** - -Like it or not, most of us find ourselves working in environments with _multiple chat platforms_. As bot developers, we need to be able to reach users irrespective of which platform they are on. - -β›… **Work at a higher level** - -Developers of chat-bots are not well-supported with Open-Source tooling. Too much effort gets spent on low-level message-handling, which could easily be done by a library. - -πŸ”’ **Avoid Lock-In** - -Most bot development tools are commercial. If you build bots with them you are locked into paying license fees forever. For example, the Microsoft Bot Framework support multiple chat platforms at the expense of locking you into the Azure ecosystem. - -## How Does It Work? - -This is best described at [springbot.finos.org](https://springbot.finos.org). This takes you through the process of building several example bots from scratch. - -## What Are The Benefits? - -### βœ”οΈ Build Bots that run on multiple platforms - -> By using Spring Bot's abstractions, you can target both Symphony and Microsoft Teams. Depending on demand (or contributions) further platforms may be supported in the future. In the tutorials we show how to build a [claim processing bot](https://springbot.finos.org/getting-started.html) which runs a workflow concurrently on Teams and Symphony. - -### βœ”οΈFocus On Business Logic - -> Spring Bot handles marshalling from/to the underlying message formats on your platform. - -### βœ”οΈ Advanced Templating - -> Templates are automatically generated for any Java objects (POJOs) that you want to send to the chat platform. This allows users to read/edit objects and send them back to your bot. Additionally, templates are fully customizable on a per-platform basis, currently using Freemarker and Thymeleaf. - -### βœ”οΈAnnotations Make It Super-Easy - -> As the [tutorials](https://springbot.finos.org) show, you just drop a few annotations into your application to enable it to read and send chat messages. - -### βœ”οΈ A Mature Ecosystem - -> By building bots in a mature ecosystem like Java, you avoid all of the usual issues with no-code and low-code environments. Java is a mature language with every conceivable library, a wealth of Stack-Overflow QA's and a convincing DevOps/Deployment story (Java runs anywhere). - -### βœ”οΈ Avoid The Lock-In Trap - -> Most low-code / no-code platforms are a trap: they are looking to lock-in customers and revenue streams by persuading you to build your business with them as a dependency. Spring Bot is open-source so this is literally a non-issue. - -## Watch It In Action - -[![Short 3 minute intro](https://img.youtube.com/vi/TyaGdGmqeGo/hqdefault.jpg)](https://youtu.be/TyaGdGmqeGo) - -## Plenty Of Example Bots To Learn From - -This project contains various example bots that were (originally) written at Deutsche Bank in response to real use-cases. However, we felt they were general enough to warrant Open-Sourcing and including as code to work from. - -πŸ‘ All of these bots work on Microsoft Teams and Symphony, and are deployed into maven central as executable jars. - -### πŸ€– Poll Bot - -A bot for running polls in a Symphony/Teams chat room. πŸ‘ _Production Ready_ - -- [View the README](tools/poll-bot/README.md) - -### πŸ€– News (RSS) Bot - -A bot for feeding news into a Symphony/Teams chat room. πŸ‘ _Production Ready_ - -- [View the README](tools/rss-bot/README.md) - -### πŸ€– Reminder Bot - -Reads the contents of a room and creates reminders based on future events mentioned therein. πŸ‘ _Production Ready_ - -- [View the README](tools/reminder-bot/README.md) - -## Plenty of Tutorials / Demo Code - -Inside the `/demos` directory you can see three example bots: - -- `demo-bot` : The "Hello World" of Spring Bot -- `todo-bot` : Runs a simple todo-list inside a chat room on Teams or Symphony. -- `room-bot` : A room broadcasting bot, that shows how to use the chat dropdown, and address messages across Teams and Symphony. -- `claim-bot`: An example of an expense-claim workflow running across Teams and Symphony concurrently. -- `custom-help-bot`: Shows you how you can override built-in beans (like the `HelpController`) to change the functionality of Spring Bot. - -Tutorials for building these and the reference guide are found here: [Spring Bot](https://springbot.finos.org) - -# License - -Copyright 2022 FINOS - -Distributed under the Apache License, Version 2.0. - -SPDX-License-Identifier: Apache-2.0 - -# Vulnerabilities / Security - -Please see our [Security Policy](SECURITY.md). - -# How To Contribute - -We are always looking for helpful contributors! You can check out the [Good First Issues](https://github.com/finos/spring-bot/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) or our [Contributing Guidelines](CONTRIBUTING.md) page for more details. - -We have a [weekly Spring Bot project meeting](https://calendar.google.com/calendar/u/0/embed?src=finos.org_fac8mo1rfc6ehscg0d80fi8jig@group.calendar.google.com&ctz=America/New_York) which you can attend. Minutes are [held as issues](https://github.com/finos/spring-bot/issues). - -# Roadmap - -The spring bot roadmap is a number of tagged issues that we are working on _next_. - -You can view the roadmap issues [here](https://github.com/finos/spring-bot/issues?q=is%3Aissue+is%3Aopen+label%3Aroadmap). - -# For Maintainers - -## Branches - -There are two main branches: - -- `spring-bot-master`: new code for the multi-platform Symphony / Microsoft Teams bot builder -- `symphony-java-toolkit-master`: legacy code for when this project only supported symphony. - -## Releasing This Project - -In order to do a release: - -1. Changes.md - -- Update this file to include details of the release. - -2. On Releaser's machine: - -``` -# on spring-bot-master branch -mvn clean test -mvn versions:set -DnewVersion=.. -DartifactId=\* -DgroupId=\* -mvn -DskipTests clean test source:jar javadoc:javadoc deploy -P symphony-release -mvn versions:set -DnewVersion=..-SNAPSHOT -DartifactId=\* -DgroupId=\* -# then PR spring-bot-master branch with the new version number -``` -OR - -``` -#create your version tag and push that tag on spring-bot-master branch -mvn clean test -mvn versions:set -DnewVersion=.. -DartifactId=\* -DgroupId=\* -git tag .. -git push origin .. -mvn versions:set -DnewVersion=..-SNAPSHOT -DartifactId=\* -DgroupId= -``` - -3. SECURITY.md - -- Update this with new version numbers if needed. - -4. On `oss.sonatype.org` - -- Close the Staging Repository -- Release it. - -5. Perform release on github with same number +[![FINOS - Active](https://cdn.jsdelivr.net/gh/finos/contrib-toolbox@master/images/badge-active.svg)](https://community.finos.org/docs/governance/Software-Projects/stages/active) +[![codecov](https://codecov.io/gh/finos/spring-bot/branch/spring-bot-develop/graph/badge.svg?token=CSa0aaqYD0)](https://codecov.io/gh/finos/spring-bot) +![License](https://img.shields.io/github/license/finos/spring-bot) +![build](https://github.com/finos/spring-bot/actions/workflows/build.yml/badge.svg) +[![javadoc](https://javadoc.io/badge2/org.finos.springbot/chat-workflow/javadoc.svg)](https://javadoc.io/doc/org.finos.springbot/chat-workflow) +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/5948/badge)](https://bestpractices.coreinfrastructure.org/projects/5948) + +| Version | Number | Status | +| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| Spring Bot (Spring Boot V4) | [![Maven Central](https://img.shields.io/maven-central/v/org.finos.springbot/spring-bot)](https://central.sonatype.com/search?q=org.finos.springbot&smo=true) | ![build](https://github.com/finos/spring-bot/actions/workflows/build.yml/badge.svg) | +| Spring Bot (Spring Boot V3) | [![Maven Central](https://img.shields.io/maven-central/v/org.finos.springbot/spring-bot?versionPrefix=10)](https://central.sonatype.com/search?q=org.finos.springbot&smo=true) | ![build](https://github.com/finos/spring-bot/actions/workflows/build.yml/badge.svg) | +| Spring Bot (Spring Boot V2) | [![Maven Central](https://img.shields.io/maven-central/v/org.finos.springbot/spring-bot?versionPrefix=9)](https://central.sonatype.com/search?q=org.finos.springbot&smo=true) | ![build](https://github.com/finos/spring-bot/actions/workflows/build.yml/badge.svg) | +| Symphony Java Toolkit | [![Maven Central](https://img.shields.io/maven-central/v/org.finos.symphony.toolkit/symphony-java-toolkit)](https://central.sonatype.com/search?q=org.finos.symphony.toolkit&smo=true) | ![build](https://github.com/finos/spring-bot/actions/workflows/build.yml/badge.svg?branch=symphony-java-toolkit-master) | + +![Spring Bot Logo](logo.png) + +# Spring Bot + +Spring Bot is a set of [Spring Boot](https://spring.io/projects/spring-boot) starters designed for building chat bots in Java & Kotlin. + +## What Is It? + +- Spring Bot provides a simple annotation-based way to create chat bots. +- It currently supports Symphony and Microsoft Teams. +- It allows you to build your chatbot using annotations, binding messages to methods in a similar way to [Spring Web MVC](https://docs.spring.io/spring-framework/docs/6.0.x/reference/html/web.html#spring-web) +- [READ THE FINOS CASE STUDY HERE](https://www.finos.org/deutsche-bank-spring-bot-case-study) + +## Why Is This Important? + +πŸ§‘πŸ½β€πŸ€β€πŸ§‘πŸ½ **Multiple Platforms** + +Like it or not, most of us find ourselves working in environments with _multiple chat platforms_. As bot developers, we need to be able to reach users irrespective of which platform they are on. + +β›… **Work at a higher level** + +Developers of chat-bots are not well-supported with Open-Source tooling. Too much effort gets spent on low-level message-handling, which could easily be done by a library. + +πŸ”’ **Avoid Lock-In** + +Most bot development tools are commercial. If you build bots with them you are locked into paying license fees forever. For example, the Microsoft Bot Framework support multiple chat platforms at the expense of locking you into the Azure ecosystem. + +## How Does It Work? + +This is best described at [springbot.finos.org](https://springbot.finos.org). This takes you through the process of building several example bots from scratch. + +## What Are The Benefits? + +### βœ”οΈ Build Bots that run on multiple platforms + +> By using Spring Bot's abstractions, you can target both Symphony and Microsoft Teams. Depending on demand (or contributions) further platforms may be supported in the future. In the tutorials we show how to build a [claim processing bot](https://springbot.finos.org/getting-started.html) which runs a workflow concurrently on Teams and Symphony. + +### βœ”οΈFocus On Business Logic + +> Spring Bot handles marshalling from/to the underlying message formats on your platform. + +### βœ”οΈ Advanced Templating + +> Templates are automatically generated for any Java objects (POJOs) that you want to send to the chat platform. This allows users to read/edit objects and send them back to your bot. Additionally, templates are fully customizable on a per-platform basis, currently using Freemarker and Thymeleaf. + +### βœ”οΈAnnotations Make It Super-Easy + +> As the [tutorials](https://springbot.finos.org) show, you just drop a few annotations into your application to enable it to read and send chat messages. + +### βœ”οΈ A Mature Ecosystem + +> By building bots in a mature ecosystem like Java, you avoid all of the usual issues with no-code and low-code environments. Java is a mature language with every conceivable library, a wealth of Stack-Overflow QA's and a convincing DevOps/Deployment story (Java runs anywhere). + +### βœ”οΈ Avoid The Lock-In Trap + +> Most low-code / no-code platforms are a trap: they are looking to lock-in customers and revenue streams by persuading you to build your business with them as a dependency. Spring Bot is open-source so this is literally a non-issue. + +## Watch It In Action + +[![Short 3 minute intro](https://img.youtube.com/vi/TyaGdGmqeGo/hqdefault.jpg)](https://youtu.be/TyaGdGmqeGo) + +## Plenty Of Example Bots To Learn From + +This project contains various example bots that were (originally) written at Deutsche Bank in response to real use-cases. However, we felt they were general enough to warrant Open-Sourcing and including as code to work from. + +πŸ‘ All of these bots work on Microsoft Teams and Symphony, and are deployed into maven central as executable jars. + +### πŸ€– Poll Bot + +A bot for running polls in a Symphony/Teams chat room. πŸ‘ _Production Ready_ + +- [View the README](tools/poll-bot/README.md) + +### πŸ€– News (RSS) Bot + +A bot for feeding news into a Symphony/Teams chat room. πŸ‘ _Production Ready_ + +- [View the README](tools/rss-bot/README.md) + +### πŸ€– Reminder Bot + +Reads the contents of a room and creates reminders based on future events mentioned therein. πŸ‘ _Production Ready_ + +- [View the README](tools/reminder-bot/README.md) + +## Plenty of Tutorials / Demo Code + +Inside the `/demos` directory you can see three example bots: + +- `demo-bot` : The "Hello World" of Spring Bot +- `todo-bot` : Runs a simple todo-list inside a chat room on Teams or Symphony. +- `room-bot` : A room broadcasting bot, that shows how to use the chat dropdown, and address messages across Teams and Symphony. +- `claim-bot`: An example of an expense-claim workflow running across Teams and Symphony concurrently. +- `custom-help-bot`: Shows you how you can override built-in beans (like the `HelpController`) to change the functionality of Spring Bot. + +Tutorials for building these and the reference guide are found here: [Spring Bot](https://springbot.finos.org) + +# License + +Copyright 2022 FINOS + +Distributed under the Apache License, Version 2.0. + +SPDX-License-Identifier: Apache-2.0 + +# Vulnerabilities / Security + +Please see our [Security Policy](SECURITY.md). + +# How To Contribute + +We are always looking for helpful contributors! You can check out the [Good First Issues](https://github.com/finos/spring-bot/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) or our [Contributing Guidelines](CONTRIBUTING.md) page for more details. + +We have a [weekly Spring Bot project meeting](https://calendar.google.com/calendar/u/0/embed?src=finos.org_fac8mo1rfc6ehscg0d80fi8jig@group.calendar.google.com&ctz=America/New_York) which you can attend. Minutes are [held as issues](https://github.com/finos/spring-bot/issues). + +# Roadmap + +The spring bot roadmap is a number of tagged issues that we are working on _next_. + +You can view the roadmap issues [here](https://github.com/finos/spring-bot/issues?q=is%3Aissue+is%3Aopen+label%3Aroadmap). + +# For Maintainers + +## Branches + +There are two main branches: + +- `spring-bot-master`: new code for the multi-platform Symphony / Microsoft Teams bot builder +- `symphony-java-toolkit-master`: legacy code for when this project only supported symphony. + +## Releasing This Project + +In order to do a release: + +1. Changes.md + +- Update this file to include details of the release. + +2. On Releaser's machine: + +``` +# on spring-bot-master branch +mvn clean test +mvn versions:set -DnewVersion=.. -DartifactId=\* -DgroupId=\* +mvn -DskipTests clean test source:jar javadoc:javadoc deploy -P symphony-release +mvn versions:set -DnewVersion=..-SNAPSHOT -DartifactId=\* -DgroupId=\* +# then PR spring-bot-master branch with the new version number +``` +OR + +``` +#create your version tag and push that tag on spring-bot-master branch +mvn clean test +mvn versions:set -DnewVersion=.. -DartifactId=\* -DgroupId=\* +git tag .. +git push origin .. +mvn versions:set -DnewVersion=..-SNAPSHOT -DartifactId=\* -DgroupId= +``` + +3. SECURITY.md + +- Update this with new version numbers if needed. + +4. On `oss.sonatype.org` + +- Close the Staging Repository +- Release it. + +5. Perform release on github with same number From 8d54d7192e6c93f622f73c6bf642659cc69d14f9 Mon Sep 17 00:00:00 2001 From: "pranav.biyani" Date: Wed, 13 May 2026 10:27:04 +0530 Subject: [PATCH 10/14] spring version 4.0.6 --- pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 3b46d05e2..1a9862d53 100644 --- a/pom.xml +++ b/pom.xml @@ -50,7 +50,7 @@ UTF-8 - 4.0.1 + 4.0.6 17 17 17 @@ -62,13 +62,13 @@ 1.17.2 23.0.3 3.0.0 - 1.16.1 + 1.16.4 1.18.0 4.5.7 1.16 4.5.13 77.1 - 1.81 + 1.84 From a67e04ef7c52c5d94f40527f3e2f12e5478892a2 Mon Sep 17 00:00:00 2001 From: "pranav.biyani" Date: Wed, 13 May 2026 14:16:49 +0530 Subject: [PATCH 11/14] spring version 4.0.6 --- .../pom.xml | 24 +++++++++++++++++++ pom.xml | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/libs/teams/teams-chat-workflow-spring-boot-starter/pom.xml b/libs/teams/teams-chat-workflow-spring-boot-starter/pom.xml index ba85a639c..b6bc812e6 100644 --- a/libs/teams/teams-chat-workflow-spring-boot-starter/pom.xml +++ b/libs/teams/teams-chat-workflow-spring-boot-starter/pom.xml @@ -21,6 +21,30 @@ + + io.netty + netty-codec-http + ${netty.version} + + + + io.netty + netty-codec-compression + ${netty.version} + + + + io.netty + netty-transport-native-epoll + ${netty.version} + + + + io.netty + netty-transport-native-unix-common + ${netty.version} + + org.finos.springbot chat-workflow diff --git a/pom.xml b/pom.xml index 1a9862d53..b9dc6cb6b 100644 --- a/pom.xml +++ b/pom.xml @@ -69,7 +69,7 @@ 4.5.13 77.1 1.84 - + 4.2.13.Final From ed0d2f7f4313429ef3b9e190f416f95f5592db8e Mon Sep 17 00:00:00 2001 From: "pranav.biyani" Date: Wed, 13 May 2026 15:25:56 +0530 Subject: [PATCH 12/14] spring version 4.0.6 --- .github/workflows/cve-scanning.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/cve-scanning.yml b/.github/workflows/cve-scanning.yml index a298c0649..41dd3e513 100644 --- a/.github/workflows/cve-scanning.yml +++ b/.github/workflows/cve-scanning.yml @@ -41,8 +41,6 @@ jobs: --suppression ./.github/workflows/allow-list.xml --failOnCVSS 5 --enableRetired - --ossIndexUsername ${{ secrets.SONATYPE_INDEX_USER }} - --ossIndexPassword ${{ secrets.SONATYPE_INDEX_PASSWORD }} - name: Upload Test results if: ${{ always() }} From ef1a56f1fe149d50720183858c453cca8f5b298f Mon Sep 17 00:00:00 2001 From: "pranav.biyani" Date: Wed, 13 May 2026 15:29:45 +0530 Subject: [PATCH 13/14] spring version 4.0.6 --- .github/workflows/cve-scanning.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/cve-scanning.yml b/.github/workflows/cve-scanning.yml index 41dd3e513..3b5272ea5 100644 --- a/.github/workflows/cve-scanning.yml +++ b/.github/workflows/cve-scanning.yml @@ -41,6 +41,7 @@ jobs: --suppression ./.github/workflows/allow-list.xml --failOnCVSS 5 --enableRetired + - name: Upload Test results if: ${{ always() }} From a804a3d3805b99d049ad20fb687b8c702776a664 Mon Sep 17 00:00:00 2001 From: "pranav.biyani" Date: Wed, 13 May 2026 15:30:40 +0530 Subject: [PATCH 14/14] spring version 4.0.6 --- .github/workflows/cve-scanning.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/cve-scanning.yml b/.github/workflows/cve-scanning.yml index 3b5272ea5..41dd3e513 100644 --- a/.github/workflows/cve-scanning.yml +++ b/.github/workflows/cve-scanning.yml @@ -41,7 +41,6 @@ jobs: --suppression ./.github/workflows/allow-list.xml --failOnCVSS 5 --enableRetired - - name: Upload Test results if: ${{ always() }}