[Megoldva] Adat generátor REST hívásra

Fórumok

Sziasztok!

Szeretnék egy klienst tesztelni, amihez nincs szerver. Ehhez jelenleg egy egyszerű http(s) hívást szeretnék a kliensből, ami REST-en visszaad egy random float számot 1 és 30 között.

Azt gondoltam, hogy tele van ilyennel a net, de nem igazán találtam. (Lehet, hogy rosszul kerestem)
Amit kidobott a google, az vagy nem tud float-ot: https://www.random.org/integers/?mode=advanced
Vagy csak grafikus felülete van, de nem tud text/json adatot visszaadni: https://codebeautify.org/random-tools

Tudnátok ajánlani ilyet?

Természetesen meg tudom írni, nem nagy dolog, csak csodálkozom, mert pl webfejlesztésnél van olyan API, ami visszaad egy megadott méretű képet, szöveget meg mindent ami kell.
Pl itt is van minden, de sima random szám nincs: https://api-ninjas.com/

Update:
A chatGPT végül válaszolt. :)
A random.org-nak van API-ja. Regisztrálás után elérhető.
https://api.random.org/dashboard
A float random generáláshoz a generateDecimalFractions metóduhívás kell.
Tegnap este már fáradt voltam úgy néz ki, ma meg túl hamar tettem fel itt a kérdést.
De legalább már rögzítve van.

Üdv: redman

Hozzászólások

Mock (server) a kulcsszó páros amit keresel. Alapból a folyamato valami olyasmi lenne, hogy csinálsz egy api dokumentációt (pl openapi) majd egy azon contract/spec-t implementáló mock server-t. pl a példát folytatva: https://github.com/muonsoft/openapi-mock.

Szerkesztve: 2023. 05. 15., h – 11:14

Biztos, hogy nincs ez a feladat túlgondolva? :)

const http = require('http');

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.end(Math.random() * (30 - 1) + 1);
}).listen(3000);

Tetszőleges másik stackben is hasonlóan egyszerű. A mockolás egy hasznos dolog, de ha ez egy ideiglenes valami, én nem biztos, hogy ennél sokkal több időt töltenék vele.

Ja hat nekem erre van egy flask-os kis app-om amit pont ilyesmire hasznalok, ha kell valami akkor pikk-pakk belerakom az endpointot meg hogy mi legyen a visszaadot MoC data aztan kesz (pl. grafana endpoint, meg elasticsearch api-k mocjai,...ehh lehet tisztitani kellene mar :D). Kb, ugy nez ki, hogy minenhova bele van rakva egy fuggveny a dekoratorhoz meg egy jonagy json vagy akarmi amit vissza kell responsolni. 

Mar gondolkodtam rajta hogy megcsinalom szepen swagerrel, de egyelore nem visz ra a lelek :D

Nem tudom mekkora fejlesztés ez, meg mi a tesztelés célja, de ha csak egy minimális esély is van rá, hogy később lesz emellé a számkérős dolog mellé még más is, meg azt is tesztelgetni kell, akkor már inkább készíts teszt/mock szervizt vagy használj erre alkalmas eszközt (java világban van pl a soapui).

Ha nálad a forráskód, akkor teszteld unit tesztben csak azt a komponenst, ami felhasználja a számot külön, hálózati komm belekeverése nélkül. Sokkal tisztább és szárazabb érzés. ;)

Ha nem az a cél, hogy nagyon alapos kontrollod legyen a visszaadott adatok felett, akkor a httpbin egész jó szokott lenni, dockerrel localban just works.

Ha igen, akkor vagy valami schema alapú mockot érdemes csinálni, vagy pl a postmanben is lehe mock servert csinálni, ha jól rémlik. Vagy mondjuk vscodehoz is van extension. Vagy kb bármi random keretrendszerben leírod azt a ~10 sort, aztán elindítod.

Pont a httpbint akartam javasolni én is, csak sehogy nem akart eszembe jutni a neve, úgyhogy kicsit keresni kellett, hogy hol is találkoztam vele legutóbb. :)

Előnye, hogy van online változata is, úgyhogy helyben nem is muszáj futtatni semmit, de úgy látom, az most eléggé köhög. (Gyors kereséssel itt találtam hozzá egy swagger api doksit, hogy mit tud.)

Előnye, hogy van online változata is, úgyhogy helyben nem is muszáj futtatni semmit, de úgy látom, az most eléggé köhög.

Azért írtam, hogy nagyon egyszerű futtatni helyben, mert elég konstans tüdőbajos az online. Cserébe alapból swagger guival jön, nem kell külön túrni :)