-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement discourse API #1
Comments
Pour test test je t'ai mis un début de test unitaire dans le premier commit, il te suffit de le lancer et ça appelle le connecteur. |
comment je lance les tests unitaires? |
Maven les lance automatiquement quand tu build avec |
J'ai cette erreur:
|
Ha oui j'ai oublié qu'il faut le repo de XWiki dans ton settings.xml. Je vais l'ajouter dans le pom, ce sera plus simple. |
Devrait aller mieux la. |
J'ai un log très verbeux et très long quand je fais Ya pas moyen de lancer juste les tests? |
Sinon je suppose que je récupère l'url grâce à ça: https://github.com/atelierdesmedias/usersync/blob/master/usersync-connectors/usersync-connector-discourse/src/main/java/org/xwiki/contrib/usersync/discourse/internal/DiscourseUserSyncConnector.java#L42-L44 Où dois-je le spécifier? |
Enfin quelle est la meilleure façon d'utiliser cette librairie? https://github.com/zeusbaba/discourse-api-client J'affectionne les submodules mais je comprends pas comment les utiliser. J'ai aussi testé https://jitpack.io/ sans succès: https://pastebin.com/31aXbvRY |
Dans le contexte de XWiki le composant |
Tu est sur que tu veut utiliser ça ? La dernière version est très ancienne et même à l'époque c'était manifestement une version relativement alpha a en juger par son nom et status. franchement a priori ça ne devrait pas être compliqué de manipuler l'API avec un truc un peu plus générique du genre gson qui est utilisé par cette lib (et il y as plein d'autre lib REST+JSON générique actives et maintenues depuis le temps). En règle générale l'idéal pour un projet Maven ou Gradle (90% des projets Java à jour quoi) c'est d'ajouter dans le descripteur du projet les dépendences mais pour ça il faut que cette dep soit présente dans un repo Maven ce qui n'est pas le cas du truc que tu as trouvé malheureusement mais si cette lib marche bien je l'ajouterait dans le repo Maven de XWiki. En attendant tu peu simplement l'installer localement pour tes tests histoire que Maven le trouve quand tu build, regarde https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html. |
Non pas du tout, c'est juste le premier truc que j'ai trouvé sur google et effectivement c'est pas sûr que ce soit super compatible avec notre version de Discourse. As-tu une librairie REST+JSON déjà dans le repo maven d'Xwiki à me conseiller? |
Pas besoin de te préoccuper de ça, prend plutôt Maven central comme référence mais en règle générale une lib Java active sera sur Maven central. En ce qui concerne en conseiller une la dernière fois que j'ai fait du REST je l'ai fait "à la main" à coup de HTTP client et parseur JSON alors je ne sais pas trop ce qui est la référence du genre en ce moment. retrofit et jersey on l'air sympa (tous les deux très actifs et dispo sur Maven central) |
Ok je t'avoue que je ne veux pas me lancer dans un truc à la main ni bencher toutes les librairies existantes. Je vais partir sur retrofit pour tout un tas de raison:
Pourrais-tu juste l'ajouter dans la dépendance de retrofit? |
Il a juste bougé sur https://github.com/eclipse-ee4j/jersey manifestement.
Tu as le truc à ajouter dans le pom sur https://square.github.io/retrofit/#download. |
Peux-tu m'en dire plus? Je voudrais mettre l'url et la clé d'api dans un fichier non versionné pour pas publier ça sur github. |
Il n'y as rien de spécial pour les tests. J'imagine que le plus simple est dans beforeEach de charger un fichier properties et d'injecter ce qu'il contiens dans le MemoryConfigurationSource dont je t'ai parlé. Tu peut utiliser la classe Properties pour loader ce fichier. |
ok je vais faire simple en évitant juste de commiter la clé d'api en dur dans la version locale. |
Je sais pas si tu as vu, j'ai lancé des reviews ici: https://github.com/atelierdesmedias/usersync/pull/2/files |
@tmortagne Ca m'a l'air niquel!
Petite question: je vais me faire un script bidon pour mes tests. Pourrais-tu me faire un petit exemple que je puisse invoquer en ligne de commande?
Exemple:
Puis:
C'est sans doute bourré de faute ce que je te propose mais c'est une base de ce dont j'aurais besoin pour avancer.
The text was updated successfully, but these errors were encountered: