Seed oder API-Aufrufe zum Erstellen von Testbenutzern

Bei meiner Entwicklung und Tests führe ich eine Discourse-Instanz aus (Docker Discourse von Bitnami), die den Großteil meiner API-Tests für unseren API-Dienst erfüllt, der mit Discourse kommuniziert. Nun muss ich jedoch die Suche über /u/search/users.json?term=and testen und möchte ein paar Benutzer in diesen lokalen Discourse-Testdienst einspielen. Standardmäßig gibt es nur einen Benutzer mit dem Namen „user".

Die API-Dokumentation scheint keine API-Aufrufe dafür zu erklären, was einfach wäre. Gibt es etwas, das ich übersehen habe, mit dem ich einfach mehrere Benutzer für Tests erstellen kann?

Zusätzlich dazu: Ich habe manuelle Anfragen an unseren live-geführten, kostenpflichtigen Discourse-Dienst gesendet, und das funktioniert. Ich möchte jedoch gegen unsere Entwicklungs-/Testinstanz testen, und dafür benötige ich weitere Testbenutzer.

Vielen Dank.

Erlaubt Bitnami den Zugriff auf die Kommandozeile des Discourse-Einrichtungsordners?

Wenn ja, dann schau dir das hier an:

Danke @fzngagan, leider ist der Bitnami-Discourse nicht mit Launcher installiert. Was genau macht enter app? Ich dachte, ich könnte einfach bundle exec rake admin:create ausführen, aber das ergibt…

rake aborted!
LoadError: cannot load such file -- byebug
/opt/bitnami/discourse/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:82:in `require'
/opt/bitnami/discourse/config/application.rb:37:in `<top (required)>'
/opt/bitnami/discourse/Rakefile:5:in `require'
/opt/bitnami/discourse/Rakefile:5:in `<top (required)>'
/opt/bitnami/discourse/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'
/opt/bitnami/ruby/bin/bundle:23:in `load'
/opt/bitnami/ruby/bin/bundle:23:in `<main>'
(Vollständigen Trace durch Ausführen der Aufgabe mit --trace einsehen)

Das sah vielversprechend aus, aber ich bin wieder bei Null. :frowning:

Könntest du die unterstützte offizielle Discourse-Installation verwenden?

Wir benötigen eine Reihe von Diensten in unserer Entwicklungsumgebung und ziehen es vor, alles zusammen mit Discourse und allen seinen Modulen sowie die Definition und Steuerung der Vernetzung zwischen allen Diensten mit einem einzigen Befehl docker-compose up zu starten und alles wieder mit down herunterzufahren. Dies vermeidet den zusätzlichen Schritt, den Launcher bei einer neuen Installation unserer Entwicklungsumgebung hinzuzufügen.

OK, gelöst. Für diejenigen, die eine Bitnami-Discourse-Docker-Compose-Installation (Docker) für die Entwicklung nutzen, hier die Schritte, die ich verwendet habe (unter Anleitung von dem, was @fzngagan erwähnt hat):

> docker exec -it <dein Containername> /bin/bash

Im Container…

> export RAILS_ENV=production

Ich bin mir nicht sicher, welche Auswirkungen dies auf das Logging haben wird, und vielleicht hätte ich =dev oder development versuchen sollen… also etwas, das ihr melden könnt, aber ich habe es eilig, sorry

> bundle exec rake admin:create

Beantworte die Fragen; das Passwort muss den Discourse-Regeln entsprechen, sonst beginnt das Skript von vorne

Hinweis: Es ist nicht notwendig, ./Launcher zu verwenden, wie in dem von @fzngagan erwähnten Link angegeben.

Es ist bedauerlich, dass dies nicht über die API verfügbar ist, wenn Discourse auf eine Dev- oder Test-Umgebung eingestellt wäre, da dies das Testen und die Entwicklung für API-Dienste, die dies nutzen möchten, erheblich vereinfachen würde. Ich werde jedoch vorerst mit der Befehlszeile in der Docker-Instanz leben.

Zusätzlicher Hinweis: > export RAILS_ENV=production (Einstellung auf production) scheint keine Auswirkungen auf die Discourse-Protokollierungsinformationen zu haben. Da ich jedoch nach dieser Änderung nicht docker-compose neu gestartet habe, muss ich möglicherweise die Umgebungsvariable löschen oder auf development, dev oder ähnliches setzen.