@Override
    public Space get() throws BackgroundException {
        try {
            final Path home = new DefaultHomeFinderService(session).find();
            if(!home.isRoot()) {
                if(SDSQuotaFeature.unknown == home.attributes().getQuota()) {
                    log.warn(String.format("No quota set for node %s", home));
                }
                else {
                    return home.attributes().getQuota();
                }
            }
            final CustomerData info = new UserApi(session.getClient()).requestCustomerInfo(StringUtils.EMPTY);
            return new Space(info.getSpaceUsed(), info.getSpaceLimit() - info.getSpaceUsed());
        }
        catch(ApiException e) {
            throw new SDSExceptionMappingService(nodeid).map("Failure to read attributes of {0}", e,
                new Path(String.valueOf(Path.DELIMITER), EnumSet.of(Path.Type.volume, Path.Type.directory)));
        }
    }
@Test
    public void testRoom() throws Exception {
        final SDSNodeIdProvider nodeid = new SDSNodeIdProvider(session);
        final Path room = new SDSDirectoryFeature(session, nodeid).mkdir(
                new Path(new AlphanumericRandomStringService().random(), EnumSet.of(Path.Type.directory, Path.Type.volume)), new TransferStatus());
        final Quota.Space quota = new SDSQuotaFeature(session, nodeid).get();
        assertNotNull(quota.available);
        assertNotNull(quota.used);
        new SDSDeleteFeature(session, nodeid).delete(Collections.singletonList(room), new DisabledLoginCallback(), new Delete.DisabledCallback());
    }