Skip to content

Commit 45ff1ec

Browse files
BenHuddlestondaverigby
authored andcommitted
MB-41719: Move ProducerNegotiatesIncludeDeletedUserXattrs to ST suite
Change-Id: I6ea27d955e27f4d032bca2895503c4c90fff8f06 Reviewed-on: http://review.couchbase.org/c/kv_engine/+/137169 Tested-by: Build Bot <[email protected]> Reviewed-by: Dave Rigby <[email protected]>
1 parent dc02590 commit 45ff1ec

File tree

2 files changed

+50
-49
lines changed

2 files changed

+50
-49
lines changed

engines/ep/tests/module_tests/dcp_single_threaded_test.cc

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,15 @@
2323

2424
#include <programs/engine_testapp/mock_cookie.h>
2525

26-
class STDcpTest : public STParameterizedBucketTest {};
26+
class STDcpTest : public STParameterizedBucketTest {
27+
protected:
28+
/**
29+
* @param producerState Are we simulating a negotiation against a Producer
30+
* that enables IncludeDeletedUserXattrs?
31+
*/
32+
void testProducerNegotiatesIncludeDeletedUserXattrs(
33+
IncludeDeletedUserXattrs producerState);
34+
};
2735

2836
/*
2937
* The following tests that when the disk_backfill_queue configuration is
@@ -198,6 +206,47 @@ TEST_P(STDcpTest, SnapshotsAndNoData) {
198206
EXPECT_TRUE(connMap.isDeadConnectionsEmpty());
199207
}
200208

209+
void STDcpTest::testProducerNegotiatesIncludeDeletedUserXattrs(
210+
IncludeDeletedUserXattrs producerState) {
211+
const void* cookie = create_mock_cookie();
212+
213+
uint32_t dcpOpenFlags;
214+
ENGINE_ERROR_CODE expectedControlResp;
215+
switch (producerState) {
216+
case IncludeDeletedUserXattrs::Yes: {
217+
dcpOpenFlags =
218+
cb::mcbp::request::DcpOpenPayload::IncludeDeletedUserXattrs;
219+
expectedControlResp = ENGINE_SUCCESS;
220+
break;
221+
}
222+
case IncludeDeletedUserXattrs::No: {
223+
dcpOpenFlags = 0;
224+
expectedControlResp = ENGINE_EINVAL;
225+
break;
226+
}
227+
}
228+
229+
const auto producer = std::make_shared<MockDcpProducer>(
230+
*engine, cookie, "test_producer", dcpOpenFlags);
231+
EXPECT_EQ(producerState, producer->public_getIncludeDeletedUserXattrs());
232+
EXPECT_EQ(expectedControlResp,
233+
producer->control(0, "include_deleted_user_xattrs", "true"));
234+
235+
destroy_mock_cookie(cookie);
236+
}
237+
238+
TEST_P(STDcpTest,
239+
ProducerNegotiatesIncludeDeletedUserXattrs_DisabledAtProducer) {
240+
testProducerNegotiatesIncludeDeletedUserXattrs(
241+
IncludeDeletedUserXattrs::No);
242+
}
243+
244+
TEST_P(STDcpTest,
245+
ProducerNegotiatesIncludeDeletedUserXattrs_EnabledAtProducer) {
246+
testProducerNegotiatesIncludeDeletedUserXattrs(
247+
IncludeDeletedUserXattrs::Yes);
248+
}
249+
201250
INSTANTIATE_TEST_SUITE_P(PersistentAndEphemeral,
202251
STDcpTest,
203252
STParameterizedBucketTest::allConfigValues());

engines/ep/tests/module_tests/dcp_test.cc

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -849,13 +849,6 @@ class ConnectionTest : public DCPTest,
849849
void testConsumerNegotiatesIncludeDeletedUserXattrs(
850850
IncludeDeletedUserXattrs producerState);
851851

852-
/**
853-
* @param producerState Are we simulating a negotiation against a Producer
854-
* that enables IncludeDeletedUserXattrs?
855-
*/
856-
void testProducerNegotiatesIncludeDeletedUserXattrs(
857-
IncludeDeletedUserXattrs producerState);
858-
859852
/* vbucket associated with this connection */
860853
Vbid vbid;
861854
};
@@ -1781,47 +1774,6 @@ TEST_P(ConnectionTest, ConsumerNegotiatesDeletedUserXattrs_EnabledAtProducer) {
17811774
IncludeDeletedUserXattrs::Yes);
17821775
}
17831776

1784-
void ConnectionTest::testProducerNegotiatesIncludeDeletedUserXattrs(
1785-
IncludeDeletedUserXattrs producerState) {
1786-
const void* cookie = create_mock_cookie();
1787-
1788-
uint32_t dcpOpenFlags;
1789-
ENGINE_ERROR_CODE expectedControlResp;
1790-
switch (producerState) {
1791-
case IncludeDeletedUserXattrs::Yes: {
1792-
dcpOpenFlags =
1793-
cb::mcbp::request::DcpOpenPayload::IncludeDeletedUserXattrs;
1794-
expectedControlResp = ENGINE_SUCCESS;
1795-
break;
1796-
}
1797-
case IncludeDeletedUserXattrs::No: {
1798-
dcpOpenFlags = 0;
1799-
expectedControlResp = ENGINE_EINVAL;
1800-
break;
1801-
}
1802-
}
1803-
1804-
const auto producer = std::make_shared<MockDcpProducer>(
1805-
*engine, cookie, "test_producer", dcpOpenFlags);
1806-
EXPECT_EQ(producerState, producer->public_getIncludeDeletedUserXattrs());
1807-
EXPECT_EQ(expectedControlResp,
1808-
producer->control(0, "include_deleted_user_xattrs", "true"));
1809-
1810-
destroy_mock_cookie(cookie);
1811-
}
1812-
1813-
TEST_P(ConnectionTest,
1814-
ProducerNegotiatesIncludeDeletedUserXattrs_DisabledAtProducer) {
1815-
testProducerNegotiatesIncludeDeletedUserXattrs(
1816-
IncludeDeletedUserXattrs::No);
1817-
}
1818-
1819-
TEST_P(ConnectionTest,
1820-
ProducerNegotiatesIncludeDeletedUserXattrs_EnabledAtProducer) {
1821-
testProducerNegotiatesIncludeDeletedUserXattrs(
1822-
IncludeDeletedUserXattrs::Yes);
1823-
}
1824-
18251777
TEST_P(ConnectionTest, AckCorrectPassiveStream) {
18261778
ASSERT_EQ(ENGINE_SUCCESS, set_vb_state(vbid, vbucket_state_replica));
18271779

0 commit comments

Comments
 (0)