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)
Example #2
0
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