88#include " mock_response_publisher.h"
99#include " mock_sai_bridge.h"
1010#include " mock_sai_hostif.h"
11+ #include " mock_sai_ipmc.h"
12+ #include " mock_sai_ipmc_group.h"
1113#include " mock_sai_neighbor.h"
1214#include " mock_sai_next_hop.h"
1315#include " mock_sai_route.h"
1416#include " mock_sai_router_interface.h"
17+ #include " mock_sai_rpf_group.h"
1518#include " mock_sai_switch.h"
1619
1720using ::p4orch::kTableKeyDelimiter ;
@@ -23,11 +26,14 @@ extern VRFOrch* gVrfOrch;
2326extern swss::DBConnector* gAppDb ;
2427extern sai_hostif_api_t * sai_hostif_api;
2528extern sai_switch_api_t * sai_switch_api;
29+ extern sai_ipmc_api_t * sai_ipmc_api;
30+ extern sai_ipmc_group_api_t * sai_ipmc_group_api;
2631extern sai_bridge_api_t * sai_bridge_api;
2732extern sai_router_interface_api_t * sai_router_intfs_api;
2833extern sai_neighbor_api_t * sai_neighbor_api;
2934extern sai_next_hop_api_t * sai_next_hop_api;
3035extern sai_route_api_t * sai_route_api;
36+ extern sai_rpf_group_api_t * sai_rpf_group_api;
3137
3238using ::testing::_;
3339using ::testing::DoAll;
@@ -84,6 +90,33 @@ class P4OrchTest : public ::testing::Test {
8490 sai_route_api->remove_route_entries = remove_route_entries;
8591 sai_route_api->set_route_entries_attribute = set_route_entries_attribute;
8692 sai_route_api->get_route_entries_attribute = get_route_entries_attribute;
93+ mock_sai_ipmc_group = &mock_sai_ipmc_group_;
94+ sai_ipmc_group_api->create_ipmc_group = mock_create_ipmc_group;
95+ sai_ipmc_group_api->remove_ipmc_group = mock_remove_ipmc_group;
96+ sai_ipmc_group_api->create_ipmc_group_member =
97+ mock_create_ipmc_group_member;
98+ sai_ipmc_group_api->remove_ipmc_group_member =
99+ mock_remove_ipmc_group_member;
100+ sai_ipmc_group_api->set_ipmc_group_member_attribute =
101+ mock_set_ipmc_group_member_attribute;
102+ sai_ipmc_group_api->get_ipmc_group_member_attribute =
103+ mock_get_ipmc_group_member_attribute;
104+ mock_sai_ipmc = &mock_sai_ipmc_;
105+ sai_ipmc_api->create_ipmc_entry = mock_create_ipmc_entry;
106+ sai_ipmc_api->remove_ipmc_entry = mock_remove_ipmc_entry;
107+ sai_ipmc_api->set_ipmc_entry_attribute = mock_set_ipmc_entry_attribute;
108+ sai_ipmc_api->get_ipmc_entry_attribute = mock_get_ipmc_entry_attribute;
109+ mock_sai_rpf_group = &mock_sai_rpf_group_;
110+ sai_rpf_group_api->create_rpf_group = mock_create_rpf_group;
111+ sai_rpf_group_api->remove_rpf_group = mock_remove_rpf_group;
112+ sai_rpf_group_api->set_rpf_group_attribute = mock_set_rpf_group_attribute;
113+ sai_rpf_group_api->get_rpf_group_attribute = mock_get_rpf_group_attribute;
114+ sai_rpf_group_api->create_rpf_group_member = mock_create_rpf_group_member;
115+ sai_rpf_group_api->remove_rpf_group_member = mock_remove_rpf_group_member;
116+ sai_rpf_group_api->set_rpf_group_member_attribute =
117+ mock_set_rpf_group_member_attribute;
118+ sai_rpf_group_api->get_rpf_group_member_attribute =
119+ mock_get_rpf_group_member_attribute;
87120 mock_sai_bridge = &mock_sai_bridge_;
88121 sai_bridge_api->create_bridge = mock_create_bridge;
89122 sai_bridge_api->remove_bridge = mock_remove_bridge;
@@ -123,6 +156,9 @@ class P4OrchTest : public ::testing::Test {
123156 NiceMock<MockSaiNeighbor> mock_sai_neighbor_;
124157 NiceMock<MockSaiNextHop> mock_sai_next_hop_;
125158 NiceMock<MockSaiRoute> mock_sai_route_;
159+ NiceMock<MockSaiIpmcGroup> mock_sai_ipmc_group_;
160+ NiceMock<MockSaiIpmc> mock_sai_ipmc_;
161+ NiceMock<MockSaiRpfGroup> mock_sai_rpf_group_;
126162 NiceMock<MockSaiBridge> mock_sai_bridge_;
127163 CoppOrch* copp_orch_;
128164};
0 commit comments