Commit e818e70e by Javier

Versión Mixta Selenium API

parent 86da9baa
MAGNUS_HOST = 'http://192.168.2.56/mbilling' MAGNUS_HOST = 'http://192.168.2.84/mbilling'
API_KEY = 'VZvFS9QBDa4WqsIHF1IKChDKOVuy8uzo' API_KEY = 'FxMqVFWMztbigCeZlFupGULLh6LRaLs8'
API_SECRET = 'eBy8Cuwc29z490gvmU7BZmpvUWdfehFl' API_SECRET = 'rguvK0sNZMki5yWtv4RKONMJo1Hd9jiX'
\ No newline at end of file \ No newline at end of file
MAGNUS_HOST = 'http://192.168.2.56/mbilling'
API_KEY = 'VZvFS9QBDa4WqsIHF1IKChDKOVuy8uzo'
API_SECRET = 'eBy8Cuwc29z490gvmU7BZmpvUWdfehFl'
\ No newline at end of file
...@@ -4,14 +4,21 @@ include 'api.php'; ...@@ -4,14 +4,21 @@ include 'api.php';
// ARGUMENTOS: DID // ARGUMENTOS: DID
if (isset($argv[1])) { if (isset($argv[1])) {
$result = $magnusBilling->create('did', [
"did" => $argv[1],
]);
if ($result['success'] == 1) { $did_id = $magnusBilling->getId('did', 'did', $argv[1]);
print("[201] OK id=" . $result['rows'][0]['id']);
if (isset($sip_id)) {
print("[200] OK id=" . $did_id);;
} else { } else {
print("[409] ERROR Ya existe una cuenta con mismo usuario."); $result = $magnusBilling->create('did', [
"did" => $argv[1],
"activated" => "1"
]);
if ($result['success'] == 1) {
print("[201] OK id=" . $result['rows'][0]['id']);
} else {
print("[409] ERROR Ya existe una cuenta con mismo usuario.");
}
} }
} else { } else {
print("[404] ERROR No se han introducido todos los parámetros necesarios."); print("[404] ERROR No se han introducido todos los parámetros necesarios.");
......
<?php
include 'api.php';
// ARGUMENTOS: USER PASSWORD PBX
if (isset($argv[1]) && isset($argv[2])) {
$data = [
"id_user" => $magnusBilling->getId('user', 'username', $argv[1]),
"name" => $argv[1],
"callerid" => $argv[1],
"secret" => $argv[2]
];
if(isset($argv[3])) {
$data["host"] = $argv[3];
$data["insecure"] = "invite,port";
}
$sip_id = $magnusBilling->getId('sip', 'name', $argv[1]);
if ($sip_id == null) {
$result = $magnusBilling->create('sip', $data);
} else {
$result = $magnusBilling->update('sip', $sip_id, $data);
}
if ($result['success'] == 1) {
print("[201] OK id=" . $result['rows'][0]['id']);
} else {
print_r($result);
}
} else {
print("[404] ERROR No se han introducido todos los parámetros necesarios.");
}
...@@ -4,23 +4,30 @@ include 'api.php'; ...@@ -4,23 +4,30 @@ include 'api.php';
// ARGUMENTOS : USERNAME PASSWORD NOMBRE APELLIDOS // ARGUMENTOS : USERNAME PASSWORD NOMBRE APELLIDOS
if (isset($argv[1]) && isset($argv[2]) && isset($argv[3]) && isset($argv[4])) { if (isset($argv[1]) && isset($argv[2]) && isset($argv[3]) && isset($argv[4])) {
$result = $magnusBilling->create('user', [ $user_id = $magnusBilling->getId('user', 'username', $argv[1]);
'username' => $argv[1],
'password' => $argv[2] . strval(rand(100, 999)),
'active' => '1',
'firstname' => strtoupper($argv[3]),
'lastname' => strtoupper($argv[4]),
'callingcard_pin' => strval(rand(1000, 9999)),
'id_group' => 3,
'id_plan' => 1,
'credit' => 0,
]);
if ($result['success'] == 1) { if (isset($user_id)) {
print("[201] OK id=". $result['rows'][0]['id']); print("[201] OK id=" . $user_id);
} else { } else {
print("[409] ERROR Ya existe una cuenta con mismo usuario."); $result = $magnusBilling->create('user', [
} 'username' => $argv[1],
'password' => $argv[2] . strval(rand(100, 999)),
'active' => '1',
'firstname' => strtoupper($argv[3]),
'lastname' => strtoupper($argv[4]),
'callingcard_pin' => strval(rand(1000, 9999)),
'id_group' => 3,
'id_plan' => 1,
'credit' => 0,
]);
if ($result['success'] == 1) {
print("[201] OK id=". $result['rows'][0]['id']);
} else {
print("[409] ERROR Ya existe una cuenta con mismo usuario.");
}
}
} else { } else {
print("[404] ERROR No se han introducido todos los parámetros necesarios."); print("[404] ERROR No se han introducido todos los parámetros necesarios.");
} }
......
...@@ -59,3 +59,4 @@ def create_account(nombre : str, telefono : str, id_cliente : int, email : str = ...@@ -59,3 +59,4 @@ def create_account(nombre : str, telefono : str, id_cliente : int, email : str =
create_account(tarifa=Tarifa.ESTANDAR,nombre="Cliente",telefono="856856856",id_cliente=256452,email="pruebas@pruebas.es") create_account(tarifa=Tarifa.ESTANDAR,nombre="Cliente",telefono="856856856",id_cliente=256452,email="pruebas@pruebas.es")
e
\ No newline at end of file
import numbers
from operator import sub
import subprocess import subprocess
from pathlib import Path from pathlib import Path
import re
from unittest import result
import requests
mbapi_path = Path('D:\Proyectos\scrapper-portabilidad\magnus-api') mbapi_path = Path('D:\Proyectos\scrapper-portabilidad\magnus-api')
succesful = re.compile(r'^\[20\d\]')
def _add_user_account(phone_number : str, password : str, name : str, surname : str):
result = subprocess.run(['php', Path(mbapi_path, 'create_user.php'), phone_number, password, name, surname])
print(result)
def create_user(phone_number : str, password : str, name : str, surname : str, balance : float = 0.0): class MagnusCommandError(Exception):
pass
def _create_user(phone_number: str, password: str, name: str, surname: str):
"""Genera una cuenta de usuario en MagnusBilling
"""
result = subprocess.check_output(
['php', Path(mbapi_path, 'create_user.php'),
phone_number, password, name, surname]
)
if not re.match(succesful, result.decode(encoding='utf-8')):
raise MagnusCommandError(result.decode(encoding='utf-8'))
def _create_sip(phone_number: str, password: str, pbx: str = None):
command = ['php', Path(mbapi_path, 'create_sip.php'),
phone_number, password]
if pbx:
command.append(pbx)
result = subprocess.check_output(command)
if not re.match(succesful, result.decode(encoding='utf-8')):
raise MagnusCommandError(result.decode(encoding='utf-8'))
def _create_did(phone_number: str):
"""Genera un DID
"""
for did in (phone_number, f'34{phone_number}'):
result = subprocess.check_output(
['php', Path(mbapi_path, 'create_did.php'), did]
)
result = subprocess.check_output(
['php', Path(mbapi_path, 'assign_did.php'), phone_number, did]
)
if not re.match(succesful, result.decode('utf-8')):
raise MagnusCommandError(result.decode('utf-8'))
def create_user(phone_number: str, name: str, surname: str, password: str = None, pbx: str = None, balance: float = 0.0):
"""Crea a un nuevo usuario en MagnusBilling """Crea a un nuevo usuario en MagnusBilling
"""
password = password if password else ''.join(
(name.split(' ')[0].lower(), phone_number[4:6]))
_create_user(phone_number, password, name, surname)
_create_sip(phone_number, password, pbx)
_create_did(phone_number)
response = {'number': phone_number}
if pbx:
response['outgoing'] = f'type = friend\nusername = {phone_number}\nhost = 192.168.2.84\nnat = force_rport, comedia\nqualify = yes\ninsecure = invite, port'
response['incoming'] = 'type = friend\nhost = 192.168.2.84\nnat = force_rport, comedia\nqualify = yes\ninsecure = invite, port'
else:
response['password'] = phone_number
return response
def add_trunk_account(pbx: str, username: str, password: str):
"""Añade la troncal a una Centralita
""" """
base = pbx if re.match(r'^https:/.*$', pbx) else f'https://{pbx}'
with requests.Session() as s:
r = s.post(
url=base,
verify=False,
data={
'input_user': 'admin',
'input_pass': 'Mur5cKUBatdw',
'submit_login': ''
}
)
r = s.get(
url=f'{base}/config.php?display=trunks&tech=SIP'
)
print(r.content)
_add_user_account(phone_number,password,name,surname)
account = {
'number': '956385412',
'name': 'AkunaDecor',
'surname': 'Interiorismo S.L.',
'pbx': '192.168.2.54'
}
create_user('856132067', 'test', 'nombre', 'apellido')
user = create_user(phone_number = account['number'], name = account['name'], surname = account['surname'], pbx= account['pbx'])
print(f'url: {account["pbx"]}')
print('--------')
print(user['number'])
print('--------')
print(user['outgoing'])
print('--------')
print(user['incoming'])
print('--------')
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment