jgomezselles / hermes Goto Github PK
View Code? Open in Web Editor NEWHermes HTTP/2 traffic generator
License: MIT License
Hermes HTTP/2 traffic generator
License: MIT License
It seems a bit low right now. Let's see how further we can get.
Just go here and pick some of them when everything is set: https://sonarcloud.io/project/information?id=jgomezselles_hermes
It has been noticed that the files under src/script folder are not really tested in a functional way, (just to get the coverage, which is a bit dangerous), so new tasks will be added.
Consider if as an input/target, but as a metric
I want to have a note in the Readme for the 3pp licenses. It might not be necessary, but just in case. (Gtest and boost).
Hermes base and build can have some stuff, but maybe it has so much,
We could have hermes_prod with just the app, and hermes_test for component testing or something like that, from a basic alpine(?) image.
Running several clients with their own script/traffic and execution configuration (or shared) could be benefitial.
Is your feature request related to a problem? Please describe.
Not actually a problem, but a limitation which could provide a better testing environment.
Describe the solution you'd like
Extend the schema and the hermes logic to accept multiple clients (a section to define the server and port within a json list) instead of the current unique one.
So, you could define a traffic profile to, for example, launch an specific Request definition through an specific client endpoint (a new field should be added in the schema here to specify on which endpoint is desired to be sent), and then mix with other requests with different destinations.
The solution permits mixed-protocols testing relaying on REST API for those which are not http2 traffic servers.
Additional context
Imagine that your system under test is composed by the main process to test and then some server components mocking the data base or whatever facility provided to simulate the SUT context. Now imagine that those mocks have an smart REST API which could be used to inspect the traffic reveiced. From hermes you could also use that REST API as part of traffic validation delegating on those external agents. In this way you could make complex test flows including whatever kind of agent (servers, even clients, for different protocols, not only http2) just having a REST API for them which is based in http2 (or even http/1 with a nginx reverse proxy in fornt of them).
This feature could be backward compatible with a default definition (not a one-item-list but just accepting current schema definition or a list with 2 (or even 1) or more items).
Collecting coverage and merging it with unit tests will give a better view on what is actually covered by tests.
Hermes is only validating response codes. Include body validation as well.
Maybe with github pages
It is tested tangentially, but dedicated tests are needed.
Test connection_test.incorrect_initialization_wrong_host is failing. Fix it in this task.
Uploading them will help anyone to just use or develop/build.
Right now, only total stats are shown. Showing partials on demand could be benefitial.
Hermes CI/CD checks shall have a way of testing the application itself. It might be done through helm chart installation and full k8s deployment.
In order for this to work, a server will be introduced, listening to requests. This is not only a way to ease the tests, but also a functionality which could give hermes a lot of power.
Analyze and decide whether to use/configure multiple connections with a maximum number of streams to be negociated.
Having a server listening for requests which will be able to START an execution will help tests and will add a whole new functionality. In this issue, some very basic PUT will be added.
Right now, sidecar injection is done with a flag in the values.yaml file, and expanded in the deployment template.
Instead of that, podAnnotations shall be used as in hermes-example
The code was supposed to be already formatted. Running clang format, formats the code, so something is going on there.
Traffic schema documentation is a bit ugly. Find a better way to do it.
This entails using save_from_answer, variables and add_from_saved_to.... body???
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.