Skip to content

Commit 235bbde

Browse files
add UT for response publisher
Signed-off-by: Stepan Blyschak <[email protected]>
1 parent dfd360d commit 235bbde

File tree

3 files changed

+54
-2
lines changed

3 files changed

+54
-2
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ swssconfig/swssplayer
7474
tlm_teamd/tlm_teamd
7575
teamsyncd/teamsyncd
7676
tests/tests
77+
tests/mock_tests/tests_response_publisher
7778

7879

7980
# Test Files #

tests/mock_tests/Makefile.am

+16-2
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ P4_ORCH_DIR = $(top_srcdir)/orchagent/p4orch
44

55
CFLAGS_SAI = -I /usr/include/sai
66

7-
TESTS = tests tests_intfmgrd tests_portsyncd
7+
TESTS = tests tests_intfmgrd tests_portsyncd tests_response_publisher
88

9-
noinst_PROGRAMS = tests tests_intfmgrd tests_portsyncd
9+
noinst_PROGRAMS = tests tests_intfmgrd tests_portsyncd tests_response_publisher
1010

1111
LDADD_SAI = -lsaimeta -lsaimetadata -lsaivs -lsairedis
1212

@@ -166,3 +166,17 @@ tests_intfmgrd_CFLAGS = $(DBGFLAGS) $(AM_CFLAGS) $(CFLAGS_COMMON) $(CFLAGS_GTEST
166166
tests_intfmgrd_CPPFLAGS = $(DBGFLAGS) $(AM_CFLAGS) $(CFLAGS_COMMON) $(CFLAGS_GTEST) $(CFLAGS_SAI) $(tests_intfmgrd_INCLUDES)
167167
tests_intfmgrd_LDADD = $(LDADD_GTEST) $(LDADD_SAI) -lnl-genl-3 -lhiredis -lhiredis \
168168
-lswsscommon -lswsscommon -lgtest -lgtest_main -lzmq -lnl-3 -lnl-route-3 -lpthread
169+
170+
tests_response_publisher_SOURCES = response_publisher/response_publisher_ut.cpp \
171+
$(top_srcdir)/orchagent/response_publisher.cpp \
172+
mock_orchagent_main.cpp \
173+
mock_dbconnector.cpp \
174+
mock_table.cpp \
175+
mock_hiredis.cpp \
176+
mock_redisreply.cpp
177+
178+
tests_response_publisher_INCLUDES = $(tests_INCLUDES)
179+
tests_response_publisher_CFLAGS = $(DBGFLAGS) $(AM_CFLAGS) $(CFLAGS_COMMON) $(CFLAGS_GTEST) $(CFLAGS_SAI)
180+
tests_response_publisher_CPPFLAGS = $(DBGFLAGS) $(AM_CFLAGS) $(CFLAGS_COMMON) $(CFLAGS_GTEST) $(CFLAGS_SAI) $(tests_response_publisher_INCLUDES)
181+
tests_response_publisher_LDADD = $(LDADD_GTEST) $(LDADD_SAI) -lnl-genl-3 -lhiredis -lhiredis \
182+
-lswsscommon -lswsscommon -lgtest -lgtest_main -lzmq -lnl-3 -lnl-route-3 -lpthread
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#include "response_publisher.h"
2+
3+
#include <gtest/gtest.h>
4+
5+
bool gResponsePublisherRecord{false};
6+
bool gResponsePublisherLogRotate{false};
7+
std::ofstream gResponsePublisherRecordOfs;
8+
std::string gResponsePublisherRecordFile;
9+
10+
using namespace swss;
11+
12+
TEST(ResponsePublisher, TestPublish)
13+
{
14+
DBConnector conn{"APPL_STATE_DB", 0};
15+
Table stateTable{&conn, "SOME_TABLE"};
16+
std::string value;
17+
ResponsePublisher publisher{};
18+
19+
publisher.publish("SOME_TABLE", "SOME_KEY", {{"field", "value"}}, ReturnCode(SAI_STATUS_SUCCESS));
20+
ASSERT_TRUE(stateTable.hget("SOME_KEY", "field", value));
21+
ASSERT_EQ(value, "value");
22+
}
23+
24+
TEST(ResponsePublisher, TestPublishBuffered)
25+
{
26+
DBConnector conn{"APPL_STATE_DB", 0};
27+
Table stateTable{&conn, "SOME_TABLE"};
28+
std::string value;
29+
ResponsePublisher publisher{};
30+
31+
publisher.setBuffered(true);
32+
33+
publisher.publish("SOME_TABLE", "SOME_KEY", {{"field", "value"}}, ReturnCode(SAI_STATUS_SUCCESS));
34+
publisher.flush();
35+
ASSERT_TRUE(stateTable.hget("SOME_KEY", "field", value));
36+
ASSERT_EQ(value, "value");
37+
}

0 commit comments

Comments
 (0)