Testdatengeneratoren als Microservices mit Docker überarbeitet

Ich habe die verschiedenen Testdatengeneratoren mittels Microservices über HTTP zugänglich gemacht, um sie unabhängig von der verwendeten Programmiersprache und/ oder Version (Java 11) verwenden zu können. Die betreffenden Projekte wurden überarbeitet.

Ich habe inzwischen zwei OpenSource-Projekte gestartet, die die verfügbaren Generatoren mittels zweier verschiedener Frameworks - Javalin und Quarkus - als REST-Services verfügbar machen.

Die beiden GitHub-Repositories - eines für die Variante mit Javalin und eines für die Variante mit Quarkus -

wurden nunmehr einer größeren Überarbeitung unterzogen:

Zunächst einmal bekamen beide eine Start-Seite spendiert, die man mittels Browser aufrufen kann. Diese enthält einige nützliche Links.

Zwei dieser Links führen zu den neuen für Anwender sichtbaren Features: Beide Varianten stellen eine OpenAPI-Spezifikation der Services zur Verfügung - das macht es für Anwender noch leichter, die Generatoren in eigene Projekte zu integrieren.

Der andere dieser zwei Links führt zu einer Seite, auf der mittels Swagger-UI für jeden Service (Generator) ein Formular aus dieser OpenAPI-Beschreibung erzeugt wurde. Damit ist es ein Leichtes, mit den verschiedenen Generatoren und ihren jeweiligen Parametern zu spielen um den passenden für den eigenen Anwendungszweck zu finden.

Die letzte große Änderung in den Projekten betrifft die Quelltexte selbst und ist daher eine Erleichterung für mich:

Die Erzeugung des Codes, der zwischen den Generatoren einerseits und den REST-Frameworks andererseits vermittelte war eine extrem langweilige weil nur in Nuancen abweichende immer gleiche Arbeit. Das war auch der Grund, warum die Variante mit Quarkus bisher nur eine minimale Anzahl an Generatoren anbot und auch die Variante mit Javalin nur eine Untermenge umfasste.

Ich erzeugte daher eine neue Annotation und einen dazu passenden Annotation-Prozessor, der es mir erlaubt, diesen Zwischen-Code auf Knopfdruck zu erzeugen.

Die beiden Projekte können immer noch unmittelbar in Docker integriert werden: Mit einem einfachen docker-compose up lassen sich beide Projekte in ein Docker-Image überführen und starten. Für Einbinden in Traefik sind im Dockerfile bereits Vorkehrungen getroffen, die nur noch leicht angepasst werden müssen.

Artikel, die hierher verlinken

Neue Generatoren für JSON, iCal und vCard

30.12.2020

Nachdem ich vor einiger Zeit meinen Testdatengenerator um einen Builder für beliebige JSON-Strukturen erweitert hatte habe ich nun die beiden auf GitHub veröffentlichten Microservice-Container zur Testdaten-Generierung basierend auf javalin und Quarkus um neue Generatoren erweitert, die die Flexibilität demonstrieren sollen.

NullPointer in FontConfig in Alpine-Java-Docker

30.08.2020

Ich habe nach zwei Tagen herumprobieren doch wieder ein Ticket auf GitHub eröffnet.

Testdaten für ein XML Schema generieren

01.05.2020

Ich suche immer wieder nach neuen Ideen, möglichst einfach problemangepasste Testdaten zu erzeugen. Diesmal habe ich damit begonnen, XML-Dokumente zu erzeugen, die einem vorgegebenen XML-Schema genügen sollten

Dynamische Gitlab Badges IV

07.12.2019

Die in den vorhergegangenen Artikeln beschriebene Idee, Badges für Gitlab zu erzeugen mündete nun endlich in ein Github-Projekt...

Alle Artikel rss Wochenübersicht Monatsübersicht Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Fährnisse des Buildprozesses unter Windows

    17.07.2019

    Nachdem ich begonnen hatte, mich mit der Beschleunigung der Berechnung des Mandelbrot-Fraktals unter Zuhilfenahme der Shadereinheiten in Graphikkarten zu beschäftigen und erste Erfolge feiern konnte, wollte ich das mal auf einer richtigen Graphikkarte ausprobieren...

    Weiterlesen...

Neueste Artikel

  • Datenvalidierung UTF8 mit BiDi-Steuerzeichen (TrojanSource 2.0)

    Ich bin heute nochmal inspiriert worden, weiter über die Trojan Source Vulnerability nachzudenken. Meiner Meinung nach bestehen hier noch Probleme - speziell bei Nutzereingaben oder Daten, die über externe Schnittstellen ampfangen werden.

    Weiterlesen...
  • OpenStreetMap Navi als Docker-Container

    Ich habe die auf OpenStreetMap basierende OpenSource Navigationslösung Graphhopper in einen Docker-Container gepackt und als neuestes Mitglied in meinem Docker-Zoo willkommen geheißen.

    Weiterlesen...
  • SQL-Aggregatfunktionen in SQLite als BeanShell-Scripts

    Ich habe neulich über eine Möglichkeit berichtet, SQLite mittels der sQLshell und Beanshell-Skripten um SQL-Funktionen zu erweitern. In diesem Artikel versprach ich auch, über eine solche Möglichkeit für Aggregatfunktionen zu berichten.

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muß damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.