-
Notifications
You must be signed in to change notification settings - Fork 386
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: support millisecond in HttpRequest for lastSendTime (#1755)
- Loading branch information
1 parent
7a04991
commit 1c42ebd
Showing
6 changed files
with
58 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
|
||
#include "common/http/HttpResponse.h" | ||
#include "prometheus/async/PromFuture.h" | ||
#include "prometheus/async/PromHttpRequest.h" | ||
#include "unittest/Unittest.h" | ||
|
||
using namespace std; | ||
|
||
namespace logtail { | ||
class PromAsynUnittest : public testing::Test { | ||
public: | ||
void TestExecTime(); | ||
}; | ||
|
||
void PromAsynUnittest::TestExecTime() { | ||
auto future = std::make_shared<PromFuture>(); | ||
auto now = std::chrono::system_clock::now(); | ||
bool exec = false; | ||
future->AddDoneCallback([&exec, now](const HttpResponse&, uint64_t timestampMilliSec) { | ||
APSARA_TEST_EQUAL(timestampMilliSec, | ||
std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch()).count()); | ||
|
||
APSARA_TEST_TRUE(exec); | ||
}); | ||
auto request = std::make_shared<PromHttpRequest>( | ||
"http", false, "127.0.0.1", 8080, "/", "", map<string, string>(), "", 10, 3, future); | ||
auto asynRequest = std::dynamic_pointer_cast<AsynHttpRequest>(request); | ||
asynRequest->mLastSendTime = now; | ||
auto response = HttpResponse{}; | ||
exec = true; | ||
asynRequest->OnSendDone(response); | ||
} | ||
|
||
UNIT_TEST_CASE(PromAsynUnittest, TestExecTime); | ||
|
||
} // namespace logtail | ||
|
||
UNIT_TEST_MAIN |