@@ -15,7 +15,7 @@ bool DoesMockCallMatch(_In_ const HC_CALL* mockCall, _In_ const HC_CALL* origina
15
15
}
16
16
else
17
17
{
18
- if (originalCall->url == mockCall->url )
18
+ if (originalCall->url . substr ( 0 , mockCall-> url . size ()) == mockCall->url )
19
19
{
20
20
if (mockCall->requestBodyBytes .empty ())
21
21
{
@@ -34,7 +34,7 @@ bool DoesMockCallMatch(_In_ const HC_CALL* mockCall, _In_ const HC_CALL* origina
34
34
return false ;
35
35
}
36
36
37
- long GetIndexOfMock (const http_internal_vector<HC_CALL *>& mocks, HC_CALL * lastMatchingMock)
37
+ long GetIndexOfMock (const http_internal_vector<HC_MOCK_CALL *>& mocks, HC_MOCK_CALL * lastMatchingMock)
38
38
{
39
39
if (lastMatchingMock == nullptr )
40
40
{
@@ -52,17 +52,19 @@ long GetIndexOfMock(const http_internal_vector<HC_CALL*>& mocks, HC_CALL* lastMa
52
52
return -1 ;
53
53
}
54
54
55
- HC_CALL * GetMatchingMock (
55
+ HC_MOCK_CALL * GetMatchingMock (
56
56
_In_ HC_CALL* originalCall
57
- )
57
+ )
58
58
{
59
59
auto httpSingleton = get_http_singleton (false );
60
60
if (nullptr == httpSingleton)
61
+ {
61
62
return nullptr ;
63
+ }
62
64
63
- http_internal_vector<HC_CALL *> mocks;
64
- HC_CALL * lastMatchingMock = nullptr ;
65
- HC_CALL * matchingMock = nullptr ;
65
+ http_internal_vector<HC_MOCK_CALL *> mocks;
66
+ HC_MOCK_CALL * lastMatchingMock = nullptr ;
67
+ HC_MOCK_CALL * matchingMock = nullptr ;
66
68
67
69
{
68
70
std::lock_guard<std::recursive_mutex> guard (httpSingleton->m_mocksLock );
@@ -121,12 +123,24 @@ bool Mock_Internal_HCHttpCallPerformAsync(
121
123
)
122
124
{
123
125
HC_CALL* originalCall = static_cast <HC_CALL*>(originalCallHandle);
124
- HC_CALL * matchingMock = GetMatchingMock (originalCall);
126
+ HC_MOCK_CALL * matchingMock = GetMatchingMock (originalCall);
125
127
if (matchingMock == nullptr )
126
128
{
127
129
return false ;
128
130
}
129
131
132
+ if (matchingMock->matchedCallback )
133
+ {
134
+ matchingMock->matchedCallback (
135
+ matchingMock,
136
+ originalCall->method .data (),
137
+ originalCall->url .data (),
138
+ originalCall->requestBodyBytes .data (),
139
+ static_cast <uint32_t >(originalCall->requestBodyBytes .size ()),
140
+ matchingMock->matchCallbackContext
141
+ );
142
+ }
143
+
130
144
size_t byteBuf;
131
145
HCHttpCallResponseGetResponseBodyBytesSize (matchingMock, &byteBuf);
132
146
http_memory_buffer buffer (byteBuf);
0 commit comments