Comments (6)
But I think that we should set the goals by "make sure we verify X", instead of "make sure we use response playback/record".
What we want is the ability to run "live tests" without needing the actual endpoint. The framework also doubles as a tracing mechanism as customers can turn it on to log what went in and what came out.
from azure-sdk-for-c.
There should be an agent listening to requests and based on previous cached responses from the live service, return back the expected response.
On option is to run the tests to the actual endpoint, and record the results, ~once a week, to stay up to date.
This reduces cost and improves testing performance.
from azure-sdk-for-c.
@RickWinter , we should only create one playback-record test framework for C++ and see if we can reuse it here.
from azure-sdk-for-c.
I think we should have live tests + unit tests, and NOT have response recorder.
For the response recorder, we need to filter out secrets from the recorded responses, and understand timestamps. And two - it won't be possible to have request-to-response map for some cases, when on a second try, the service is supposed to give another reply for exactly the same request.
Look at what we need, and if we are achieving the goals that we set, regardless of the technology used, versus what shiny technology can we use, if it can enable no new scenarios.
I also think that checking in responses is going to turn tests into a harder to understand and manage repo, where it is hard to track everything that is happening or is supposed to happen.
I understand that in other languages, you get frameworks, so it is cheap to enable it, but if we are supposed to write playback/record engine ourselves, I don't think it is worth it. It needs to take care of secret filtering, timestamp handling, and failures need to be easily debuggable.
I think that writing all that by ourselves is a bad idea. The only possible option I see is to write a wrapper that makes interop calls for the .NET/Java record/playback engine that is already written (we can write a transport adapter doing that).
But I think that we should set the goals by "make sure we verify X", instead of "make sure we use response playback/record".
from azure-sdk-for-c.
Labeling this one "Client" since this is about finding a solution for C. Agreed it's possible the shared test proxy service may be a solution here.
from azure-sdk-for-c.
Hi @gilbertw, we deeply appreciate your input into this project. Regrettably, this issue has remained inactive for over 2 years, leading us to the decision to close it. We've implemented this policy to maintain the relevance of our issue queue and facilitate easier navigation for new contributors. If you still believe this topic requires attention, please feel free to create a new issue, referencing this one. Thank you for your understanding and ongoing support.
from azure-sdk-for-c.
Related Issues (20)
- Inquiry: using MQTT-WS transport in azure-sdk-for-c-arduino HOT 6
- Azure_IoT_Hub_RealtekAmebaD the example build error. HOT 1
- Direct Method Example to be added on arduino HOT 10
- Azure Central: TELEMETRY_FREQUENCY_IN_SECONDS not working HOT 3
- azure-sdk-for-c-arduino, can't see telemetry data from devices in AZURE,ESP32 HOT 1
- Add optional logging to _az_RETURN_IF_*
- Telemetry Payload question, azure-sdk-for-c-arduino, ESP32 HOT 8
- ublox SARA R500S and ESP32 HOT 2
- message properties HOT 7
- Azure IoT Central telemetry data duplication issue HOT 3
- Create linter baseline file for azure-sdk-for-c. HOT 1
- Failure in Windows VS 2022 CI tests HOT 2
- Re-enable address sanitizer on VS2022
- DEVICE STUCK AS CONNECTING TO SNTP SERVER HOT 1
- Unable to build az_iot_hub_client samples on windows HOT 3
- In Azure central IoT API Query GROUP BY with local time zone feature HOT 4
- Azure SDK-for-C, IoT Central Device Connecting OK, not sending telemetry HOT 6
- Arduino port version for ESP32 Compile Time setting vs. Runtime settings for IOT hub client and MQTT client
- Azure_SDK_for_C ESP32 on Arduino IDE Compile Errors {Compilation error: 'esp_mqtt_client_config_t' {aka 'struct esp_mqtt_client_config_t'} has no member named 'uri'} HOT 6
- [azure-sdk-for-c-arduino]: Azure_Iot_Central_ESP32.ino have minor missing esp_mqtt_event_handler when compile on arduino core 3.0.1 using arduino-cli HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from azure-sdk-for-c.