Hello codeforces! I am writing to you to share a small open-source project that I recently started, inspired by API testing, called [YATL](https://github.com/Khabib73/YATL) (Yet Another Testing Language). The main idea is directly inspired by the "keep it simple" principle and the attitude to configuration as code.↵
↵
What problem does it solve?:↵
I think writing integration tests for the API has become too cumbersome. Even with simple tools, you often have to write a lot of boilerplate code. YATL tries to turn tests into pure data.↵
↵
1) If you know HTTP and YAML, you know YATL. This lowers the entry threshold for everyone in the team who wants to understand or write tests.↵
↵
2) The tests are declarative. No hidden "magic", just a request and an expected response. This is closer to the specification than to the script.↵
↵
3) Anti-framework: It doesn't try to become a huge ecosystem. It does one thing: it runs HTTP tests from a readable file.↵
↵
The most important thing is that you can start writing tests without deep knowledge of a specific programming language, technology, and computer network design.For example, create codeforces.test.yaml and write the following code:↵
↵
```yaml↵
name: test codeforces↵
base_url: codeforces.com↵
user_name: MikeMirzayanov↵
↵
steps:↵
- name: simple_test↵
request:↵
method: GET↵
url: /api/user.info?handles={{user_name}}↵
expect:↵
body:↵
json:↵
"result.0.handle": MikeMirzayanov↵
"result.0.firstName": Mike↵
"result.0.lastName": Mirzayanov↵
"result.0.organization": Codeforces↵
status: 200↵
```↵
↵
↵
The project is still under active development — there is still time before the first stable release. But if the idea resonates, I will be very glad to receive an **star**. ⭐ That's the best way to say, go on, someone needs it. Link the project: https://github.com/Khabib73/YATL
↵
What problem does it solve?:↵
I think writing integration tests for the API has become too cumbersome. Even with simple tools, you often have to write a lot of boilerplate code. YATL tries to turn tests into pure data.↵
↵
1) If you know HTTP and YAML, you know YATL. This lowers the entry threshold for everyone in the team who wants to understand or write tests.↵
↵
2) The tests are declarative. No hidden "magic", just a request and an expected response. This is closer to the specification than to the script.↵
↵
3) Anti-framework: It doesn't try to become a huge ecosystem. It does one thing: it runs HTTP tests from a readable file.↵
↵
The most important thing is that you can start writing tests without deep knowledge of a specific programming language, technology, and computer network design.For example, create codeforces.test.yaml and write the following code:↵
↵
```yaml↵
name: test codeforces↵
base_url: codeforces.com↵
user_name: MikeMirzayanov↵
↵
steps:↵
- name: simple_test↵
request:↵
method: GET↵
url: /api/user.info?handles={{user_name}}↵
expect:↵
body:↵
json:↵
"result.0.handle": MikeMirzayanov↵
"result.0.firstName": Mike↵
"result.0.lastName": Mirzayanov↵
"result.0.organization": Codeforces↵
status: 200↵
```↵
↵
↵
The project is still under active development — there is still time before the first stable release. But if the idea resonates, I will be very glad to receive an **star**. ⭐ That's the best way to say, go on, someone needs it. Link the project: https://github.com/Khabib73/YATL



