Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commita7bf160

Browse files
committed
Enabling and fix stream unit test for modem code
1 parent4c5a98c commita7bf160

File tree

5 files changed

+31
-30
lines changed

5 files changed

+31
-30
lines changed

‎contrib/src/modem/db/stream-command.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,13 @@ bool StreamCommand::execute(const String& command,
2121
out->println(fbase().error().c_str());
2222
returnfalse;
2323
}
24-
2524
bool running =true;
2625
DynamicJsonBuffer buffer;
2726
while(running) {
2827
if (fbase().available()) {
2928
FirebaseObject event =fbase().readEvent();
3029
out->print("+");
31-
out->print(event.getString("event").c_str());
30+
out->print(event.getString("type").c_str());
3231
out->print("");
3332
String data = event.getString("data");
3433
out->println(event.getString("path"));

‎contrib/test/mock-firebase.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ class MockFirebase : public FirebaseArduino {
1818
MOCK_METHOD0(available,bool ());
1919
MOCK_METHOD0(readEvent, FirebaseObject ());
2020
MOCK_METHOD2(begin,void (const String& host,const String& auth));
21+
MOCK_METHOD1(stream,void (const String& path));
2122
};
2223

2324
}// modem

‎contrib/test/modem/Makefile

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,7 @@ CXXFLAGS += -g -Wall -Wextra -pthread -std=c++11
5656
# created to the list.
5757
TESTS = get-command_test set-command_test remove-command_test\
5858
push-command_test begin-command_test\
59-
serial-transceiver_test
60-
# stream-command_test
59+
serial-transceiver_test stream-command_test
6160

6261
# All Google Test headers. Usually you shouldn't change this
6362
# definition.
@@ -200,15 +199,15 @@ begin-command_test : begin-command.o begin-command_test.o FirebaseArduino.o Fire
200199
$(CXX)$(CPPFLAGS)$(CXXFLAGS) -lpthread$^ -o$@
201200

202201

203-
#stream-command.o : $(SRC_ROOT)/modem/db/stream-command.cpp
204-
#$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(SRC_ROOT)/modem/db/stream-command.cpp
205-
#
206-
#stream-command_test.o : $(TEST_DIR)/stream-command_test.cpp $(GMOCK_HEADERS)
207-
#$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(TEST_DIR)/stream-command_test.cpp
208-
#
209-
#stream-command_test : stream-command.o stream-command_test.o FirebaseArduino.o Firebase.o FirebaseObject.o FirebaseHttpClient_dummy.o gmock_main.a\
202+
stream-command.o :$(SRC_ROOT)/modem/db/stream-command.cpp
203+
$(CXX)$(CPPFLAGS)$(CXXFLAGS) -c$(SRC_ROOT)/modem/db/stream-command.cpp
204+
205+
stream-command_test.o :$(TEST_DIR)/stream-command_test.cpp$(GMOCK_HEADERS)
206+
$(CXX)$(CPPFLAGS)$(CXXFLAGS) -c$(TEST_DIR)/stream-command_test.cpp
207+
208+
stream-command_test : stream-command.o stream-command_test.o FirebaseArduino.o Firebase.o FirebaseObject.o FirebaseHttpClient_dummy.o gmock_main.a\
210209
arduino_mock_all.a
211-
#$(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@
210+
$(CXX)$(CPPFLAGS)$(CXXFLAGS) -lpthread$^ -o$@
212211

213212

214213
SerialTransceiver.o :$(SRC_ROOT)/modem/SerialTransceiver.cpp

‎contrib/test/modem/stream-command_test.cpp

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,41 +17,41 @@ using ::testing::_;
1717
classStreamCommandTest : public ::testing::Test {
1818
protected:
1919
voidSetUp()override {
20-
stream_.reset(newFirebaseStream());
2120
}
2221

23-
boolRunCommand(const FirebaseError& error) {
22+
boolRunCommand() {
2423
StreamCommandcmd(&fbase_);
2524
return cmd.execute("BEGIN_STREAM", &in_, &out_);
2625
}
2726

2827
MockInputStream in_;
2928
MockOutputStream out_;
3029
MockFirebase fbase_;
31-
std::unique_ptr<FirebaseStream> stream_;
3230
};
3331

3432
TEST_F(StreamCommandTest, streams) {
3533
const Stringpath("/test/path");
34+
35+
const String no_error ="";
36+
EXPECT_CALL(fbase_,error()).WillRepeatedly(ReturnRef(no_error));
37+
38+
const String data ="TestValue";
39+
const Stringvalue(String("{\"path\":\"/test/path\",\"data\":\"") + data +"\",\"type\":\"PUT\"}");
40+
41+
const FirebaseObject fo =FirebaseObject(value.c_str());
42+
EXPECT_CALL(fbase_,readEvent()).WillRepeatedly(Return(fo));
43+
3644
EXPECT_CALL(in_,available())
3745
.WillRepeatedly(Return(true));
3846

3947
EXPECT_CALL(in_,readLine())
4048
.WillOnce(Return(path))
4149
.WillOnce(Return("END_STREAM"));
4250

43-
const String data ="Test Value";
44-
const Stringvalue(String("{\"path\" :\"/test/path\",\"data\" :\"") + data +"\"}");
45-
EXPECT_CALL(fbase_,available())
51+
EXPECT_CALL(fbase_,available())
4652
.WillOnce(Return(true))
4753
.WillRepeatedly(Return(false));
48-
49-
EXPECT_CALL(fbase_,startStreaming());
50-
EXPECT_CALL(*stream_,read(_))
51-
.WillOnce(Invoke([&value](std::string& json) {
52-
json = value.c_str();
53-
return FirebaseStream::PUT;
54-
}));
54+
EXPECT_CALL(fbase_,stream(path));
5555

5656
EXPECT_CALL(out_,print(String("+")))
5757
.WillOnce(Return(1));
@@ -70,21 +70,23 @@ TEST_F(StreamCommandTest, streams) {
7070
EXPECT_CALL(out_,println(String("+OK")))
7171
.WillOnce(Return(1));
7272

73-
ASSERT_TRUE(RunCommand(FirebaseError()));
73+
ASSERT_TRUE(RunCommand());
7474
}
7575

7676
TEST_F(StreamCommandTest, handlesError) {
77-
FirebaseErrorerror(-200,"Test Error.");
77+
const Stringerror("Test Error.");
7878
const Stringpath("/test/path");
7979
EXPECT_CALL(in_,readLine())
8080
.WillOnce(Return(path));
8181

82+
EXPECT_CALL(fbase_,error()).WillRepeatedly(ReturnRef(error));
83+
8284
EXPECT_CALL(out_,print(String("-FAIL")))
8385
.WillOnce(Return(1));
8486

85-
EXPECT_CALL(out_,println(String(error.message().c_str())))
87+
EXPECT_CALL(out_,println(String(error.c_str())))
8688
.WillOnce(Return(1));
87-
ASSERT_FALSE(RunCommand(error));
89+
ASSERT_FALSE(RunCommand());
8890
}
8991

9092
}// modem

‎src/FirebaseArduino.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ class FirebaseArduino {
191191
* monitoring available() and calling readEvent() to get new events.
192192
* \param path The path inside of your db to the node you wish to monitor.
193193
*/
194-
voidstream(const String& path);
194+
virtualvoidstream(const String& path);
195195

196196
/**
197197
* Checks if there are new events available. This is only meaningful once

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp