def test_getters_service(user_client): user_client.post( '/update/NapalmGettersService', data=getters_dict ) assert len(fetch_all('NapalmGettersService')) == 5
def test_getters_service(user_client): user_client.post('/automation/save_service/napalm_getters_service', data=getters_dict) assert len(fetch_all('napalm_getters_service')) == 5
def test_ansible_services(user_client): user_client.post('/automation/save_service/ansible_playbook_service', data=ansible_service) assert len(fetch_all('ansible_playbook_service')) == 1 assert len(fetch_all('Service')) == 19
def get_status(): return [task.status for task in fetch_all('Task')]
def get_cluster_status(): instances = fetch_all('Instance') return { attr: [getattr(instance, attr) for instance in instances] for attr in ('status', 'cpu_load') }
def test_create_logs(user_client): for log in (log1, log2): log_object = Log('192.168.1.88', log) db.session.add(log_object) db.session.commit() assert len(fetch_all('Log')) == 2
def poller_service(self, payload: dict) -> dict: for service in fetch_all("Service"): if getattr(service, "configuration_backup_service", False): service.try_run() return {"success": True}
def poller_service(self, _): for service in fetch_all('Service'): if getattr(service, 'configuration_backup_service', False): service.try_run() return {'success': True}
def get_cluster_status() -> dict: instances = fetch_all("Instance") return { attr: [getattr(instance, attr) for instance in instances] for attr in ("status", "cpu_load") }
def test_getters_service(user_client: FlaskClient) -> None: user_client.post("/update/NapalmGettersService", data=getters_dict) assert len(fetch_all("NapalmGettersService")) == 5
def test_ansible_services(user_client: FlaskClient) -> None: user_client.post("/update/AnsiblePlaybookService", data=ansible_service) assert len(fetch_all("AnsiblePlaybookService")) == 1 assert len(fetch_all("Service")) == 25
def test_object_creation_type(user_client: FlaskClient) -> None: create_from_file(user_client, "device_counters.xls") assert len(fetch_all("Device")) == 27 assert len(fetch_all("Link")) == 0
def test_object_creation_europe(user_client: FlaskClient) -> None: create_from_file(user_client, "europe.xls") assert len(fetch_all("Device")) == 33 assert len(fetch_all("Link")) == 49
def reset_status(): for job in fetch_all('Job'): job.status = 'Idle' db.session.commit() return True
def get_logs(device_id: int) -> Union[str, bool]: device_logs = [ log.content for log in fetch_all("Log") if log.source == fetch("Device", id=device_id).ip_address ] return "\n".join(device_logs) or True
def reset_status() -> bool: for job in fetch_all("Job"): job.status = "Idle" db.session.commit() return True
def update_pools(): for pool in fetch_all('Pool'): pool.compute_pool() db.session.commit() return jsonify(True)
def test_object_creation_europe(user_client): create_from_file(user_client, 'europe.xls') assert len(fetch_all('Device')) == 33 assert len(fetch_all('Link')) == 49
def get_counters(property, type): objects = fetch_all(type) if property in reverse_pretty_names: property = reverse_pretty_names[property] return jsonify(Counter(map(lambda o: str(getattr(o, property)), objects)))
def test_object_creation_type(user_client): create_from_file(user_client, 'device_counters.xls') assert len(fetch_all('Device')) == 27 assert len(fetch_all('Link')) == 0
def test_netmiko_napalm_config(user_client): create_from_file(user_client, 'europe.xls') user_client.post('/update/task', data=instant_task) assert len(fetch_all('Task')) == 3 user_client.post('/update/task', data=scheduled_task) assert len(fetch_all('Task')) == 4
def get_logs(device_id): device_logs = [ log.content for log in fetch_all('Log') if log.source == fetch('Device', id=device_id).ip_address ] return jsonify('\n'.join(device_logs) or True)
def database_filtering(pool): pool_objects = {'Device': pool.devices, 'Link': pool.links} for obj_type in ('Device', 'Link'): for obj in fetch_all(obj_type): setattr(obj, 'hidden', obj not in pool_objects[obj_type]) db.session.commit()
def test_rest_api_basic(user_client: FlaskClient) -> None: assert len(fetch_all("Device")) == 28 post( "http://192.168.105.2:5000/rest/instance/device", json={ "name": "new_router", "model": "Cisco" }, auth=HTTPBasicAuth("admin", "admin"), ) assert len(fetch_all("Device")) == 29 result = get( "http://192.168.105.2:5000/rest/instance/device/Washington", auth=HTTPBasicAuth("admin", "admin"), ).json() assert result["model"] == "Arista" and len(result) == 20 post( "http://192.168.105.2:5000/rest/instance/device", json={ "name": "Washington", "model": "Cisco" }, auth=HTTPBasicAuth("admin", "admin"), ) result = get( "http://192.168.105.2:5000/rest/instance/device/Washington", auth=HTTPBasicAuth("admin", "admin"), ).json() assert result["model"] == "Cisco" and len(result) == 20 result = get( "http://192.168.105.2:5000/rest/instance/service/get_facts", auth=HTTPBasicAuth("admin", "admin"), ).json() assert result["description"] == "Getter: get_facts" and len(result) == 30 put( "http://192.168.105.2:5000/rest/instance/service", json={ "name": "get_facts", "description": "Get facts" }, auth=HTTPBasicAuth("admin", "admin"), ) result = get( "http://192.168.105.2:5000/rest/instance/service/get_facts", auth=HTTPBasicAuth("admin", "admin"), ).json() assert result["description"] == "Getter: get_facts" and len(result) == 30 assert len(fetch_all("Service")) == 24 result = post( "http://192.168.105.2:5000/rest/instance/service", json={ "name": "new_service", "vendor": "Cisco" }, auth=HTTPBasicAuth("admin", "admin"), ).json() assert result["vendor"] == "Cisco" and len(fetch_all("Service")) == 25 assert len(fetch_all("Workflow")) == 5 result = post( "http://192.168.105.2:5000/rest/instance/workflow", json={ "name": "new_workflow", "description": "New" }, auth=HTTPBasicAuth("admin", "admin"), ).json() assert result["description"] == "New" and len(fetch_all("Workflow")) == 6