MCPcopy Create free account
hub / github.com/alibaba/proxima / TEST

Function TEST

tests/query/equal_task_test.cc:26–90  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

24#include "mock_query_context.h" // for Mock*Context
25
26TEST(EqualTaskTest, TestTaskRun) {
27 { // Test Invalid arguments
28 MockEqualQueryContext context;
29 EqualTask task(nullptr, &context);
30 ASSERT_TRUE(task.run() != 0);
31 EqualTask task1(nullptr, nullptr);
32 ASSERT_TRUE(task1.run() != 0);
33 EqualTask task2(std::make_shared<MockSegment>(), nullptr);
34 ASSERT_TRUE(task2.run() != 0);
35 }
36
37 {
38 MockEqualQueryContext context;
39 EXPECT_CALL(context, primary_key()).WillRepeatedly(Return(1u));
40
41 auto segment = std::make_shared<MockSegment>();
42
43 { // Failed
44 EXPECT_CALL(*segment, kv_search(_, _))
45 .WillOnce(Return(1))
46 .RetiresOnSaturation();
47
48 EqualTask task(segment, &context);
49 task.status(Task::Status::SCHEDULED);
50 EXPECT_EQ(task.run(), 1);
51 EXPECT_EQ(task.exit_code(), 1);
52 }
53
54 {
55 EXPECT_CALL(*segment, kv_search(_, _))
56 .WillOnce(Return(0))
57 .RetiresOnSaturation();
58
59 EqualTask task(segment, &context);
60 task.status(Task::Status::SCHEDULED);
61 EXPECT_EQ(task.run(), 0);
62 EXPECT_EQ(task.exit_code(), 0);
63 EXPECT_TRUE(task.wait_finish());
64 EXPECT_TRUE(task.finished());
65 // EXPECT_TRUE(task.forward());
66 }
67
68 {
69 EXPECT_CALL(*segment, kv_search(_, _))
70 .WillOnce(Invoke([](uint64_t primary_key, QueryResult *result) {
71 EXPECT_EQ(primary_key, 1);
72 result->primary_key = 1;
73 result->revision = 2;
74 return 0;
75 }))
76 .RetiresOnSaturation();
77
78 EqualTask task(segment, &context);
79 task.status(Task::Status::SCHEDULED);
80 EXPECT_EQ(task.run(), 0);
81 EXPECT_EQ(task.exit_code(), 0);
82 EXPECT_TRUE(task.wait_finish());
83 EXPECT_TRUE(task.finished());

Callers

nothing calls this directly

Calls 6

exit_codeMethod · 0.80
hitMethod · 0.80
runMethod · 0.45
statusMethod · 0.45
wait_finishMethod · 0.45
finishedMethod · 0.45

Tested by

no test coverage detected