def test_save_multiple_host(self, table, repo, host1_data, host2_data): hosts = [Host(**host1_data), Host(**host2_data)] for host in hosts: repo.save(host) hosts_from_persistence = repo.all() assert len(hosts) == 2 for host, host_from_persistence in zip(hosts, hosts_from_persistence): for key in host1_data.keys(): assert getattr(host, key) == getattr(host_from_persistence, key)
def host_model_2_host(host_model: HostModel): return Host(**_extract_properties(host_model, 'id', 'name', 'detail', 'address'), services=[ service_model_2_service(service) for service in host_model.services ])
def test_delete(self, table, host_repo, service_repo, host_data, service1_data, service2_data): host_repo.save(Host(**host_data)) service = Service(**service1_data) service_repo.save(host_repo.all()[0].id, service) service_id = host_repo.all()[0].services[0].id service_repo.delete(service_id) assert len(host_repo.all()[0].services) == 0
def test_save_one_host(self, table, repo, host1_data, host2_data): host = Host(**host1_data) repo.save(host) hosts_from_persistence = repo.all() assert len(hosts_from_persistence) == 1 host_from_persistence = hosts_from_persistence[0] for key in host1_data.keys(): assert getattr(host, key) == getattr(host_from_persistence, key)
def test_save_modified_host(self, table, repo, host1_data, host2_data): host = Host(**host1_data) repo.save(host) hosts_from_persistence = repo.all() assert len(hosts_from_persistence) == 1 host.name, host.detail, host.address = host2_data['name'], host2_data[ 'detail'], host2_data['address'] repo.save(host) hosts_from_persistence = repo.all() assert len(hosts_from_persistence) == 1 host_from_persistence = hosts_from_persistence[0] for key in host2_data.keys(): if key == 'id': assert host1_data['id'] == host_from_persistence.id else: assert host2_data[key] == getattr(host_from_persistence, key)
def test_model_to_entity(self, service_data, host_data): service = Service(**service_data) service_model = ServiceModel(**service_data) host = Host(**host_data, services=[service]) host_model = HostModel(**host_data, services=[service_model]) converted = host_model_2_host(host_model) for key in host_data.keys(): assert getattr(converted, key) == getattr(host, key) assert len(converted.services) == 1 for key in service_data.keys(): assert getattr(converted.services[0], key) == getattr(service, key)
def test_save_modified_service(self, table, host_repo, service_repo, host_data, service1_data, service2_data): host_repo.save(Host(**host_data)) host_from_persistence = host_repo.all()[0] service = Service(**service1_data) service_repo.save(host_from_persistence.id, service) assert len(host_repo.all()[0].services) == 1 service.name, service.detail, service.port = service2_data['name'], \ service2_data['detail'], \ service2_data['port'] service_repo.save(host_from_persistence.id, service) services_from_persistence = host_repo.all()[0].services assert len(services_from_persistence) == 1 service_from_persistence = services_from_persistence[0] for key in service2_data.keys(): if key == 'id': assert service1_data['id'] == service_from_persistence.id else: assert service2_data[key] == getattr(service_from_persistence, key)
def test_save_service(self, table, host_repo, service_repo, host_data, service1_data, service2_data): host_repo.save(Host(**host_data)) host_from_persistence = host_repo.all()[0] service1 = Service(**service1_data) service2 = Service(**service2_data) service_repo.save(host_from_persistence.id, service1) service_repo.save(host_from_persistence.id, service2) host_from_persistence = host_repo.all()[0] services_from_persistence = host_from_persistence.services assert len(services_from_persistence) == 2 service1_from_persistence = services_from_persistence[0] for key in service1_data.keys(): assert getattr(service1, key) == getattr(service1_from_persistence, key) service2_from_persistence = services_from_persistence[1] for key in service1_data.keys(): assert getattr(service2, key) == getattr(service2_from_persistence, key)
def test_query_by_id(self, table, repo, host1_data): host = Host(**host1_data) repo.save(host) saved_host = repo.host_of_id(host.id) for key in host1_data.keys(): assert getattr(host, key) == getattr(saved_host, key)
def test_delete(self, table, repo, host1_data): host = Host(**host1_data) repo.save(host) repo.delete(repo.all()[0].id) assert len(repo.all()) == 0
def test_fail_add(self, host_repo, service_repo, service_data, expected): host_repo.host_of_id.return_value = Host('fake_1', 'xxx', 'yyy', 'zzz') with pytest.raises(EmptyField) as exc_info: add_service(*service_data) assert exc_info.type is EmptyField assert exc_info.value.field == expected