Intégration de Free Mobile

Feature description

Suite a mon intervention dans ce sujet Envoyer des SMS avec Gladys Plus Je propose de pouvoir intégrer directement Free Mobile (a la façon Gladys, donc avec simplicité).

Je sais qu’actuellement, il est possible de le faire via Node Red ou via les appels HTTP.

A vos avis et votes

Très bonne idée ! :+1:

1 Like

Pour m’entraîner à coder, j’ai codé l’intégration SMS avec Free Mobile

image

Et l’ajout d’une nouvelle action Envoyer un sms dans les scènes
image

Chez moi c’est fonctionnel. Voici une image pour ceux qui utilisent Free Mobile et qui veulent tester:

willde71/gladys-test:free-mobile-sms

@pierre-gilles, voila la PR, dans l’attente de ton retour.

5 Likes

Génial @_Will_71 :slight_smile: Je me suis permis de déplacer ton post ici vu que c’était plus en lien avec cette demande !

Je ne suis pas client free mobile donc je ne pourrais pas tester, preneur de testeurs déjà et ensuite je te ferais une review technique !

2 Likes

Bonjour à vous,

@_Will_71 Je viens de tester ton développement, c’est super !!
J’ai pas eu de soucis dans l’utilisation, avec des scènes, en passant des variables ou non.

Beau travail :blush:

La seule chose que je pourrais redire, c’est le champ « Clé d’identification au service » à mettre en type password je pense.

1 Like

Merci du retour.

Pour la clé je me suis basé sur les autres intégrations et elles ne sont pas du type password non plus.

Mais je peux le modifier

2 Likes

Le seul souci de passer en champ « password » c’est que du coup ensuite les autocomplete viennent remplacer la data dedans automatiquement par ton mot de passe Gladys

Firefox est d’ailleurs le pire avec ça, il ne respecte pas le « autocomplete=off » et du coup il faut faire des astuces un peu sales pour l’empêcher de mettre le mot de passe partout ^^

Du coup oui c’est bien de mettre en password, mais si c’est mal fait ça créé plus de problèmes que ça en résout ^^

@_Will_71 Je sais pas si tu as vu mais les tests ne passent pas sur Github :slight_smile:

Oui j’ai vu, j’ai pas encore compris pourquoi car en locale sur mon pc les tests passent

1 Like

En local tu fais tourner tous les tests ou juste les tests sur freemobile en .only ?

Edit: J’ai testé chez moi dans les deux cas, et ça passe bien sur ta PR :

Screenshot 2024-11-09 at 10.16.35

Sauf que sur le CI tout est plus lent, donc c’est possible que côté CI la fonction send() resolve alors qu’en fait le call API n’est pas fini, à voir si le code est bien bon là dessus

Quand je suis en train de d’écrire les tests je fait en .only
image

Sinon je relance sans le .only quand j’ai fini.
image

Je regarderais dans le code dès que je peux.

1 Like

Ok tiens moi au courant, et n’hésite pas si tu as besoin d’aide

@pierre-gilles , j’ai besoin de ton aide car je ne comprends pas.
J’ai apporté des corrections et j’ai toujours des erreurs et les tests serveur ne passent pas.

Mais cette fois-ci voilà ce que j’obtient directement sur GitHub:
Les test de l’intégration OK
Capture d’écran du 2024-11-11 22-46-16

Le coverage est OK

Mais il y a 10 erreurs lié à NetAtmo

Il y a surement quelque chose mais la je ne voit pas. Si tu pouvais m’aiguiller. Merci d’avance.

@Terdious déjà eu ces soucis avec l’intégration Netatmo ?

Je ne pense pas que cela provient de l’integration Netatmo car j’ai remarqué dans chaque erreur qu’il y a une ligne lié à mon fichier de test.

image

Salutation à vous 2 !
Alors non mais oui ^^ de souvenir j’avais eu des grosses galeres avec les reinitialisations et les delais écoulés dans les tests. Mais je ne sais plus si c’etait sur cette partie.
Peut-être que @_Will_71 en à le meme usage et que ca impact l’autre… ou c’est moi qui avait mal fait … j’avoue que comme ça je ne saurais dire.

N’hésitez pas à me dire si besoin, je prendrais le temps de remonter mon PC de dev si il y a un kwak de mon côté (pas encore terminé les travaux, mais ca avance ^^)

Salut @_Will_71, je peux regarder vendredi si tu veux :slight_smile:

Est-ce que tu as pu résoudre ce souci depuis ?

Je veux bien que tu regardes et m’aiguille un peu.
J’ai essayé de faire des choses mais je ne suis arrivé à résoudre le problème.
Je ne suis pas encore à l’aise avec les tests alors j’ai surement un problème de réinitialisation quelque part.

@_Will_71 J’ai rebase ta branche, et j’ai testé en local, j’ai pas eu le souci, on va voir ce que ça donne sur le CI :slight_smile:

Edit: Bon l’erreur est toujours là

Ok je pense savoir ce que c’est, les deux intégrations mettent en place le même stub et donc ça coince. Il faut créer une sandbox pour éviter que ça pollue d’autres tests :

Exemple:

const sinon = require('sinon');

let sandbox;

beforeEach(() => {
    sandbox = sinon.createSandbox();
});

afterEach(() => {
    sandbox.restore();
});

it('should test something', () => {
    const stub = sandbox.stub(SomeObject, 'someMethod');
    // Test code...
});
2 Likes

@_Will_71 c’est bon j’ai fixé ta PR :slight_smile:

Est-ce que tu peux faire une PR sur la documentation ?

J’ai juste un mini commentaire sur la PR, il manque un placeholder: add new integration Free Mobile SMS by William-De71 · Pull Request #2157 · GladysAssistant/Gladys · GitHub

Ensuite ça sera bon pour moi pour que ça parte !

@Terdious est-ce que à l’occasion tu pourras corriger les tests Netatmo pour utiliser une sandbox ? ça évitera de casser d’autres tests dans d’autres PR à l’avenir :slight_smile:

2 Likes